summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2016-02-15 15:35:21 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-03-05 12:19:39 -0800
commitecb63a1b644c77a383b05e44e931602ae5f3d2c6 (patch)
tree98912adbede6387524518726c6db1855a1fedf70 /drivers/char
parentba327173ef48c12cf6f326441c74f373fa3be220 (diff)
downloadlinux-ecb63a1b644c77a383b05e44e931602ae5f3d2c6.tar.gz
linux-ecb63a1b644c77a383b05e44e931602ae5f3d2c6.tar.bz2
linux-ecb63a1b644c77a383b05e44e931602ae5f3d2c6.zip
drivers: char: mem: fix IS_ERROR_VALUE usage
IS_ERR_VALUE macro should be used only with unsigned long type. Specifically it works incorrectly with longer types. The patch follows conclusion from discussion on LKML [1][2]. [1]: http://permalink.gmane.org/gmane.linux.kernel/2120927 [2]: http://permalink.gmane.org/gmane.linux.kernel/2150581 Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Acked-by: Al Viro <viro@ZenIV.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/mem.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 4f6f94c43412..71025c2f6bbb 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -695,7 +695,7 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
offset += file->f_pos;
case SEEK_SET:
/* to avoid userland mistaking f_pos=-9 as -EBADF=-9 */
- if (IS_ERR_VALUE((unsigned long long)offset)) {
+ if ((unsigned long long)offset >= -MAX_ERRNO) {
ret = -EOVERFLOW;
break;
}