From: Manuel Ullmann <labre@posteo.de>
To: Thorsten Leemhuis <regressions@leemhuis.info>
Cc: "Manuel Ullmann" <labre@posteo.de>,
"Igor Russkikh" <irusskikh@marvell.com>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
regressions@lists.linux.dev, davem@davemloft.net,
ndanilov@marvell.com, kuba@kernel.org, pabeni@redhat.com,
edumazet@google.com,
"Jordan Leppert" <jordanleppert@protonmail.com>,
"Holger Hoffstätte" <holger@applied-asynchrony.com>,
koo5 <kolman.jindrich@gmail.com>
Subject: Re: [PATCH v3] net: atlantic: always deep reset on pm op, fixing null deref regression
Date: Sat, 07 May 2022 13:10:05 +0000 [thread overview]
Message-ID: <87bkw91ob6.fsf@posteo.de> (raw)
In-Reply-To: 833f2574-daf6-1357-d865-3528436ba393@leemhuis.info
Thorsten Leemhuis <regressions@leemhuis.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@protonmail.com>
>> Reported-by: Holger Hoffstätte <holger@applied-asynchrony.com>
>> Tested-by: Jordan Leppert <jordanleppert@protonmail.com>
>> Tested-by: Holger Hoffstätte <holger@applied-asynchrony.com>
>> Cc: <stable@vger.kernel.org> # 5.10+
>> Signed-off-by: Manuel Ullmann <labre@posteo.de>
>> ---
>> drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Ciao, Thorsten
Regards, Manuel
next prev parent reply other threads:[~2022-05-07 13:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-05 22:09 [PATCH v3] net: atlantic: always deep reset on pm op, fixing null deref regression Manuel Ullmann
2022-05-06 11:48 ` Thorsten Leemhuis
2022-05-07 13:10 ` Manuel Ullmann [this message]
2022-05-07 13:25 ` Thorsten Leemhuis
2022-05-07 14:00 ` Manuel Ullmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bkw91ob6.fsf@posteo.de \
--to=labre@posteo.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=holger@applied-asynchrony.com \
--cc=irusskikh@marvell.com \
--cc=jordanleppert@protonmail.com \
--cc=kolman.jindrich@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ndanilov@marvell.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=regressions@leemhuis.info \
--cc=regressions@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.