2005-03-06 22:45:33

by Domen Puncer

[permalink] [raw]
Subject: [patch 6/8] drivers/isdn/hisax/* - compile warning cleanup


compile warning cleanup - handle copy_to/from_user error
returns

Signed-off-by: Stephen Biggs <[email protected]>
Signed-off-by: Domen Puncer <[email protected]>
---


kj-domen/drivers/isdn/hisax/config.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)

diff -puN drivers/isdn/hisax/config.c~return_code-drivers_isdn_hisax drivers/isdn/hisax/config.c
--- kj/drivers/isdn/hisax/config.c~return_code-drivers_isdn_hisax 2005-03-05 16:13:06.000000000 +0100
+++ kj-domen/drivers/isdn/hisax/config.c 2005-03-05 16:13:06.000000000 +0100
@@ -631,7 +631,12 @@ int HiSax_readstatus(u_char __user *buf,
count = cs->status_end - cs->status_read + 1;
if (count >= len)
count = len;
- copy_to_user(p, cs->status_read, count);
+ if (copy_to_user(p, cs->status_read, count)) {
+ printk(KERN_ERR
+ "HiSax:%s: copy_to_user failed!\n",
+ __FUNCTION__);
+ return -EFAULT;
+ }
cs->status_read += count;
if (cs->status_read > cs->status_end)
cs->status_read = cs->status_buf;
@@ -642,7 +647,12 @@ int HiSax_readstatus(u_char __user *buf,
cnt = HISAX_STATUS_BUFSIZE;
else
cnt = count;
- copy_to_user(p, cs->status_read, cnt);
+ if (copy_to_user(p, cs->status_read, cnt)) {
+ printk(KERN_ERR
+ "HiSax:%s: copy_to_user failed!\n",
+ __FUNCTION__);
+ return -EFAULT;
+ }
p += cnt;
cs->status_read += cnt % HISAX_STATUS_BUFSIZE;
count -= cnt;
_