All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.