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]
Date:	Tue, 13 Mar 2007 17:14:27 +0900 (JST)
From:	Atsushi Nemoto <anemo@....ocn.ne.jp>
To:	davem@...emloft.net
Cc:	akpm@...ux-foundation.org, jeff@...zik.org, netdev@...r.kernel.org,
	romieu@...zoreil.com, shemminger@...ux-foundation.org
Subject: Re: [patch 12/19] fix irq problem with NAPI + NETPOLL

On Thu, 08 Mar 2007 10:35:13 +0900 (JST), Atsushi Nemoto <anemo@....ocn.ne.jp> wrote:
> > netpoll_rx() should be invokable from hardware interrupt context.
> > What is the crash you are seeing?
> 
> The problem is not netpoll_rx().  It should be called from irq context.
> The problem is, netif_receive_skb() is called from irq context though
> it seems not designed to do so.

Unfortunately I could not reproduce the crash, but IIRC the crash was
happened at upper protocol layer on hardware interrupt context.

Anyway, I think main path of netif_receive_skb() should not be
executed in hardware interrupt context.  Is it wrong?

> > It looks like perhaps the kfree_skb() calls need to be modified
> > in __netpoll_rx().
> 
> Well, it seems an another netpoll bug.

I suppose these kfree_skb() in __netpoll_rx() should be
dev_kfree_skb_any().  And I found an another abuse which is irrelevant
to netpoll.  The netif_rx() calls kfree_skb() at its bottom.  The
netif_rx() should be callable from hardware interrupt context, so it
should be changed to dev_kfree_skb_any().  Is it right?

---
Atsushi Nemoto
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ