Patch "mips: always link byteswap helpers into decompressor" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    mips: always link byteswap helpers into decompressor

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mips-always-link-byteswap-helpers-into-decompressor.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 86f56507f28bbe058d960bda025391def3262937
Author: Arnd Bergmann <arnd@xxxxxxxx>
Date:   Fri Jul 2 16:28:37 2021 +0200

    mips: always link byteswap helpers into decompressor
    
    [ Upstream commit cddc40f5617e53f97ef019d5b29c1bd6cbb031ec ]
    
    My series to clean up the unaligned access implementation
    across architectures caused some mips randconfig builds to
    fail with:
    
       mips64-linux-ld: arch/mips/boot/compressed/decompress.o: in function `decompress_kernel':
       decompress.c:(.text.decompress_kernel+0x54): undefined reference to `__bswapsi2'
    
    It turns out that this problem has already been fixed for the XZ
    decompressor but now it also shows up in (at least) LZO and LZ4.  From my
    analysis I concluded that the compiler could always have emitted those
    calls, but the different implementation allowed it to make otherwise
    better decisions about not inlining the byteswap, which results in the
    link error when the out-of-line code is missing.
    
    While it could be addressed by adding it to the two decompressor
    implementations that are known to be affected, but as this only adds
    112 bytes to the kernel, the safer choice is to always add them.
    
    Fixes: c50ec6787536 ("MIPS: zboot: Fix the build with XZ compression on older GCC versions")
    Fixes: 0652035a5794 ("asm-generic: unaligned: remove byteshift helpers")
    Link: https://lore.kernel.org/linux-mm/202106301304.gz2wVY9w-lkp@xxxxxxxxx/
    Link: https://lore.kernel.org/linux-mm/202106260659.TyMe8mjr-lkp@xxxxxxxxx/
    Link: https://lore.kernel.org/linux-mm/202106172016.onWT6Tza-lkp@xxxxxxxxx/
    Link: https://lore.kernel.org/linux-mm/202105231743.JJcALnhS-lkp@xxxxxxxxx/
    Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
    Signed-off-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index 378cbfb31ee7..1d6ebbc2a5d0 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -33,7 +33,7 @@ KBUILD_AFLAGS := $(KBUILD_AFLAGS) -D__ASSEMBLY__ \
 KCOV_INSTRUMENT		:= n
 
 # decompressor objects (linked with vmlinuz)
-vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o
+vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/string.o $(obj)/bswapsi.o
 
 ifdef CONFIG_DEBUG_ZBOOT
 vmlinuzobjs-$(CONFIG_DEBUG_ZBOOT)		   += $(obj)/dbg.o
@@ -47,7 +47,7 @@ extra-y += uart-ath79.c
 $(obj)/uart-ath79.c: $(srctree)/arch/mips/ath79/early_printk.c
 	$(call cmd,shipped)
 
-vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o $(obj)/bswapsi.o
+vmlinuzobjs-$(CONFIG_KERNEL_XZ) += $(obj)/ashldi3.o
 
 extra-y += ashldi3.c
 $(obj)/ashldi3.c: $(obj)/%.c: $(srctree)/lib/%.c FORCE



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux