lkml.org 
[lkml]   [2004]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [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/

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.038 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site