# git rev-parse -q --verify 3e97aba429c769bd99ccd8d6f16eda98f7d378a7^{commit} 3e97aba429c769bd99ccd8d6f16eda98f7d378a7 already have revision, skipping fetch # git checkout -q -f -B kisskb 3e97aba429c769bd99ccd8d6f16eda98f7d378a7 # git clean -qxdf # < git log -1 # commit 3e97aba429c769bd99ccd8d6f16eda98f7d378a7 # Author: Christophe Leroy # Date: Tue Mar 12 21:58:57 2019 +0000 # # powerpc: KASAN for 64bit Book3E # # From: Daniel Axtens # # Wire up KASAN. Only outline instrumentation is supported. # # The KASAN shadow area is mapped into vmemmap space: # 0x8000 0400 0000 0000 to 0x8000 0600 0000 0000. # To do this we require that vmemmap be disabled. (This is the default # in the kernel config that QorIQ provides for the machine in their # SDK anyway - they use flat memory.) # # Only the kernel linear mapping (0xc000...) is checked. The vmalloc and # ioremap areas (also in 0x800...) are all mapped to the zero page. As # with the Book3S hash series, this requires overriding the memory <-> # shadow mapping. # # Also, as with both previous 64-bit series, early instrumentation is not # supported. It would allow us to drop the check_return_arch_not_ready() # hook in the KASAN core, but it's tricky to get it set up early enough: # we need it setup before the first call to instrumented code like printk(). # Perhaps in the future. # # Only KASAN_MINIMAL works. # # Tested on e6500. KVM, kexec and xmon have not been tested. # # The test_kasan module fires warnings as expected, except for the # following tests: # # - Expected/by design: # kasan test: memcg_accounted_kmem_cache allocate memcg accounted object # # - Due to only supporting KASAN_MINIMAL: # kasan test: kasan_stack_oob out-of-bounds on stack # kasan test: kasan_global_oob out-of-bounds global variable # kasan test: kasan_alloca_oob_left out-of-bounds to left on alloca # kasan test: kasan_alloca_oob_right out-of-bounds to right on alloca # kasan test: use_after_scope_test use-after-scope on int # kasan test: use_after_scope_test use-after-scope on array # # Thanks to those who have done the heavy lifting over the past several # years: # - Christophe's 32 bit series: https://lists.ozlabs.org/pipermail/linuxppc-dev/2019-February/185379.html # - Aneesh's Book3S hash series: https://lwn.net/Articles/655642/ # - Balbir's Book3S radix series: https://patchwork.ozlabs.org/patch/795211/ # # Cc: Christophe Leroy # Cc: Aneesh Kumar K.V # Cc: Balbir Singh # Signed-off-by: Daniel Axtens # [- Removed EXPORT_SYMBOL of the static key # - Fixed most checkpatch problems # - Replaced kasan_zero_page[] by kasan_early_shadow_page[] # - Reduced casting mess by using intermediate locals # - Fixed build failure on pmac32_defconfig] # Signed-off-by: Christophe Leroy # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 3e97aba429c769bd99ccd8d6f16eda98f7d378a7 # < make -s -j 10 ARCH=powerpc O=/kisskb/build/chleroy_ppc6xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc6xx_defconfig # make -s -j 10 ARCH=powerpc O=/kisskb/build/chleroy_ppc6xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/sound/ppc/pmac.h:25:0, from /kisskb/src/sound/ppc/awacs.c:29: /kisskb/src/sound/ppc/awacs.c: In function 'snd_pmac_awacs_init': /kisskb/src/include/sound/control.h:223:9: warning: 'speaker_vol' may be used uninitialized in this function [-Wmaybe-uninitialized] return _snd_ctl_add_slave(master, slave, 0); ^ /kisskb/src/sound/ppc/awacs.c:886:36: note: 'speaker_vol' was declared here struct snd_kcontrol *master_vol, *speaker_vol; ^ INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xab8e10) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:22 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5161654 Bytes = 5040.68 KiB = 4.92 MiB Load Address: 00000000 Entry Point: 00000000 INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:22 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5191675 Bytes = 5070.00 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00894 Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:22 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5191320 Bytes = 5069.65 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00294 Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:22 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5191215 Bytes = 5069.55 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00294 Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:22 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5191279 Bytes = 5069.61 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00294 INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:22 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5191823 Bytes = 5070.14 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00894 INFO: Uncompressed kernel (size 0xac9528) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) INFO: Uncompressed kernel (size 0xab8e10) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xb00000) Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:24 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5190778 Bytes = 5069.12 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00294 Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:24 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5190977 Bytes = 5069.31 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00294 Image Name: Linux-5.0.0+ Created: Wed Mar 13 17:23:25 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5191709 Bytes = 5070.03 KiB = 4.95 MiB Load Address: 00b00000 Entry Point: 00b00294 Completed OK # rm -rf /kisskb/build/chleroy_ppc6xx_defconfig_powerpc-gcc5 # Build took: 0:04:00.444043