ext4: in ext4_dir_llseek, check syscall bitness directly
authorAndy Lutomirski <[email protected]>
Tue, 22 Mar 2016 21:25:04 +0000 (14:25 -0700)
committerLinus Torvalds <[email protected]>
Tue, 22 Mar 2016 22:36:02 +0000 (15:36 -0700)
ext4 treats directory offsets differently for 32-bit and 64-bit callers.
Check the caller type using in_compat_syscall, not is_compat_task.  This
changes behavior on SPARC slightly.

Signed-off-by: Andy Lutomirski <[email protected]>
Cc: "Theodore Ts'o" <[email protected]>
Cc: Andreas Dilger <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
fs/ext4/dir.c

index 33f5e2a50cf883c43842e1c89a868fcf70c4c2a9..50ba27cbed034115c4ad3f608aa9758860d2cd76 100644 (file)
@@ -285,7 +285,7 @@ errout:
 static inline int is_32bit_api(void)
 {
 #ifdef CONFIG_COMPAT
-       return is_compat_task();
+       return in_compat_syscall();
 #else
        return (BITS_PER_LONG == 32);
 #endif