lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87bkw91ob6.fsf@posteo.de>
Date:   Sat, 07 May 2022 13:10:05 +0000
From:   Manuel Ullmann <labre@...teo.de>
To:     Thorsten Leemhuis <regressions@...mhuis.info>
Cc:     Manuel Ullmann <labre@...teo.de>,
        Igor Russkikh <irusskikh@...vell.com>,
        linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
        regressions@...ts.linux.dev, davem@...emloft.net,
        ndanilov@...vell.com, kuba@...nel.org, pabeni@...hat.com,
        edumazet@...gle.com, Jordan Leppert <jordanleppert@...tonmail.com>,
        Holger Hoffstätte 
        <holger@...lied-asynchrony.com>, koo5 <kolman.jindrich@...il.com>
Subject: Re: [PATCH v3] net: atlantic: always deep reset on pm op, fixing
 null deref regression

Thorsten Leemhuis <regressions@...mhuis.info> writes:

> On 06.05.22 00:09, Manuel Ullmann wrote:
>>>>From d24052938345d456946be0e9ccc337e24d771c79 Mon Sep 17 00:00:00 2001
>> Date: Wed, 4 May 2022 21:30:44 +0200
>> 
>> The impact of this regression is the same for resume that I saw on
>> thaw: the kernel hangs and nothing except SysRq rebooting can be done.
>> 
>> The null deref occurs at the same position as on thaw.
>> BUG: kernel NULL pointer dereference
>> RIP: aq_ring_rx_fill+0xcf/0x210 [atlantic]
>> 
>> Fixes regression in commit cbe6c3a8f8f4 ("net: atlantic: invert deep
>> par in pm functions, preventing null derefs"), where I disabled deep
>> pm resets in suspend and resume, trying to make sense of the
>> atl_resume_common deep parameter in the first place.
>> 
>> It turns out, that atlantic always has to deep reset on pm operations
>> and the parameter is useless. Even though I expected that and tested
>> resume, I screwed up by kexec-rebooting into an unpatched kernel, thus
>> missing the breakage.
>> 
>> This fixup obsoletes the deep parameter of atl_resume_common, but I
>> leave the cleanup for the maintainers to post to mainline.
>
> FWIW, this section starting here and...
>
>> PS: I'm very sorry for this regression.
>> 
>> Changes in v2:
>> Patch formatting fixes
>> - Fix Fixes tag
>> – Simplify stable Cc tag
>> – Fix Signed-off-by tag
>> 
>> Changes in v3:
>> – Prefixed commit reference with "commit" aka I managed to use
>>   checkpatch.pl.
>> - Added Tested-by tags for the testing reporters.
>> – People start to get annoyed by my patch revision spamming. Should be
>>   the last one.
>
> ...ending here needs should be below the "---" line you already have
> below. For details see:
> https://www.kernel.org/doc/html/latest/process/submitting-patches.html
>
> BTW, same goes for any "#regzbot" commands (like you had in
> cbe6c3a8f8f4), as things otherwise get confused when a patch for example
> is posted as part of a stable/longterm -rc review.
Good to know. Maybe I could patch the handling-regressions documentation
to include this. submitting-patches could also link the subsystem
specific documentation, e.g. the netdev FAQ, since they handle patches
with their more bot tests. Would have helped me a bit. Might be a nice
exercise for properly formatted patching ;)

>
> But don't worry, no big deal, I handled that :-D Many thx for actually
> directly getting regzbot involved and taking care of this regression!

Thank you for the final cleanup and you’re welcome. :) Where did you
handle this? I can’t seem to find the fixup anywhere, i.e. net-next,
net, linux-next or lkml.

I actually took the time and read that and all related documentation
(stable, regressions, coding style) during my vacation a few weeks ago,
but my memory was partially overwritten by less useful (work related)
data. Instead of regression reports induced panic mode, I should have
reread the submitting-patches, especially the last section.

>> Fixes: cbe6c3a8f8f4 ("net: atlantic: invert deep par in pm functions, preventing null derefs")
>> Link: https://lore.kernel.org/regressions/9-Ehc_xXSwdXcvZqKD5aSqsqeNj5Izco4MYEwnx5cySXVEc9-x_WC4C3kAoCqNTi-H38frroUK17iobNVnkLtW36V6VWGSQEOHXhmVMm5iQ=@protonmail.com/
>> Reported-by: Jordan Leppert <jordanleppert@...tonmail.com>
>> Reported-by: Holger Hoffstätte <holger@...lied-asynchrony.com>
>> Tested-by: Jordan Leppert <jordanleppert@...tonmail.com>
>> Tested-by: Holger Hoffstätte <holger@...lied-asynchrony.com>
>> Cc: <stable@...r.kernel.org> # 5.10+
>> Signed-off-by: Manuel Ullmann <labre@...teo.de>
>> ---
>>  drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> Ciao, Thorsten
Regards, Manuel

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ