All of lore.kernel.org
 help / color / mirror / Atom feed
* + drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch added to -mm tree
@ 2010-01-27  0:37 akpm
  2010-01-27  9:43 ` Jiri Slaby
  0 siblings, 1 reply; 4+ messages in thread
From: akpm @ 2010-01-27  0:37 UTC (permalink / raw)
  To: mm-commits; +Cc: joe, bzolnier, jens.axboe, marcin.slusarz, shemminger


The patch titled
     drivers/block/floppy.c: remove [_]COPYIN [_]COPYOUT and ECALL macros
has been added to the -mm tree.  Its filename is
     drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find
out what to do about this

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
Subject: drivers/block/floppy.c: remove [_]COPYIN [_]COPYOUT and ECALL macros
From: Joe Perches <joe@perches.com>

Remove these obfuscating macros with hidden returns

Signed-off-by: Joe Perches <joe@perches.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Marcin Slusarz <marcin.slusarz@gmail.com>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/block/floppy.c |   17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff -puN drivers/block/floppy.c~drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros drivers/block/floppy.c
--- a/drivers/block/floppy.c~drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros
+++ a/drivers/block/floppy.c
@@ -520,7 +520,6 @@ static DECLARE_WAIT_QUEUE_HEAD(command_d
 
 #define NO_SIGNAL (!interruptible || !signal_pending(current))
 #define CALL(x)		if ((x) == -EINTR) return -EINTR
-#define ECALL(x)	if ((ret = (x))) return ret;
 #define _WAIT(x,i)	CALL(ret=wait_til_done((x),i))
 #define WAIT(x)		_WAIT((x),interruptible)
 #define IWAIT(x)	_WAIT((x),1)
@@ -3061,14 +3060,6 @@ static inline int fd_copyin(void __user 
 	return copy_from_user(address, param, size) ? -EFAULT : 0;
 }
 
-#define _COPYOUT(x)	(copy_to_user((void __user *)param, &(x), sizeof(x)) \
-			 ? -EFAULT : 0)
-#define _COPYIN(x)	(copy_from_user(&(x), (void __user *)param, sizeof(x)) \
-			 ? -EFAULT : 0)
-
-#define COPYOUT(x)	ECALL(_COPYOUT(x))
-#define COPYIN(x)	ECALL(_COPYIN(x))
-
 static inline const char *drive_name(int type, int drive)
 {
 	struct floppy_struct *floppy;
@@ -3145,7 +3136,9 @@ static inline int raw_cmd_copyout(int cm
 	int ret;
 
 	while (ptr) {
-		COPYOUT(*ptr);
+		ret = copy_to_user((void __user *)param, ptr, sizeof(*ptr));
+		if (ret)
+			return -EFAULT;
 		param += sizeof(struct floppy_raw_cmd);
 		if ((ptr->flags & FD_RAW_READ) && ptr->buffer_length) {
 			if (ptr->length >= 0 &&
@@ -3195,7 +3188,9 @@ static inline int raw_cmd_copyin(int cmd
 		if (!ptr)
 			return -ENOMEM;
 		*rcmd = ptr;
-		COPYIN(*ptr);
+		ret = copy_from_user(ptr, (void __user *)param, sizeof(*ptr));
+		if (ret)
+			return -EFAULT;
 		ptr->next = NULL;
 		ptr->buffer_length = 0;
 		param += sizeof(struct floppy_raw_cmd);
_

Patches currently in -mm which might be from joe@perches.com are

linux-next.patch
net-rds-remove-uses-of-nipquad-use-%pi4.patch
net-sunrpc-remove-uses-of-nipquad-use-%pi4.patch
fs-ocfs2-cluster-tcpc-remove-use-of-nipquad-use-%pi4.patch
drivers-scsi-correct-the-size-argument-to-kmalloc.patch
drivers-scsi-remove-uses-of-nipquad-use-%pi4.patch
drivers-firmware-iscsi_ibftc-remove-nipquad_fmt-use-%pi4.patch
drivers-block-floppyc-convert-some-include-asm-to-include-linux.patch
drivers-block-floppyc-define-space-and-column-neatening.patch
drivers-block-floppyc-use-pr_level.patch
drivers-block-floppyc-remove-unnecessary-braces.patch
drivers-block-floppyc-remove-used-once-check_ready-macro.patch
drivers-block-floppyc-hoist-assigns-from-ifs-neatening.patch
drivers-block-floppyc-remove-last_out-macro.patch
drivers-block-floppyc-comment-neatening-and-remove-naked.patch
drivers-block-floppyc-remove-clearstruct-macro-use-memset.patch
drivers-block-floppyc-indent-a-comment.patch
drivers-block-floppyc-remove-in-out-macros-indent-switch-case.patch
drivers-block-floppyc-remove-a-few-spaces-from-function-casts.patch
drivers-block-floppyc-remove-macro-lock_fdc.patch
drivers-block-floppyc-add-debug_dcl-macro.patch
drivers-block-floppyc-remove-clearf-setf-and-testf-macros.patch
drivers-block-floppyc-remove-most-uses-of-call-and-ecall-macros.patch
drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch
drivers-block-floppyc-remove-macros-call-wait-and-iwait.patch
drivers-block-floppyc-convert-int-1-0-to-bool-true-false.patch
drivers-block-floppyc-move-leading-and-to-preceding-line.patch
drivers-block-floppyc-remove-define-device_name-floppy.patch
drivers-block-floppyc-convert-int-initialising-to-bool-initialized.patch
drivers-block-floppyc-add-function-is_ready_state.patch
drivers-block-floppyc-remove-unnecessary-return-and-braces.patch
scripts-get_maintainerpl-add-file-emails-find-embedded-email-addresses.patch
scripts-get_maintainerpl-add-file-emails-find-embedded-email-addresses-v2.patch
scripts-get_maintainerpl-add-sections-print-entire-matched-subsystem.patch
scripts-get_maintainerpl-change-sections-to-print-in-the-same-style-as-maintainers.patch
maintainers-remove-amd-geode-f-arch-x86-kernel-geode_32c.patch
maintainers-remove-hayes-esp-serial-driver.patch
maintainers-update-performance-events-f-patterns.patch
maintainers-starmode-radio-ip-strip-moved-to-staging.patch
maintainers-wavelan-moved-to-staging.patch
lib-stringc-simplify-stricmp.patch
lib-stringc-simplify-strnstr.patch
scripts-checkpatchpl-add-warn-on-sizeof.patch
checkpatchpl-allow-80-char-lines-for-logging-functions-not-just-printk.patch


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: + drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch added to -mm tree
  2010-01-27  0:37 + drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch added to -mm tree akpm
@ 2010-01-27  9:43 ` Jiri Slaby
  2010-01-27 14:53   ` Joe Perches
  0 siblings, 1 reply; 4+ messages in thread
From: Jiri Slaby @ 2010-01-27  9:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: akpm, mm-commits, joe, bzolnier, jens.axboe, marcin.slusarz,
	shemminger

On 01/27/2010 01:37 AM, akpm@linux-foundation.org wrote:
> @@ -3145,7 +3136,9 @@ static inline int raw_cmd_copyout(int cm
>  	int ret;
>  
>  	while (ptr) {
> -		COPYOUT(*ptr);
> +		ret = copy_to_user((void __user *)param, ptr, sizeof(*ptr));
> +		if (ret)
> +			return -EFAULT;
>  		param += sizeof(struct floppy_raw_cmd);
>  		if ((ptr->flags & FD_RAW_READ) && ptr->buffer_length) {
>  			if (ptr->length >= 0 &&
> @@ -3195,7 +3188,9 @@ static inline int raw_cmd_copyin(int cmd
>  		if (!ptr)
>  			return -ENOMEM;
>  		*rcmd = ptr;
> -		COPYIN(*ptr);
> +		ret = copy_from_user(ptr, (void __user *)param, sizeof(*ptr));

Actually the casts are not needed anymore, are they?

-- 
js

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: + drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch added to -mm tree
  2010-01-27  9:43 ` Jiri Slaby
@ 2010-01-27 14:53   ` Joe Perches
  2010-01-27 15:25     ` Jiri Slaby
  0 siblings, 1 reply; 4+ messages in thread
From: Joe Perches @ 2010-01-27 14:53 UTC (permalink / raw)
  To: Jiri Slaby
  Cc: linux-kernel, akpm, mm-commits, bzolnier, jens.axboe,
	marcin.slusarz, shemminger

On Wed, 2010-01-27 at 10:43 +0100, Jiri Slaby wrote:
> On 01/27/2010 01:37 AM, akpm@linux-foundation.org wrote:
> > @@ -3145,7 +3136,9 @@ static inline int raw_cmd_copyout(int cm
> > -		COPYOUT(*ptr);
> > +		ret = copy_to_user((void __user *)param, ptr, sizeof(*ptr));
> > +		if (ret)
> > +			return -EFAULT;
[]
> > -		COPYIN(*ptr);
> > +		ret = copy_from_user(ptr, (void __user *)param, sizeof(*ptr));
> 
> Actually the casts are not needed anymore, are they?

There's still some char/void silliness.
It certainly could be improved/removed.

Do feel free to submit patches with your
desired level of changelog prolixity.

cheers, Joe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: + drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch added to -mm tree
  2010-01-27 14:53   ` Joe Perches
@ 2010-01-27 15:25     ` Jiri Slaby
  0 siblings, 0 replies; 4+ messages in thread
From: Jiri Slaby @ 2010-01-27 15:25 UTC (permalink / raw)
  To: Joe Perches
  Cc: linux-kernel, akpm, mm-commits, bzolnier, jens.axboe,
	marcin.slusarz, shemminger

On 01/27/2010 03:53 PM, Joe Perches wrote:
> Do feel free to submit patches with your
> desired level of changelog prolixity.

It's not my level changelog prolixity, it's you do changes irrelevant to
your changelog and further you do not explain, why you change the code.
So (a) review process is hard and (b) nobody (mainly distro kernel
packagers) knows whether to backport some of the change to stable or not.

Look at that piece again:
Subject	[PATCH 03/24] drivers/block/floppy.c: Use pr_<level>
Date	Thu, 21 Jan 2010 20:52:33 -0800

Convert bare printk to pr_info and pr_cont
Convert printk(KERN_ERR to pr_err
...
 	if (UDP->flags & FD_DEBUG) {
-		DPRINT("reschedule timeout ");
-		printk(message, marg);
-		printk("\n");
+		DPRINT("reschedule timeout %s %d\n", message, marg);
 	}

Does it look like a "Use pr_<level>" change? No and hence my confusion
by the hunk.

-- 
js

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-01-27 15:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-27  0:37 + drivers-block-floppyc-remove-copyin-copyout-and-ecall-macros.patch added to -mm tree akpm
2010-01-27  9:43 ` Jiri Slaby
2010-01-27 14:53   ` Joe Perches
2010-01-27 15:25     ` Jiri Slaby

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.