From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue, 6 Apr 2010 21:35:01 +0000 (-0700)
Subject: /dev/mem: allow rewinding
X-Git-Tag: v2.6.34-rc4~40
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ee5d2acd5ca1534f40e06d4f0d41a940b17beb54;p=users%2Fwilly%2Flinux.git

/dev/mem: allow rewinding

commit dcefafb6 ("/dev/mem: dont allow seek to last page") inadvertently
disabled rewinding on /dev/mem.

This broke x86info for example.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---

diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 47c8452f485f..9cdbadc68608 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -710,11 +710,6 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig)
 	switch (orig) {
 	case SEEK_CUR:
 		offset += file->f_pos;
-		if ((unsigned long long)offset <
-		    (unsigned long long)file->f_pos) {
-			ret = -EOVERFLOW;
-			break;
-		}
 	case SEEK_SET:
 		/* to avoid userland mistaking f_pos=-9 as -EBADF=-9 */
 		if ((unsigned long long)offset >= ~0xFFFULL) {