shmat(2): move compat to native

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro a78ee9ed 9b1404c2

+19 -16
-16
ipc/compat.c
··· 80 80 to->seq = from->seq; 81 81 } 82 82 83 - #ifndef COMPAT_SHMLBA 84 - #define COMPAT_SHMLBA SHMLBA 85 - #endif 86 - 87 - COMPAT_SYSCALL_DEFINE3(shmat, int, shmid, compat_uptr_t, shmaddr, int, shmflg) 88 - { 89 - unsigned long ret; 90 - long err; 91 - 92 - err = do_shmat(shmid, compat_ptr(shmaddr), shmflg, &ret, COMPAT_SHMLBA); 93 - if (err) 94 - return err; 95 - force_successful_syscall_return(); 96 - return (long)ret; 97 - } 98 - 99 83 COMPAT_SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsems, 100 84 unsigned, nsops, 101 85 const struct compat_timespec __user *, timeout)
+19
ipc/shm.c
··· 1439 1439 return (long)ret; 1440 1440 } 1441 1441 1442 + #ifdef CONFIG_COMPAT 1443 + 1444 + #ifndef COMPAT_SHMLBA 1445 + #define COMPAT_SHMLBA SHMLBA 1446 + #endif 1447 + 1448 + COMPAT_SYSCALL_DEFINE3(shmat, int, shmid, compat_uptr_t, shmaddr, int, shmflg) 1449 + { 1450 + unsigned long ret; 1451 + long err; 1452 + 1453 + err = do_shmat(shmid, compat_ptr(shmaddr), shmflg, &ret, COMPAT_SHMLBA); 1454 + if (err) 1455 + return err; 1456 + force_successful_syscall_return(); 1457 + return (long)ret; 1458 + } 1459 + #endif 1460 + 1442 1461 /* 1443 1462 * detach and kill segment if marked destroyed. 1444 1463 * The work is done in shm_close.