diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-13 13:54:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-13 13:54:04 -0400 |
commit | 2be1f3a73dd02e38e181cf5abacb3d45a6a2d6b8 (patch) | |
tree | 8e54da82410c8e57ff53b3d69d5760ff28bc236f /arch | |
parent | 1547ac893acbf87738ded0b470e2735fdfba6947 (diff) | |
parent | 2041f657aa4dc77afd63bbb34b34ed9476cf9ab9 (diff) |
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
[S390] partitions: fix build error in ibm partition detection code
[S390] appldata: fix dev_get_stats 64 bit conversion
[S390] wire up prlimit64 and fanotify* syscalls
[S390] zcrypt: fix Kconfig dependencies
[S390] sys_personality: follow u_long to unsigned int conversion
[S390] dasd: fix format string types
Diffstat (limited to 'arch')
-rw-r--r-- | arch/s390/appldata/appldata_net_sum.c | 3 | ||||
-rw-r--r-- | arch/s390/include/asm/unistd.h | 5 | ||||
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 26 | ||||
-rw-r--r-- | arch/s390/kernel/entry.h | 2 | ||||
-rw-r--r-- | arch/s390/kernel/sys_s390.c | 4 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 3 |
6 files changed, 37 insertions, 6 deletions
diff --git a/arch/s390/appldata/appldata_net_sum.c b/arch/s390/appldata/appldata_net_sum.c index f02e89ce4df1..5da7c562a90b 100644 --- a/arch/s390/appldata/appldata_net_sum.c +++ b/arch/s390/appldata/appldata_net_sum.c | |||
@@ -85,9 +85,10 @@ static void appldata_get_net_sum_data(void *data) | |||
85 | 85 | ||
86 | rcu_read_lock(); | 86 | rcu_read_lock(); |
87 | for_each_netdev_rcu(&init_net, dev) { | 87 | for_each_netdev_rcu(&init_net, dev) { |
88 | const struct rtnl_link_stats64 *stats; | ||
88 | struct rtnl_link_stats64 temp; | 89 | struct rtnl_link_stats64 temp; |
89 | const struct net_device_stats *stats = dev_get_stats(dev, &temp); | ||
90 | 90 | ||
91 | stats = dev_get_stats(dev, &temp); | ||
91 | rx_packets += stats->rx_packets; | 92 | rx_packets += stats->rx_packets; |
92 | tx_packets += stats->tx_packets; | 93 | tx_packets += stats->tx_packets; |
93 | rx_bytes += stats->rx_bytes; | 94 | rx_bytes += stats->rx_bytes; |
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 5f0075150a65..1049ef27c15e 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -269,7 +269,10 @@ | |||
269 | #define __NR_pwritev 329 | 269 | #define __NR_pwritev 329 |
270 | #define __NR_rt_tgsigqueueinfo 330 | 270 | #define __NR_rt_tgsigqueueinfo 330 |
271 | #define __NR_perf_event_open 331 | 271 | #define __NR_perf_event_open 331 |
272 | #define NR_syscalls 332 | 272 | #define __NR_fanotify_init 332 |
273 | #define __NR_fanotify_mark 333 | ||
274 | #define __NR_prlimit64 334 | ||
275 | #define NR_syscalls 335 | ||
273 | 276 | ||
274 | /* | 277 | /* |
275 | * There are some system calls that are not present on 64 bit, some | 278 | * There are some system calls that are not present on 64 bit, some |
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 672ce52341b4..8e60fb23b90d 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S | |||
@@ -614,7 +614,7 @@ sys32_sysfs_wrapper: | |||
614 | 614 | ||
615 | .globl sys32_personality_wrapper | 615 | .globl sys32_personality_wrapper |
616 | sys32_personality_wrapper: | 616 | sys32_personality_wrapper: |
617 | llgfr %r2,%r2 # unsigned long | 617 | llgfr %r2,%r2 # unsigned int |
618 | jg sys_s390_personality # branch to system call | 618 | jg sys_s390_personality # branch to system call |
619 | 619 | ||
620 | .globl sys32_setfsuid16_wrapper | 620 | .globl sys32_setfsuid16_wrapper |
@@ -1853,3 +1853,27 @@ sys32_execve_wrapper: | |||
1853 | llgtr %r3,%r3 # compat_uptr_t * | 1853 | llgtr %r3,%r3 # compat_uptr_t * |
1854 | llgtr %r4,%r4 # compat_uptr_t * | 1854 | llgtr %r4,%r4 # compat_uptr_t * |
1855 | jg sys32_execve # branch to system call | 1855 | jg sys32_execve # branch to system call |
1856 | |||
1857 | .globl sys_fanotify_init_wrapper | ||
1858 | sys_fanotify_init_wrapper: | ||
1859 | llgfr %r2,%r2 # unsigned int | ||
1860 | llgfr %r3,%r3 # unsigned int | ||
1861 | jg sys_fanotify_init # branch to system call | ||
1862 | |||
1863 | .globl sys_fanotify_mark_wrapper | ||
1864 | sys_fanotify_mark_wrapper: | ||
1865 | lgfr %r2,%r2 # int | ||
1866 | llgfr %r3,%r3 # unsigned int | ||
1867 | sllg %r4,%r4,32 # get high word of 64bit mask | ||
1868 | lr %r4,%r5 # get low word of 64bit mask | ||
1869 | llgfr %r5,%r6 # unsigned int | ||
1870 | llgt %r6,164(%r15) # char * | ||
1871 | jg sys_fanotify_mark # branch to system call | ||
1872 | |||
1873 | .globl sys_prlimit64_wrapper | ||
1874 | sys_prlimit64_wrapper: | ||
1875 | lgfr %r2,%r2 # pid_t | ||
1876 | llgfr %r3,%r3 # unsigned int | ||
1877 | llgtr %r4,%r4 # const struct rlimit64 __user * | ||
1878 | llgtr %r5,%r5 # struct rlimit64 __user * | ||
1879 | jg sys_prlimit64 # branch to system call | ||
diff --git a/arch/s390/kernel/entry.h b/arch/s390/kernel/entry.h index eb15c12ec158..5bb1e6b5db26 100644 --- a/arch/s390/kernel/entry.h +++ b/arch/s390/kernel/entry.h | |||
@@ -31,7 +31,7 @@ struct old_sigaction; | |||
31 | long sys_mmap2(struct s390_mmap_arg_struct __user *arg); | 31 | long sys_mmap2(struct s390_mmap_arg_struct __user *arg); |
32 | long sys_s390_ipc(uint call, int first, unsigned long second, | 32 | long sys_s390_ipc(uint call, int first, unsigned long second, |
33 | unsigned long third, void __user *ptr); | 33 | unsigned long third, void __user *ptr); |
34 | long sys_s390_personality(unsigned long personality); | 34 | long sys_s390_personality(unsigned int personality); |
35 | long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, | 35 | long sys_s390_fadvise64(int fd, u32 offset_high, u32 offset_low, |
36 | size_t len, int advice); | 36 | size_t len, int advice); |
37 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); | 37 | long sys_s390_fadvise64_64(struct fadvise64_64_args __user *args); |
diff --git a/arch/s390/kernel/sys_s390.c b/arch/s390/kernel/sys_s390.c index 7b6b0f81a283..476081440df9 100644 --- a/arch/s390/kernel/sys_s390.c +++ b/arch/s390/kernel/sys_s390.c | |||
@@ -131,9 +131,9 @@ SYSCALL_DEFINE5(s390_ipc, uint, call, int, first, unsigned long, second, | |||
131 | } | 131 | } |
132 | 132 | ||
133 | #ifdef CONFIG_64BIT | 133 | #ifdef CONFIG_64BIT |
134 | SYSCALL_DEFINE1(s390_personality, unsigned long, personality) | 134 | SYSCALL_DEFINE1(s390_personality, unsigned int, personality) |
135 | { | 135 | { |
136 | int ret; | 136 | unsigned int ret; |
137 | 137 | ||
138 | if (current->personality == PER_LINUX32 && personality == PER_LINUX) | 138 | if (current->personality == PER_LINUX32 && personality == PER_LINUX) |
139 | personality = PER_LINUX32; | 139 | personality = PER_LINUX32; |
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 201ce6bed34e..a8fee1b14395 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S | |||
@@ -340,3 +340,6 @@ SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv_wrapper) | |||
340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) | 340 | SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) |
341 | SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ | 341 | SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ |
342 | SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) | 342 | SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) |
343 | SYSCALL(sys_fanotify_init,sys_fanotify_init,sys_fanotify_init_wrapper) | ||
344 | SYSCALL(sys_fanotify_mark,sys_fanotify_mark,sys_fanotify_mark_wrapper) | ||
345 | SYSCALL(sys_prlimit64,sys_prlimit64,sys_prlimit64_wrapper) | ||