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: <e7262413-f221-964b-8442-9f0d6fa3a4bf@gmail.com>
Date:   Sat, 18 Feb 2017 00:53:12 +0100
From:   Gabriel C <nix.or.die@...il.com>
To:     Cong Wang <xiyou.wangcong@...il.com>
Cc:     lkml <linux-kernel@...r.kernel.org>,
        Thomas Gleixner <tglx@...utronix.de>,
        "David S. Miller" <davem@...emloft.net>,
        "Peter Zijlstra (Intel)" <peterz@...radead.org>
Subject: Re: e1000_netpoll() , BUG: sleeping function called from invalid
 context



On 18.02.2017 00:44, Cong Wang wrote:
> On Fri, Feb 17, 2017 at 3:38 PM, Gabriel C <nix.or.die@...il.com> wrote:
>>
>> My card seems to use the e1000e driver which is buit-in..
>>
>> Anyway here an objdump -x :
>>
>> http://ftp.frugalware.org/pub/other/people/crazy/kernel/t/objdump-x_e1000.ko.txt
>>
>
> Found disable_hardirq() but not disable_irq().
>
> Are you sure the kernel warning was emitted by this binary rather than
> some old one?
>

Yes , I use an clean build , remove any other files in /boot && /lib/modules before installing the new build kernel.

I've asked Thomas before I send this to lkml and to you and he said :

..


It's a real issue. netconsole calls disable_irq() which might sleep from an
interrupt and preemption disabled context.

 > [85362.132801]  __might_sleep+0x6b/0x80
 > [85362.132803]  synchronize_irq+0x33/0x90
 > [85362.132805]  ? __irq_put_desc_unlock+0x19/0x40
 > [85362.132807]  ? __disable_irq_nosync+0x4e/0x60
 > [85362.132808]  disable_irq+0x17/0x20
 > [85362.132810]  e1000_netpoll+0x3d/0x110

Though, what's weird is that the e1000_netpoll() does not longer call
disable_irq(). It calls disable_hardirq().

That got changed in commit 3111912971251 which got into Linus tree during
the 4.10 merge window. So it is in 4.10-rc8.

Confused.

...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ