diff options
| -rw-r--r-- | arch/m32r/include/asm/elf.h | 4 | ||||
| -rw-r--r-- | arch/m32r/kernel/.gitignore | 1 | ||||
| -rw-r--r-- | arch/m32r/kernel/signal.c | 4 | ||||
| -rw-r--r-- | arch/um/drivers/hostaudio_kern.c | 14 | ||||
| -rw-r--r-- | include/linux/types.h | 15 | ||||
| -rw-r--r-- | kernel/sysctl_check.c | 9 | ||||
| -rw-r--r-- | sound/core/rawmidi.c | 4 |
7 files changed, 28 insertions, 23 deletions
diff --git a/arch/m32r/include/asm/elf.h b/arch/m32r/include/asm/elf.h index 2f85412ef730..b8da7d0574d2 100644 --- a/arch/m32r/include/asm/elf.h +++ b/arch/m32r/include/asm/elf.h | |||
| @@ -82,9 +82,9 @@ typedef elf_fpreg_t elf_fpregset_t; | |||
| 82 | * These are used to set parameters in the core dumps. | 82 | * These are used to set parameters in the core dumps. |
| 83 | */ | 83 | */ |
| 84 | #define ELF_CLASS ELFCLASS32 | 84 | #define ELF_CLASS ELFCLASS32 |
| 85 | #if defined(__LITTLE_ENDIAN) | 85 | #if defined(__LITTLE_ENDIAN__) |
| 86 | #define ELF_DATA ELFDATA2LSB | 86 | #define ELF_DATA ELFDATA2LSB |
| 87 | #elif defined(__BIG_ENDIAN) | 87 | #elif defined(__BIG_ENDIAN__) |
| 88 | #define ELF_DATA ELFDATA2MSB | 88 | #define ELF_DATA ELFDATA2MSB |
| 89 | #else | 89 | #else |
| 90 | #error no endian defined | 90 | #error no endian defined |
diff --git a/arch/m32r/kernel/.gitignore b/arch/m32r/kernel/.gitignore new file mode 100644 index 000000000000..c5f676c3c224 --- /dev/null +++ b/arch/m32r/kernel/.gitignore | |||
| @@ -0,0 +1 @@ | |||
| vmlinux.lds | |||
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index 7bbe38645ed5..a08697f0886d 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c | |||
| @@ -28,6 +28,8 @@ | |||
| 28 | 28 | ||
| 29 | #define DEBUG_SIG 0 | 29 | #define DEBUG_SIG 0 |
| 30 | 30 | ||
| 31 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||
| 32 | |||
| 31 | asmlinkage int | 33 | asmlinkage int |
| 32 | sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, | 34 | sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, |
| 33 | unsigned long r2, unsigned long r3, unsigned long r4, | 35 | unsigned long r2, unsigned long r3, unsigned long r4, |
| @@ -254,7 +256,7 @@ give_sigsegv: | |||
| 254 | static int prev_insn(struct pt_regs *regs) | 256 | static int prev_insn(struct pt_regs *regs) |
| 255 | { | 257 | { |
| 256 | u16 inst; | 258 | u16 inst; |
| 257 | if (get_user(&inst, (u16 __user *)(regs->bpc - 2))) | 259 | if (get_user(inst, (u16 __user *)(regs->bpc - 2))) |
| 258 | return -EFAULT; | 260 | return -EFAULT; |
| 259 | if ((inst & 0xfff0) == 0x10f0) /* trap ? */ | 261 | if ((inst & 0xfff0) == 0x10f0) /* trap ? */ |
| 260 | regs->bpc -= 2; | 262 | regs->bpc -= 2; |
diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c index 0c46e398cd8f..63c740a85b4c 100644 --- a/arch/um/drivers/hostaudio_kern.c +++ b/arch/um/drivers/hostaudio_kern.c | |||
| @@ -40,6 +40,11 @@ static char *mixer = HOSTAUDIO_DEV_MIXER; | |||
| 40 | " This is used to specify the host mixer device to the hostaudio driver.\n"\ | 40 | " This is used to specify the host mixer device to the hostaudio driver.\n"\ |
| 41 | " The default is \"" HOSTAUDIO_DEV_MIXER "\".\n\n" | 41 | " The default is \"" HOSTAUDIO_DEV_MIXER "\".\n\n" |
| 42 | 42 | ||
| 43 | module_param(dsp, charp, 0644); | ||
| 44 | MODULE_PARM_DESC(dsp, DSP_HELP); | ||
| 45 | module_param(mixer, charp, 0644); | ||
| 46 | MODULE_PARM_DESC(mixer, MIXER_HELP); | ||
| 47 | |||
| 43 | #ifndef MODULE | 48 | #ifndef MODULE |
| 44 | static int set_dsp(char *name, int *add) | 49 | static int set_dsp(char *name, int *add) |
| 45 | { | 50 | { |
| @@ -56,15 +61,6 @@ static int set_mixer(char *name, int *add) | |||
| 56 | } | 61 | } |
| 57 | 62 | ||
| 58 | __uml_setup("mixer=", set_mixer, "mixer=<mixer device>\n" MIXER_HELP); | 63 | __uml_setup("mixer=", set_mixer, "mixer=<mixer device>\n" MIXER_HELP); |
| 59 | |||
| 60 | #else /*MODULE*/ | ||
| 61 | |||
| 62 | module_param(dsp, charp, 0644); | ||
| 63 | MODULE_PARM_DESC(dsp, DSP_HELP); | ||
| 64 | |||
| 65 | module_param(mixer, charp, 0644); | ||
| 66 | MODULE_PARM_DESC(mixer, MIXER_HELP); | ||
| 67 | |||
| 68 | #endif | 64 | #endif |
| 69 | 65 | ||
| 70 | /* /dev/dsp file operations */ | 66 | /* /dev/dsp file operations */ |
diff --git a/include/linux/types.h b/include/linux/types.h index 01a082f56ef4..357dbc19606f 100644 --- a/include/linux/types.h +++ b/include/linux/types.h | |||
| @@ -121,7 +121,15 @@ typedef __u64 u_int64_t; | |||
| 121 | typedef __s64 int64_t; | 121 | typedef __s64 int64_t; |
| 122 | #endif | 122 | #endif |
| 123 | 123 | ||
| 124 | /* this is a special 64bit data type that is 8-byte aligned */ | 124 | /* |
| 125 | * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid | ||
| 126 | * common 32/64-bit compat problems. | ||
| 127 | * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other | ||
| 128 | * architectures) and to 8-byte boundaries on 64-bit architetures. The new | ||
| 129 | * aligned_64 type enforces 8-byte alignment so that structs containing | ||
| 130 | * aligned_64 values have the same alignment on 32-bit and 64-bit architectures. | ||
| 131 | * No conversions are necessary between 32-bit user-space and a 64-bit kernel. | ||
| 132 | */ | ||
| 125 | #define aligned_u64 __u64 __attribute__((aligned(8))) | 133 | #define aligned_u64 __u64 __attribute__((aligned(8))) |
| 126 | #define aligned_be64 __be64 __attribute__((aligned(8))) | 134 | #define aligned_be64 __be64 __attribute__((aligned(8))) |
| 127 | #define aligned_le64 __le64 __attribute__((aligned(8))) | 135 | #define aligned_le64 __le64 __attribute__((aligned(8))) |
| @@ -178,6 +186,11 @@ typedef __u64 __bitwise __be64; | |||
| 178 | typedef __u16 __bitwise __sum16; | 186 | typedef __u16 __bitwise __sum16; |
| 179 | typedef __u32 __bitwise __wsum; | 187 | typedef __u32 __bitwise __wsum; |
| 180 | 188 | ||
| 189 | /* this is a special 64bit data type that is 8-byte aligned */ | ||
| 190 | #define __aligned_u64 __u64 __attribute__((aligned(8))) | ||
| 191 | #define __aligned_be64 __be64 __attribute__((aligned(8))) | ||
| 192 | #define __aligned_le64 __le64 __attribute__((aligned(8))) | ||
| 193 | |||
| 181 | #ifdef __KERNEL__ | 194 | #ifdef __KERNEL__ |
| 182 | typedef unsigned __bitwise__ gfp_t; | 195 | typedef unsigned __bitwise__ gfp_t; |
| 183 | typedef unsigned __bitwise__ fmode_t; | 196 | typedef unsigned __bitwise__ fmode_t; |
diff --git a/kernel/sysctl_check.c b/kernel/sysctl_check.c index 04cdcf72c827..10b90d8a03c4 100644 --- a/kernel/sysctl_check.c +++ b/kernel/sysctl_check.c | |||
| @@ -143,15 +143,6 @@ int sysctl_check_table(struct nsproxy *namespaces, struct ctl_table *table) | |||
| 143 | if (!table->maxlen) | 143 | if (!table->maxlen) |
| 144 | set_fail(&fail, table, "No maxlen"); | 144 | set_fail(&fail, table, "No maxlen"); |
| 145 | } | 145 | } |
| 146 | if ((table->proc_handler == proc_doulongvec_minmax) || | ||
| 147 | (table->proc_handler == proc_doulongvec_ms_jiffies_minmax)) { | ||
| 148 | if (table->maxlen > sizeof (unsigned long)) { | ||
| 149 | if (!table->extra1) | ||
| 150 | set_fail(&fail, table, "No min"); | ||
| 151 | if (!table->extra2) | ||
| 152 | set_fail(&fail, table, "No max"); | ||
| 153 | } | ||
| 154 | } | ||
| 155 | #ifdef CONFIG_PROC_SYSCTL | 146 | #ifdef CONFIG_PROC_SYSCTL |
| 156 | if (table->procname && !table->proc_handler) | 147 | if (table->procname && !table->proc_handler) |
| 157 | set_fail(&fail, table, "No proc_handler"); | 148 | set_fail(&fail, table, "No proc_handler"); |
diff --git a/sound/core/rawmidi.c b/sound/core/rawmidi.c index a7868ad4d530..cbbed0db9e56 100644 --- a/sound/core/rawmidi.c +++ b/sound/core/rawmidi.c | |||
| @@ -535,13 +535,15 @@ static int snd_rawmidi_release(struct inode *inode, struct file *file) | |||
| 535 | { | 535 | { |
| 536 | struct snd_rawmidi_file *rfile; | 536 | struct snd_rawmidi_file *rfile; |
| 537 | struct snd_rawmidi *rmidi; | 537 | struct snd_rawmidi *rmidi; |
| 538 | struct module *module; | ||
| 538 | 539 | ||
| 539 | rfile = file->private_data; | 540 | rfile = file->private_data; |
| 540 | rmidi = rfile->rmidi; | 541 | rmidi = rfile->rmidi; |
| 541 | rawmidi_release_priv(rfile); | 542 | rawmidi_release_priv(rfile); |
| 542 | kfree(rfile); | 543 | kfree(rfile); |
| 544 | module = rmidi->card->module; | ||
| 543 | snd_card_file_remove(rmidi->card, file); | 545 | snd_card_file_remove(rmidi->card, file); |
| 544 | module_put(rmidi->card->module); | 546 | module_put(module); |
| 545 | return 0; | 547 | return 0; |
| 546 | } | 548 | } |
| 547 | 549 | ||
