| .. | .. |
|---|
| 58 | 58 | return error; |
|---|
| 59 | 59 | } |
|---|
| 60 | 60 | |
|---|
| 61 | +#ifdef CONFIG_SYSVIPC |
|---|
| 61 | 62 | /* |
|---|
| 62 | 63 | * sys_ipc() is the de-multiplexer for the SysV IPC calls. |
|---|
| 63 | 64 | */ |
|---|
| .. | .. |
|---|
| 74 | 75 | * Therefore we can call the generic variant by simply passing the |
|---|
| 75 | 76 | * third parameter also as fifth parameter. |
|---|
| 76 | 77 | */ |
|---|
| 77 | | - return sys_ipc(call, first, second, third, ptr, third); |
|---|
| 78 | + return ksys_ipc(call, first, second, third, ptr, third); |
|---|
| 78 | 79 | } |
|---|
| 80 | +#endif /* CONFIG_SYSVIPC */ |
|---|
| 79 | 81 | |
|---|
| 80 | 82 | SYSCALL_DEFINE1(s390_personality, unsigned int, personality) |
|---|
| 81 | 83 | { |
|---|
| 82 | | - unsigned int ret; |
|---|
| 84 | + unsigned int ret = current->personality; |
|---|
| 83 | 85 | |
|---|
| 84 | 86 | if (personality(current->personality) == PER_LINUX32 && |
|---|
| 85 | 87 | personality(personality) == PER_LINUX) |
|---|
| 86 | 88 | personality |= PER_LINUX32; |
|---|
| 87 | | - ret = sys_personality(personality); |
|---|
| 89 | + |
|---|
| 90 | + if (personality != 0xffffffff) |
|---|
| 91 | + set_personality(personality); |
|---|
| 92 | + |
|---|
| 88 | 93 | if (personality(ret) == PER_LINUX32) |
|---|
| 89 | 94 | ret &= ~PER_LINUX32; |
|---|
| 90 | 95 | |
|---|
| 91 | 96 | return ret; |
|---|
| 92 | 97 | } |
|---|
| 98 | + |
|---|
| 99 | +SYSCALL_DEFINE0(ni_syscall) |
|---|
| 100 | +{ |
|---|
| 101 | + return -ENOSYS; |
|---|
| 102 | +} |
|---|