diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-31 20:01:31 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-08-31 20:01:31 -0400 |
| commit | a492246c3439bf2ba454f566258212f7bbd310bb (patch) | |
| tree | 147d5423bfd63ae7178ac146b6ac9543bfad5156 | |
| parent | 155e36d40cf31c17f2b629fc2f2f5527e4cfc324 (diff) | |
| parent | 768fd0737f4533635ea351566dff98fd4912b0d8 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Martin Schwidefsky:
"A couple of s390 bug fixes for 3.5-rc4"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
s390/32: Don't clobber personality flags on exec
s390/smp: add missing smp_store_status() for !SMP
s390/dasd: fix ioctl return value
s390: Always use "long" for ssize_t to match size_t
| -rw-r--r-- | arch/s390/include/asm/elf.h | 3 | ||||
| -rw-r--r-- | arch/s390/include/asm/posix_types.h | 3 | ||||
| -rw-r--r-- | arch/s390/include/asm/smp.h | 1 | ||||
| -rw-r--r-- | drivers/s390/block/dasd_eckd.c | 2 | ||||
| -rw-r--r-- | drivers/s390/block/dasd_ioctl.c | 7 |
5 files changed, 7 insertions, 9 deletions
diff --git a/arch/s390/include/asm/elf.h b/arch/s390/include/asm/elf.h index 32e8449640fa..9b94a160fe7f 100644 --- a/arch/s390/include/asm/elf.h +++ b/arch/s390/include/asm/elf.h | |||
| @@ -180,7 +180,8 @@ extern char elf_platform[]; | |||
| 180 | #define ELF_PLATFORM (elf_platform) | 180 | #define ELF_PLATFORM (elf_platform) |
| 181 | 181 | ||
| 182 | #ifndef CONFIG_64BIT | 182 | #ifndef CONFIG_64BIT |
| 183 | #define SET_PERSONALITY(ex) set_personality(PER_LINUX) | 183 | #define SET_PERSONALITY(ex) \ |
| 184 | set_personality(PER_LINUX | (current->personality & (~PER_MASK))) | ||
| 184 | #else /* CONFIG_64BIT */ | 185 | #else /* CONFIG_64BIT */ |
| 185 | #define SET_PERSONALITY(ex) \ | 186 | #define SET_PERSONALITY(ex) \ |
| 186 | do { \ | 187 | do { \ |
diff --git a/arch/s390/include/asm/posix_types.h b/arch/s390/include/asm/posix_types.h index 7bcc14e395f0..bf2a2ad2f800 100644 --- a/arch/s390/include/asm/posix_types.h +++ b/arch/s390/include/asm/posix_types.h | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | */ | 13 | */ |
| 14 | 14 | ||
| 15 | typedef unsigned long __kernel_size_t; | 15 | typedef unsigned long __kernel_size_t; |
| 16 | typedef long __kernel_ssize_t; | ||
| 16 | #define __kernel_size_t __kernel_size_t | 17 | #define __kernel_size_t __kernel_size_t |
| 17 | 18 | ||
| 18 | typedef unsigned short __kernel_old_dev_t; | 19 | typedef unsigned short __kernel_old_dev_t; |
| @@ -25,7 +26,6 @@ typedef unsigned short __kernel_mode_t; | |||
| 25 | typedef unsigned short __kernel_ipc_pid_t; | 26 | typedef unsigned short __kernel_ipc_pid_t; |
| 26 | typedef unsigned short __kernel_uid_t; | 27 | typedef unsigned short __kernel_uid_t; |
| 27 | typedef unsigned short __kernel_gid_t; | 28 | typedef unsigned short __kernel_gid_t; |
| 28 | typedef int __kernel_ssize_t; | ||
| 29 | typedef int __kernel_ptrdiff_t; | 29 | typedef int __kernel_ptrdiff_t; |
| 30 | 30 | ||
| 31 | #else /* __s390x__ */ | 31 | #else /* __s390x__ */ |
| @@ -35,7 +35,6 @@ typedef unsigned int __kernel_mode_t; | |||
| 35 | typedef int __kernel_ipc_pid_t; | 35 | typedef int __kernel_ipc_pid_t; |
| 36 | typedef unsigned int __kernel_uid_t; | 36 | typedef unsigned int __kernel_uid_t; |
| 37 | typedef unsigned int __kernel_gid_t; | 37 | typedef unsigned int __kernel_gid_t; |
| 38 | typedef long __kernel_ssize_t; | ||
| 39 | typedef long __kernel_ptrdiff_t; | 38 | typedef long __kernel_ptrdiff_t; |
| 40 | typedef unsigned long __kernel_sigset_t; /* at least 32 bits */ | 39 | typedef unsigned long __kernel_sigset_t; /* at least 32 bits */ |
| 41 | 40 | ||
diff --git a/arch/s390/include/asm/smp.h b/arch/s390/include/asm/smp.h index a0a8340daafa..ce26ac3cb162 100644 --- a/arch/s390/include/asm/smp.h +++ b/arch/s390/include/asm/smp.h | |||
| @@ -44,6 +44,7 @@ static inline void smp_call_online_cpu(void (*func)(void *), void *data) | |||
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | static inline int smp_find_processor_id(int address) { return 0; } | 46 | static inline int smp_find_processor_id(int address) { return 0; } |
| 47 | static inline int smp_store_status(int cpu) { return 0; } | ||
| 47 | static inline int smp_vcpu_scheduled(int cpu) { return 1; } | 48 | static inline int smp_vcpu_scheduled(int cpu) { return 1; } |
| 48 | static inline void smp_yield_cpu(int cpu) { } | 49 | static inline void smp_yield_cpu(int cpu) { } |
| 49 | static inline void smp_yield(void) { } | 50 | static inline void smp_yield(void) { } |
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 40a826a7295f..2fb2b9ea97ec 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
| @@ -3804,7 +3804,7 @@ dasd_eckd_ioctl(struct dasd_block *block, unsigned int cmd, void __user *argp) | |||
| 3804 | case BIODASDSYMMIO: | 3804 | case BIODASDSYMMIO: |
| 3805 | return dasd_symm_io(device, argp); | 3805 | return dasd_symm_io(device, argp); |
| 3806 | default: | 3806 | default: |
| 3807 | return -ENOIOCTLCMD; | 3807 | return -ENOTTY; |
| 3808 | } | 3808 | } |
| 3809 | } | 3809 | } |
| 3810 | 3810 | ||
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index cceae70279f6..654c6921a6d4 100644 --- a/drivers/s390/block/dasd_ioctl.c +++ b/drivers/s390/block/dasd_ioctl.c | |||
| @@ -498,12 +498,9 @@ int dasd_ioctl(struct block_device *bdev, fmode_t mode, | |||
| 498 | break; | 498 | break; |
| 499 | default: | 499 | default: |
| 500 | /* if the discipline has an ioctl method try it. */ | 500 | /* if the discipline has an ioctl method try it. */ |
| 501 | if (base->discipline->ioctl) { | 501 | rc = -ENOTTY; |
| 502 | if (base->discipline->ioctl) | ||
| 502 | rc = base->discipline->ioctl(block, cmd, argp); | 503 | rc = base->discipline->ioctl(block, cmd, argp); |
| 503 | if (rc == -ENOIOCTLCMD) | ||
| 504 | rc = -EINVAL; | ||
| 505 | } else | ||
| 506 | rc = -EINVAL; | ||
| 507 | } | 504 | } |
| 508 | dasd_put_device(base); | 505 | dasd_put_device(base); |
| 509 | return rc; | 506 | return rc; |
