Re: [PATCH] drivers/media/video/v4l2-compat-ioctl32.c: Check thereturn value of copy_to_user

From: Mauro Carvalho Chehab
Date: Tue Dec 21 2010 - 18:55:55 EST


Em 21-12-2010 16:34, Thiago Farina escreveu:
> On Tue, Dec 21, 2010 at 4:25 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>> On Tuesday 21 December 2010 02:18:06 Thiago Farina wrote:
>>> diff --git a/drivers/media/video/v4l2-compat-ioctl32.c b/drivers/media/video/v4l2-compat-ioctl32.c
>>> index e30e8df..55825ec 100644
>>> --- a/drivers/media/video/v4l2-compat-ioctl32.c
>>> +++ b/drivers/media/video/v4l2-compat-ioctl32.c
>>> @@ -206,7 +206,9 @@ static struct video_code __user *get_microcode32(struct video_code32 *kp)
>>> * user address is invalid, the native ioctl will do
>>> * the error handling for us
>>> */
>>> - (void) copy_to_user(up->loadwhat, kp->loadwhat, sizeof(up->loadwhat));
>>> + if (copy_to_user(up->loadwhat, kp->loadwhat, sizeof(up->loadwhat)))
>>> + return NULL;
>>> +
>>> (void) put_user(kp->datasize, &up->datasize);
>>> (void) put_user(compat_ptr(kp->data), &up->data);
>>> return up;
>>
>> Did you read the comment above the code you changed?
>>
> Yes, I read, but I went ahead.
>
>> You can probably change this function to look at the return code of
>> copy_to_user, but then you need to treat the put_user return code
>> the same, and change the comment.
>>
>
> Right, I will do the same with put_user, but I'm afraid of changing the comment.

Well, we should just remove all V4L1 stuff for .38, so I don't see much sense on keeping
the VIDIOCGMICROCODE32 compat stuff.

Cheers,
Mauro
--
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/