]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'atlantic-fixes'
authorDavid S. Miller <davem@davemloft.net>
Wed, 11 May 2022 11:25:07 +0000 (12:25 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 May 2022 11:25:07 +0000 (12:25 +0100)
commit5beaacfb14803f83aad7503bc0947e44b3d23d4f
treea976d13be06aee2e681a3ae8fa041dfbcae8e398
parent53fc8a4c89fadcfe360b32582162044b4dd88eaa
parent26c67ec9e49df9feb70d820b485b86af3d2a36ac
Merge branch 'atlantic-fixes'

Grant Grundler says:

====================
net: atlantic: more fuzzing fixes

It essentially describes four problems:
1) validate rxd_wb->next_desc_ptr before populating buff->next
2) "frag[0] not initialized" case in aq_ring_rx_clean()
3) limit iterations handling fragments in aq_ring_rx_clean()
4) validate hw_head_ in hw_atl_b0_hw_ring_tx_head_update()

(1) was fixed by Zekun Shen <bruceshenzk@gmail.com> around the same time with
"atlantic: Fix buff_ring OOB in aq_ring_rx_clean" (SHA1 ed71c55d8da9bb3d).

I've added one "clean up" contribution:
    "net: atlantic: reduce scope of is_rsc_complete"

I tested the "original" patches using chromeos-v5.4 kernel branch:
    https://chromium-review.googlesource.com/q/hashtag:pcinet-atlantic-2022q1+(status:open%20OR%20status:merged)

I've forward ported those patches to 5.18-rc2 and compiled them but am
unable to test them on 5.18-rc2 kernel (logistics problems).

Credit largely goes to ChromeOS Fuzzing team members:
    Aashay Shringarpure, Yi Chou, Shervin Oloumi

V2 changes:
o drop first patch - was already fixed upstream differently
o reduce (4) "validate hw_head_" to simple bounds checking.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>