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, 8 Dec 2009 22:16:36 -0700
From:	Grant Likely <grant.likely@...retlab.ca>
To:	David Miller <davem@...emloft.net>
Cc:	netdev@...r.kernel.org, linuxppc-dev@...abs.org, a.llano@....es
Subject: Re: [PATCH/REPOST] net/mpc5200: Fix locking on fec_mpc52xx driver

On Tue, Dec 8, 2009 at 9:28 PM, David Miller <davem@...emloft.net> wrote:
> From: Grant Likely <grant.likely@...retlab.ca>
> Date: Fri, 04 Dec 2009 21:33:13 -0700
>
>> Fix the locking scheme on the fec_mpc52xx driver.  This device can
>> receive IRQs from three sources; the FEC itself, the tx DMA, and the
>> rx DMA.  Mutual exclusion was handled by taking a spin_lock() in the
>> critical regions, but because the handlers are run with IRQs enabled,
>> spin_lock() is insufficient and the driver can end up interrupting
>> a critical region anyway from another IRQ.
>>
>> Asier Llano discovered that this occurs when an error IRQ is raised
>> in the middle of handling rx irqs which resulted in an sk_buff memory
>> leak.
>
> I'll apply this fix.

Thanks.

> But, longer term, it's a thousand times easier and more efficient to
> move the processing of these interrupts into softirq context.

I agree.  Just need to find someone to do it.

g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
--
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