Re: [PATCH] ibmphp: Fix module ref count underflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday, December 16, 2008 11:56 am Neil Horman wrote:
> On Tue, Dec 16, 2008 at 10:42:08AM -0800, Jesse Barnes wrote:
> > On Wednesday, December 10, 2008 11:43 am Neil Horman wrote:
> > > Hey-
> > > 	I happened to notice that the ibmphp hotplug driver does something
> > > rather silly in its init routine.  It purposely calls module_put so as
> > > to underflow its module ref count to avoid being removed from the
> > > kernel. This is bad practice, and wrong, since it provides a window for
> > > subsequent module_gets to reset the refcount to zero, allowing an
> > > unload to race in and cause all sorts of mysterious panics.  If the
> > > module is unsafe to load, it should inform the kernel as such with a
> > > call to __unsafe.  The patch below does that.
> >
> > Thanks Neil, applied this to my for-linus branch since it sounds
> > potentially serious (but also low risk since who uses ibmphp anymore? :)
>
> Dang it!  Sorry, Jesse.  Yes, youre absolutely right, it is low risk.  It
> really just a bit of sillyness all around.
>
> Unfortunately, I took part in the sillyness.  The problem was reported to
> me on RHEL, and I tested there, without checking upstream too closely.  As 
> aresult, the patch I gave you is a bit out of date, and won't compile. 
> I've tested the new patch here much more closely.  apologies.  I informed
> akpm who was looking at it, but neglected to copy you.
>
> This patch corrects the same problem in that it prevents module unloads in
> a sane fashion, by not registering an exit routine
>
> Signed-off-by: Neil Horman <nhorman@xxxxxxxxxxxxx>

Ah was just doing my testing & building now so I would have caught it in a 
minute. :)  I'll replace the patch I have with this one, thanks.

Jesse
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux