* [Kernel-janitors]
@ 2004-01-16 21:45 Domen Puncer
2004-01-25 12:38 ` [Kernel-janitors] JOUANNE Mickael
2004-04-15 1:32 ` [Kernel-janitors] Mathew baltic
0 siblings, 2 replies; 3+ messages in thread
From: Domen Puncer @ 2004-01-16 21:45 UTC (permalink / raw)
To: kernel-janitors
Hi.
To be aplied on top of CONFIG_LEDMAN patch, or you'll get -11 lines offsets.
I left one copy_*_user, because locking needs to be fixed around it too.
About that s/break/return/ in switch: at end of switch there is a "return 0".
Didn't compile test it, since it's a motorola driver.
Domen
--- c/drivers/serial/mcfserial.c 2004-01-16 22:28:31.000000000 +0100
+++ a/drivers/serial/mcfserial.c 2004-01-16 22:40:44.000000000 +0100
@@ -880,8 +880,7 @@ static int get_serial_info(struct mcf_se
tmp.close_delay = info->close_delay;
tmp.closing_wait = info->closing_wait;
tmp.custom_divisor = info->custom_divisor;
- copy_to_user(retinfo,&tmp,sizeof(*retinfo));
- return 0;
+ return copy_to_user(retinfo,&tmp,sizeof(*retinfo)) ? -EFAULT : 0;
}
static int set_serial_info(struct mcf_serial * info,
@@ -893,7 +892,8 @@ static int set_serial_info(struct mcf_se
if (!new_info)
return -EFAULT;
- copy_from_user(&new_serial,new_info,sizeof(new_serial));
+ if (copy_from_user(&new_serial,new_info,sizeof(new_serial)))
+ return -EFAULT;
old_info = *info;
if (!capable(CAP_SYS_ADMIN)) {
@@ -950,8 +950,7 @@ static int get_lsr_info(struct mcf_seria
status = (uartp[MCFUART_USR] & MCFUART_USR_TXEMPTY) ? TIOCSER_TEMT : 0;
local_irq_restore(flags);
- put_user(status,value);
- return 0;
+ return put_user(status,value);
}
/*
@@ -1009,79 +1008,54 @@ static int mcfrs_ioctl(struct tty_struct
send_break(info, arg ? arg*(HZ/10) : HZ/4);
return 0;
case TIOCGSOFTCAR:
- error = verify_area(VERIFY_WRITE, (void *) arg,sizeof(long));
if (error)
- return error;
- put_user(C_CLOCAL(tty) ? 1 : 0,
+ error = put_user(C_CLOCAL(tty) ? 1 : 0,
(unsigned long *) arg);
- return 0;
+ return error;
case TIOCSSOFTCAR:
- get_user(arg, (unsigned long *) arg);
+ if (get_user(arg, (unsigned long *) arg))
+ return -EFAULT;
tty->termios->c_cflag ((tty->termios->c_cflag & ~CLOCAL) |
(arg ? CLOCAL : 0));
return 0;
case TIOCGSERIAL:
- error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(struct serial_struct));
- if (error)
- return error;
return get_serial_info(info,
(struct serial_struct *) arg);
case TIOCSSERIAL:
return set_serial_info(info,
(struct serial_struct *) arg);
case TIOCSERGETLSR: /* Get line status register */
- error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(unsigned int));
- if (error)
- return error;
- else
- return get_lsr_info(info, (unsigned int *) arg);
+ return get_lsr_info(info, (unsigned int *) arg);
case TIOCSERGSTRUCT:
- error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(struct mcf_serial));
- if (error)
- return error;
- copy_to_user((struct mcf_serial *) arg,
- info, sizeof(struct mcf_serial));
- return 0;
+ if (copy_to_user((struct mcf_serial *) arg,
+ info, sizeof(struct mcf_serial)))
+ return -EFAULT;
case TIOCMGET:
- if ((error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(unsigned int))))
- return(error);
val = mcfrs_getsignals(info);
- put_user(val, (unsigned int *) arg);
- break;
+ return put_user(val, (unsigned int *) arg);
case TIOCMBIS:
- if ((error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(unsigned int))))
- return(error);
-
- get_user(val, (unsigned int *) arg);
+ if (get_user(val, (unsigned int *) arg))
+ return -EFAULT;
rts = (val & TIOCM_RTS) ? 1 : -1;
dtr = (val & TIOCM_DTR) ? 1 : -1;
mcfrs_setsignals(info, dtr, rts);
break;
case TIOCMBIC:
- if ((error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(unsigned int))))
- return(error);
- get_user(val, (unsigned int *) arg);
+ if (get_user(val, (unsigned int *) arg))
+ return -EFAULT;
rts = (val & TIOCM_RTS) ? 0 : -1;
dtr = (val & TIOCM_DTR) ? 0 : -1;
mcfrs_setsignals(info, dtr, rts);
break;
case TIOCMSET:
- if ((error = verify_area(VERIFY_WRITE, (void *) arg,
- sizeof(unsigned int))))
- return(error);
- get_user(val, (unsigned int *) arg);
+ if (get_user(val, (unsigned int *) arg))
+ return -EFAULT;
rts = (val & TIOCM_RTS) ? 1 : 0;
dtr = (val & TIOCM_DTR) ? 1 : 0;
mcfrs_setsignals(info, dtr, rts);
@@ -1089,13 +1063,13 @@ static int mcfrs_ioctl(struct tty_struct
#ifdef TIOCSET422
case TIOCSET422:
- get_user(val, (unsigned int *) arg);
+ if (get_user(val, (unsigned int *) arg))
+ return -EFAULT;
mcf_setpa(MCFPP_PA11, (val ? 0 : MCFPP_PA11));
break;
case TIOCGET422:
val = (mcf_getpa() & MCFPP_PA11) ? 0 : 1;
- put_user(val, (unsigned int *) arg);
- break;
+ return put_user(val, (unsigned int *) arg);
#endif
default:
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Kernel-janitors]
2004-01-16 21:45 [Kernel-janitors] Domen Puncer
@ 2004-01-25 12:38 ` JOUANNE Mickael
2004-04-15 1:32 ` [Kernel-janitors] Mathew baltic
1 sibling, 0 replies; 3+ messages in thread
From: JOUANNE Mickael @ 2004-01-25 12:38 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 162 bytes --]
I forget the patch :)
--
Mickaël GRIGOUZE grigouze@noos.fr ICQ : 42799256
*** \-/ *** In a World Without Fences Who Needs Gates *** \-/ ***
[-- Attachment #2: kj.patch --]
[-- Type: text/plain, Size: 387 bytes --]
--- kj.pl 2004-01-05 21:04:37.000000000 +0100
+++ kj-new.pl 2004-01-25 11:38:08.000000000 +0100
@@ -109,7 +109,7 @@
print "$filename:$linenr:$line\n\n";
}
- if ($line=~/MOD_{INC,DEC}_USE_COUNT/) {
+ if ($line=~/MOD_(INC|DEC)_USE_COUNT/) {
print "Net drivers should call SET_MODULE_OWNER instead of MOD_{INC,DEC}_USE_COUNT\n";
print "$filename:$linenr:$line\n\n";
}
[-- Attachment #3: Type: text/plain, Size: 163 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Kernel-janitors]
2004-01-16 21:45 [Kernel-janitors] Domen Puncer
2004-01-25 12:38 ` [Kernel-janitors] JOUANNE Mickael
@ 2004-04-15 1:32 ` Mathew baltic
1 sibling, 0 replies; 3+ messages in thread
From: Mathew baltic @ 2004-04-15 1:32 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/html, Size: 1327 bytes --]
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-04-15 1:32 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-16 21:45 [Kernel-janitors] Domen Puncer
2004-01-25 12:38 ` [Kernel-janitors] JOUANNE Mickael
2004-04-15 1:32 ` [Kernel-janitors] Mathew baltic
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.