From: Jesper Juhl Patch adds a check of the return value and returns -EFAULT if __copy_to_user fails. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton --- 25-akpm/drivers/pcmcia/ds.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN drivers/pcmcia/ds.c~ds_ioctl-usercopy-check drivers/pcmcia/ds.c --- 25/drivers/pcmcia/ds.c~ds_ioctl-usercopy-check 2004-10-21 14:55:12.949833432 -0700 +++ 25-akpm/drivers/pcmcia/ds.c 2004-10-21 14:55:12.953832824 -0700 @@ -1060,7 +1060,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 */ _