diff options
author | Takashi Iwai <tiwai@suse.de> | 2021-02-15 09:06:39 +0100 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2021-02-15 09:07:01 +0100 |
commit | de1528ee7cb7c161444dadbc971d050bebb5cbe7 (patch) | |
tree | a1f53cd279966802de097c0f0f6625b49e6903f1 /arch/mips/kernel | |
parent | ALSA: hda: Add another CometLake-H PCI ID (diff) | |
parent | ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10 (diff) | |
download | linux-de1528ee7cb7c161444dadbc971d050bebb5cbe7.tar.xz linux-de1528ee7cb7c161444dadbc971d050bebb5cbe7.zip |
Merge branch 'for-next' into for-linus
Unification of 5.12-devel branches.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/binfmt_elfn32.c | 7 | ||||
-rw-r--r-- | arch/mips/kernel/binfmt_elfo32.c | 7 | ||||
-rw-r--r-- | arch/mips/kernel/relocate.c | 10 |
3 files changed, 22 insertions, 2 deletions
diff --git a/arch/mips/kernel/binfmt_elfn32.c b/arch/mips/kernel/binfmt_elfn32.c index 6ee3f7218c67..c4441416e96b 100644 --- a/arch/mips/kernel/binfmt_elfn32.c +++ b/arch/mips/kernel/binfmt_elfn32.c @@ -103,4 +103,11 @@ jiffies_to_old_timeval32(unsigned long jiffies, struct old_timeval32 *value) #undef ns_to_kernel_old_timeval #define ns_to_kernel_old_timeval ns_to_old_timeval32 +/* + * Some data types as stored in coredump. + */ +#define user_long_t compat_long_t +#define user_siginfo_t compat_siginfo_t +#define copy_siginfo_to_external copy_siginfo_to_external32 + #include "../../../fs/binfmt_elf.c" diff --git a/arch/mips/kernel/binfmt_elfo32.c b/arch/mips/kernel/binfmt_elfo32.c index 6dd103d3cebb..7b2a23f48c1a 100644 --- a/arch/mips/kernel/binfmt_elfo32.c +++ b/arch/mips/kernel/binfmt_elfo32.c @@ -106,4 +106,11 @@ jiffies_to_old_timeval32(unsigned long jiffies, struct old_timeval32 *value) #undef ns_to_kernel_old_timeval #define ns_to_kernel_old_timeval ns_to_old_timeval32 +/* + * Some data types as stored in coredump. + */ +#define user_long_t compat_long_t +#define user_siginfo_t compat_siginfo_t +#define copy_siginfo_to_external copy_siginfo_to_external32 + #include "../../../fs/binfmt_elf.c" diff --git a/arch/mips/kernel/relocate.c b/arch/mips/kernel/relocate.c index 47aeb3350a76..0e365b7c742d 100644 --- a/arch/mips/kernel/relocate.c +++ b/arch/mips/kernel/relocate.c @@ -187,8 +187,14 @@ static int __init relocate_exception_table(long offset) static inline __init unsigned long rotate_xor(unsigned long hash, const void *area, size_t size) { - size_t i; - unsigned long *ptr = (unsigned long *)area; + const typeof(hash) *ptr = PTR_ALIGN(area, sizeof(hash)); + size_t diff, i; + + diff = (void *)ptr - area; + if (unlikely(size < diff + sizeof(hash))) + return hash; + + size = ALIGN_DOWN(size - diff, sizeof(hash)); for (i = 0; i < size / sizeof(hash); i++) { /* Rotate by odd number of bits and XOR. */ |