Re: [PATCH] usb: use memdup_user()

From: Oliver Neukum
Date: Tue May 05 2009 - 06:44:51 EST


Am Dienstag, 5. Mai 2009 08:11:57 schrieb Andrew Morton:
> On Mon, 4 May 2009 16:01:51 +0200 Oliver Neukum <oliver@xxxxxxxxxx> wrote:

> > I want people to be forced to think about memory allocations.
> > We had endless trouble during 2.4 with storage deadlocking.
> > We simply need full control of this.
>
> thou-shalt-use-GFP_NOFS is a very common pattern in many filesystems.
> And thou-shalt-use-GFP_NOIO is a very common pattern in block drivers.

USB drivers are interface level yet some functions, reset and power
management, are on a device level. As it is unpredictable whether
a driver will share a device with a storage driver, all USB drivers as far as
these functions are concerned must be considered block device drivers.
That's the reason GFP_NOIO is so prevalent in USB.

> I wonder how hard it would be to add runtime debugging checks? If

I'd prefer compile time checks. Ideally we'd annotate a function with an
attribute making the compiler barf if copy_to/from_user or an inappropriate
kmalloc is used. It can't be perfect due to function pointers, but it would
be a good start.

Regards
Oliver

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