[PATCH] USB: ub oops in block_uevent
authorPete Zaitcev <zaitcev@redhat.com>
Wed, 3 May 2006 07:16:00 +0000 (00:16 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 9 May 2006 06:43:55 +0000 (23:43 -0700)
commit77ef6c4d6e23653a79eedacdd6d1d0da7083e59c
tree5dd68fb616175ffcf2939beaef8ed06a43179173
parent436f5762bcd4929825a0725d4bc78337e6fc0d8f
[PATCH] USB: ub oops in block_uevent

In kernel 2.6.16, if a mounted storage device is removed, an oops happens
because ub supplies an interface device (and kobject) to the block layer,
but neglects to pin it. And apparently, the block layer expects its users
to pin device structures.

The code in ub was broken this way for years. But the bug was exposed only
by 2.6.16 when it started to call block_uevent on close, which traverses
device structures (kobjects actually).

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/block/ub.c