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] [day] [month] [year] [list]
Message-ID: <9d7115cd7737014e05406d9c965a116943a341d9.camel@kernel.crashing.org>
Date: Fri, 24 May 2024 09:53:08 +1000
From: Benjamin Herrenschmidt <benh@...nel.crashing.org>
To: patchwork-bot+netdevbpf@...nel.org, Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
        pabeni@...hat.com, erhard_f@...lbox.org, robh@...nel.org,
        elder@...nel.org, wei.fang@....com, bhupesh.sharma@...aro.org
Subject: Re: [PATCH net] eth: sungem: remove .ndo_poll_controller to avoid
 deadlocks

On Sat, 2024-05-11 at 01:30 +0000, patchwork-bot+netdevbpf@...nel.org
wrote:
> Hello:
> 
> This patch was applied to netdev/net.git (main)
> by Jakub Kicinski <kuba@...nel.org>:
> 
> On Wed,  8 May 2024 06:45:04 -0700 you wrote:
> > Erhard reports netpoll warnings from sungem:
> > 
> >   netpoll_send_skb_on_dev(): eth0 enabled interrupts in poll
> > (gem_start_xmit+0x0/0x398)
> >   WARNING: CPU: 1 PID: 1 at net/core/netpoll.c:370
> > netpoll_send_skb+0x1fc/0x20c
> > 
> > gem_poll_controller() disables interrupts, which may sleep.
> > We can't sleep in netpoll, it has interrupts disabled completely.
> > Strangely, gem_poll_controller() doesn't even poll the completions,
> > and instead acts as if an interrupt has fired so it just schedules
> > NAPI and exits. None of this has been necessary for years, since
> > netpoll invokes NAPI directly.

Well, I wrote that in 2011 so ... :-) But yeah, sounds good.

Cheers,
Ben.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ