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: <4713E799.1070002@pobox.com>
Date:	Mon, 15 Oct 2007 18:20:09 -0400
From:	Jeff Garzik <jgarzik@...ox.com>
To:	Ingo Molnar <mingo@...e.hu>
CC:	David Miller <davem@...emloft.net>, linux-kernel@...r.kernel.org,
	torvalds@...ux-foundation.org, shemminger@...ux-foundation.org
Subject: Re: WARNING: at net/core/dev.c:2161 net_rx_action()

Ingo Molnar wrote:
> * David Miller <davem@...emloft.net> wrote:
> 
>> From: Ingo Molnar <mingo@...e.hu>
>> Date: Mon, 15 Oct 2007 13:24:30 +0200
>>
>>> got this warning with Linus' latest -git tree:
>>>
>>>   WARNING: at net/core/dev.c:2161 net_rx_action()
>>>    [<80564db4>] net_rx_action+0xce/0x186
>>>    [<8011ba98>] __do_softirq+0x6c/0xcf
>>>    [<8011bb2d>] do_softirq+0x32/0x36
>>>    [<8011bcae>] irq_exit+0x35/0x40
>>>    [<80104fdb>] do_IRQ+0x5c/0x71
>>>    [<801048cd>] do_nmi+0x8f/0x238
>>>    [<801033a3>] common_interrupt+0x23/0x30
>>>    =======================
>> This is a driver bug, the work "budget" passed into a driver's 
>> ->poll() handler should never be exceeded.  That's what this warning 
>> assertion is checking.
>>
>> What ethernet card is in your system and what driver is being used to 
>> drive it?
> 
> it's forcedeth.
> 
> i've checked nv_napi_poll(), and i dont see how it could return larger 
> than 'limit' number of packets.
> 
> it could return packets == limit though:
> 
>                 pkts = nv_rx_process_optimized(dev, budget);
> ...
> 
>         if (pkts < budget) {
>                 /* re-enable receive interrupts */
>                 spin_lock_irqsave(&np->lock, flags);
> 
>                 __netif_rx_complete(dev, napi);
> 
> ...
>         return pkts;

FWIW, forcedeth has this funky disable_irq()-based locking mechanism 
that is currently the subject of some kernel.org bugzillas.  I would 
also check and make sure that isn't perturbing your results (even though 
it seems unrelated, based on what I read here).  That might include 
disabling MSI if it's enabled, and/or turning on spinlock debugging.

	Jeff




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ