Messages in this thread Patch in this message | | | Date | Wed, 6 Oct 2004 22:25:36 +0200 (CEST) | From | Jesper Juhl <> | Subject | Re: [PATCH] check the return value of __copy_to_user in drivers/pcmcia/ds.c::ds_ioctl and return -EFAULT if it fails |
| |
On Wed, 6 Oct 2004, Christoph Hellwig wrote:
> On Wed, Oct 06, 2004 at 12:21:58AM +0200, Jesper Juhl wrote: > > > > CC drivers/pcmcia/ds.o > > include/asm/uaccess.h: In function `ds_ioctl': > > drivers/pcmcia/ds.c:1049: warning: ignoring return value of `__copy_to_user', declared with attribute warn_unused_result > > > > Patch adds a check of the return value and returns -EFAULT if > > __copy_to_user fails. > > I think this function should use the non-__ prefix version
Sounds resonable to me.
>and remove access_ok > again > Actually I see no access_ok there, there's not one single call to that function in this file (2.6.9-rc3-bk5).
How about the following patch instead?
Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk>
diff -up linux-2.6.9-rc3-bk5-orig/drivers/pcmcia/ds.c linux-2.6.9-rc3-bk5/drivers/pcmcia/ds.c --- linux-2.6.9-rc3-bk5-orig/drivers/pcmcia/ds.c 2004-10-05 22:07:27.000000000 +0200 +++ linux-2.6.9-rc3-bk5/drivers/pcmcia/ds.c 2004-10-06 22:20:27.000000000 +0200 @@ -1046,7 +1046,11 @@ static int ds_ioctl(struct inode * inode } } - if (cmd & IOC_OUT) __copy_to_user(uarg, (char *)&buf, size); + if (cmd & IOC_OUT) { + if (copy_to_user(uarg, (char *)&buf, size)) + err = -EFAULT; + } + return err; } /* ds_ioctl */
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |