# git rev-parse -q --verify 50087112592016a3fc10b394a55f1f1a1bde6908^{commit} 50087112592016a3fc10b394a55f1f1a1bde6908 already have revision, skipping fetch # git checkout -q -f -B kisskb 50087112592016a3fc10b394a55f1f1a1bde6908 # git clean -qxdf # < git log -1 # commit 50087112592016a3fc10b394a55f1f1a1bde6908 # Author: Suraj Jitindar Singh # Date: Thu Jun 20 11:46:49 2019 +1000 # # KVM: PPC: Book3S HV: Invalidate ERAT when flushing guest TLB entries # # When a guest vcpu moves from one physical thread to another it is # necessary for the host to perform a tlb flush on the previous core if # another vcpu from the same guest is going to run there. This is because the # guest may use the local form of the tlb invalidation instruction meaning # stale tlb entries would persist where it previously ran. This is handled # on guest entry in kvmppc_check_need_tlb_flush() which calls # flush_guest_tlb() to perform the tlb flush. # # Previously the generic radix__local_flush_tlb_lpid_guest() function was # used, however the functionality was reimplemented in flush_guest_tlb() # to avoid the trace_tlbie() call as the flushing may be done in real # mode. The reimplementation in flush_guest_tlb() was missing an erat # invalidation after flushing the tlb. # # This lead to observable memory corruption in the guest due to the # caching of stale translations. Fix this by adding the erat invalidation. # # Fixes: 70ea13f6e609 ("KVM: PPC: Book3S HV: Flush TLB on secondary radix threads") # Signed-off-by: Suraj Jitindar Singh # Signed-off-by: Michael Ellerman # < /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 50087112592016a3fc10b394a55f1f1a1bde6908 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- mpc85xx_defconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc85xx_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/include/linux/kernel.h:11:0, from /kisskb/src/include/linux/list.h:9, from /kisskb/src/include/linux/module.h:9, from /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:15: /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c: In function 'allocate_bd': /kisskb/src/include/linux/err.h:22:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO) ^ /kisskb/src/include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:139:6: note: in expansion of macro 'IS_ERR_VALUE' if (IS_ERR_VALUE(fep->ring_mem_addr)) ^ /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8541cds.dts:334.3-21: Warning (pci_device_bus_num): /pci@e0008000/i8259@19000:bus-range: PCI bus number 1 out of range, expected (0 - 0) /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8555cds.dts:334.3-21: Warning (pci_device_bus_num): /pci@e0008000/i8259@19000:bus-range: PCI bus number 1 out of range, expected (0 - 0) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbd5518) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) INFO: Uncompressed kernel (size 0xbc4ce4) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xc00000) Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826504 Bytes = 5689.95 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826552 Bytes = 5689.99 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c00314 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5829440 Bytes = 5692.81 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826432 Bytes = 5689.88 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5797295 Bytes = 5661.42 KiB = 5.53 MiB Load Address: 00000000 Entry Point: 00000000 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826856 Bytes = 5690.29 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5828187 Bytes = 5691.59 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5829303 Bytes = 5692.68 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826514 Bytes = 5689.96 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c00314 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826845 Bytes = 5690.28 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c00314 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5827768 Bytes = 5691.18 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826516 Bytes = 5689.96 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c00314 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826957 Bytes = 5690.39 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c00314 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5828934 Bytes = 5692.32 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826898 Bytes = 5690.33 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Image Name: Linux-5.2.0-rc2-g500871125920 Created: Fri Jun 21 00:07:40 2019 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 5826897 Bytes = 5690.33 KiB = 5.56 MiB Load Address: 00c00000 Entry Point: 00c002a4 Completed OK # rm -rf /kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 # Build took: 0:01:11.481355