[PATCH] Fix error handling in HDIO_GETGEO compat wrapper

From: Andreas Schwab
Date: Mon Apr 30 2007 - 06:55:57 EST


Don't clobber error from sys_ioctl in HDIO_GETGEO compat wrapper.

Signed-off-by: Andreas Schwab <schwab@xxxxxxx>

---
fs/compat_ioctl.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

--- linux-2.6.21.orig/fs/compat_ioctl.c 2007-04-26 13:40:52.000000000 +0200
+++ linux-2.6.21/fs/compat_ioctl.c 2007-04-29 23:50:45.000000000 +0200
@@ -670,8 +670,10 @@ static int hdio_getgeo(unsigned int fd,
if (!err) {
err = copy_to_user (ugeo, &geo, 4);
err |= __put_user (geo.start, &ugeo->start);
+ if (err)
+ err = -EFAULT;
}
- return err ? -EFAULT : 0;
+ return err;
}

static int hdio_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@xxxxxxx
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/