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/relocate.c | |
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/relocate.c')
-rw-r--r-- | arch/mips/kernel/relocate.c | 10 |
1 files changed, 8 insertions, 2 deletions
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. */ |