Buildresult: powerpc-fixes/m68k-defconfig/m68k-gcc8 built on Mar 20 2020, 14:44
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Mar 20 2020, 14:44
Duration:
0:03:12.733553
Builder:
ka2
Revision:
KVM: PPC: Fix kernel crash with PR KVM (
1d0c32ec3b860a32df593a22bad0d1dbc5546a59)
Target:
powerpc-fixes/m68k-defconfig/m68k-gcc8
Branch:
powerpc-fixes
Compiler:
m68k-gcc8
(m68k-linux-gcc (GCC) 8.1.0 / GNU ld (GNU Binutils) 2.30)
Config:
defconfig
(
download
)
Log:
Download original
Possible warnings (17)
arch/m68k/include/asm/amigahw.h:42:50: warning: this statement may fall through [-Wimplicit-fallthrough=] arch/m68k/mvme147/config.c:175:2: warning: #warning check me! [-Wcpp] #warning check me! arch/m68k/mvme16x/config.c:440:2: warning: #warning check me! [-Wcpp] #warning check me! arch/m68k/include/asm/cmpxchg.h:137:3: warning: value computed is not used [-Wunused-value] arch/m68k/include/asm/cmpxchg.h:137:3: warning: value computed is not used [-Wunused-value] drivers/net/ethernet/8390/lib8390.c:988:27: warning: '____alloc_ei_netdev' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:950:13: warning: '__ei_set_multicast_list' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:850:33: warning: '__ei_get_stats' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:509:13: warning: '__ei_poll' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:300:20: warning: '__ei_start_xmit' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:254:13: warning: '__ei_tx_timeout' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:230:12: warning: '__ei_close' defined but not used [-Wunused-function] drivers/net/ethernet/8390/lib8390.c:201:12: warning: '__ei_open' defined but not used [-Wunused-function] arch/m68k/include/asm/cmpxchg.h:79:22: warning: value computed is not used [-Wunused-value] arch/m68k/include/asm/cmpxchg.h:137:3: warning: value computed is not used [-Wunused-value]
Full Log
# git rev-parse -q --verify 1d0c32ec3b860a32df593a22bad0d1dbc5546a59^{commit} # git fetch -q -n -f git://gitlab.ozlabs.ibm.com/linuxppc/linux.git fixes-test # git rev-parse -q --verify 1d0c32ec3b860a32df593a22bad0d1dbc5546a59^{commit} 1d0c32ec3b860a32df593a22bad0d1dbc5546a59 # git checkout -q -f -B kisskb 1d0c32ec3b860a32df593a22bad0d1dbc5546a59 # git clean -qxdf # < git log -1 # commit 1d0c32ec3b860a32df593a22bad0d1dbc5546a59 # Author: Greg Kurz <groug@kaod.org> # Date: Wed Mar 18 18:43:30 2020 +0100 # # KVM: PPC: Fix kernel crash with PR KVM # # With PR KVM, shutting down a VM causes the host kernel to crash: # # [ 314.219284] BUG: Unable to handle kernel data access on read at 0xc00800000176c638 # [ 314.219299] Faulting instruction address: 0xc008000000d4ddb0 # cpu 0x0: Vector: 300 (Data Access) at [c00000036da077a0] # pc: c008000000d4ddb0: kvmppc_mmu_pte_flush_all+0x68/0xd0 [kvm_pr] # lr: c008000000d4dd94: kvmppc_mmu_pte_flush_all+0x4c/0xd0 [kvm_pr] # sp: c00000036da07a30 # msr: 900000010280b033 # dar: c00800000176c638 # dsisr: 40000000 # current = 0xc00000036d4c0000 # paca = 0xc000000001a00000 irqmask: 0x03 irq_happened: 0x01 # pid = 1992, comm = qemu-system-ppc # Linux version 5.6.0-master-gku+ (greg@palmb) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #17 SMP Wed Mar 18 13:49:29 CET 2020 # enter ? for help # [c00000036da07ab0] c008000000d4fbe0 kvmppc_mmu_destroy_pr+0x28/0x60 [kvm_pr] # [c00000036da07ae0] c0080000009eab8c kvmppc_mmu_destroy+0x34/0x50 [kvm] # [c00000036da07b00] c0080000009e50c0 kvm_arch_vcpu_destroy+0x108/0x140 [kvm] # [c00000036da07b30] c0080000009d1b50 kvm_vcpu_destroy+0x28/0x80 [kvm] # [c00000036da07b60] c0080000009e4434 kvm_arch_destroy_vm+0xbc/0x190 [kvm] # [c00000036da07ba0] c0080000009d9c2c kvm_put_kvm+0x1d4/0x3f0 [kvm] # [c00000036da07c00] c0080000009da760 kvm_vm_release+0x38/0x60 [kvm] # [c00000036da07c30] c000000000420be0 __fput+0xe0/0x310 # [c00000036da07c90] c0000000001747a0 task_work_run+0x150/0x1c0 # [c00000036da07cf0] c00000000014896c do_exit+0x44c/0xd00 # [c00000036da07dc0] c0000000001492f4 do_group_exit+0x64/0xd0 # [c00000036da07e00] c000000000149384 sys_exit_group+0x24/0x30 # [c00000036da07e20] c00000000000b9d0 system_call+0x5c/0x68 # # This is caused by a use-after-free in kvmppc_mmu_pte_flush_all() # which dereferences vcpu->arch.book3s which was previously freed by # kvmppc_core_vcpu_free_pr(). This happens because kvmppc_mmu_destroy() # is called after kvmppc_core_vcpu_free() since commit ff030fdf5573 # ("KVM: PPC: Move kvm_vcpu_init() invocation to common code"). # # The kvmppc_mmu_destroy() helper calls one of the following depending # on the KVM backend: # # - kvmppc_mmu_destroy_hv() which does nothing (Book3s HV) # # - kvmppc_mmu_destroy_pr() which undoes the effects of # kvmppc_mmu_init() (Book3s PR 32-bit) # # - kvmppc_mmu_destroy_pr() which undoes the effects of # kvmppc_mmu_init() (Book3s PR 64-bit) # # - kvmppc_mmu_destroy_e500() which does nothing (BookE e500/e500mc) # # It turns out that this is only relevant to PR KVM actually. And both # 32 and 64 backends need vcpu->arch.book3s to be valid when calling # kvmppc_mmu_destroy_pr(). So instead of calling kvmppc_mmu_destroy() # from kvm_arch_vcpu_destroy(), call kvmppc_mmu_destroy_pr() at the # beginning of kvmppc_core_vcpu_free_pr(). This is consistent with # kvmppc_mmu_init() being the last call in kvmppc_core_vcpu_create_pr(). # # For the same reason, if kvmppc_core_vcpu_create_pr() returns an # error then this means that kvmppc_mmu_init() was either not called # or failed, in which case kvmppc_mmu_destroy() should not be called. # Drop the line in the error path of kvm_arch_vcpu_create(). # # Fixes: ff030fdf5573 ("KVM: PPC: Move kvm_vcpu_init() invocation to common code") # Signed-off-by: Greg Kurz <groug@kaod.org> # Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> # Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> # Link: https://lore.kernel.org/r/158455341029.178873.15248663726399374882.stgit@bahia.lan # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 1d0c32ec3b860a32df593a22bad0d1dbc5546a59 # < make -s -j 8 ARCH=m68k O=/kisskb/build/powerpc-fixes_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- defconfig # < make -s -j 8 ARCH=m68k O=/kisskb/build/powerpc-fixes_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- help # make -s -j 8 ARCH=m68k O=/kisskb/build/powerpc-fixes_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- olddefconfig # make -s -j 8 ARCH=m68k O=/kisskb/build/powerpc-fixes_m68k-defconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/m68k-linux/bin/m68k-linux- In file included from /kisskb/src/arch/m68k/include/asm/amigayle.h:21, from /kisskb/src/arch/m68k/include/asm/io_mm.h:59, from /kisskb/src/arch/m68k/include/asm/io.h:8, from /kisskb/src/include/linux/clocksource.h:21, from /kisskb/src/arch/m68k/amiga/config.c:20: /kisskb/src/arch/m68k/amiga/config.c: In function 'amiga_identify': /kisskb/src/arch/m68k/include/asm/amigahw.h:42:50: warning: this statement may fall through [-Wimplicit-fallthrough=] #define AMIGAHW_SET(name) (amiga_hw_present.name = 1) ~~~~~~~~~~~~~~~~~~~~~~~^~~~ /kisskb/src/arch/m68k/amiga/config.c:223:3: note: in expansion of macro 'AMIGAHW_SET' AMIGAHW_SET(PCMCIA); ^~~~~~~~~~~ /kisskb/src/arch/m68k/amiga/config.c:224:2: note: here case AMI_500: ^~~~ /kisskb/src/arch/m68k/mvme147/config.c: In function 'mvme147_hwclk': /kisskb/src/arch/m68k/mvme147/config.c:175:2: warning: #warning check me! [-Wcpp] #warning check me! ^~~~~~~ /kisskb/src/arch/m68k/mvme16x/config.c: In function 'mvme16x_hwclk': /kisskb/src/arch/m68k/mvme16x/config.c:440:2: warning: #warning check me! [-Wcpp] #warning check me! ^~~~~~~ In file included from /kisskb/src/arch/m68k/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/linux/spinlock.h:445, from /kisskb/src/include/linux/mmzone.h:8, from /kisskb/src/include/linux/gfp.h:6, from /kisskb/src/include/linux/mm.h:10, from /kisskb/src/kernel/acct.c:47: /kisskb/src/kernel/acct.c: In function 'acct_pin_kill': /kisskb/src/arch/m68k/include/asm/cmpxchg.h:137:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (unsigned long)(n), sizeof(*(ptr)))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/cmpxchg.h:106:28: note: in expansion of macro 'cmpxchg_local' #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) ^~~~~~~~~~~~~ /kisskb/src/kernel/acct.c:177:2: note: in expansion of macro 'cmpxchg' cmpxchg(&acct->ns->bacct, pin, NULL); ^~~~~~~ In file included from /kisskb/src/arch/m68k/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/linux/spinlock.h:445, from /kisskb/src/include/linux/seqlock.h:36, from /kisskb/src/include/linux/time.h:6, from /kisskb/src/include/linux/stat.h:19, from /kisskb/src/include/linux/module.h:13, from /kisskb/src/net/core/filter.c:20: /kisskb/src/net/core/filter.c: In function 'bpf_clear_redirect_map': /kisskb/src/arch/m68k/include/asm/cmpxchg.h:137:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (unsigned long)(n), sizeof(*(ptr)))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/cmpxchg.h:106:28: note: in expansion of macro 'cmpxchg_local' #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) ^~~~~~~~~~~~~ /kisskb/src/net/core/filter.c:3516:4: note: in expansion of macro 'cmpxchg' cmpxchg(&ri->map, map, NULL); ^~~~~~~ In file included from /kisskb/src/drivers/net/ethernet/8390/xsurf100.c:48: /kisskb/src/drivers/net/ethernet/8390/lib8390.c:988:27: warning: '____alloc_ei_netdev' defined but not used [-Wunused-function] static struct net_device *____alloc_ei_netdev(int size) ^~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:950:13: warning: '__ei_set_multicast_list' defined but not used [-Wunused-function] static void __ei_set_multicast_list(struct net_device *dev) ^~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:850:33: warning: '__ei_get_stats' defined but not used [-Wunused-function] static struct net_device_stats *__ei_get_stats(struct net_device *dev) ^~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:509:13: warning: '__ei_poll' defined but not used [-Wunused-function] static void __ei_poll(struct net_device *dev) ^~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:300:20: warning: '__ei_start_xmit' defined but not used [-Wunused-function] static netdev_tx_t __ei_start_xmit(struct sk_buff *skb, ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:254:13: warning: '__ei_tx_timeout' defined but not used [-Wunused-function] static void __ei_tx_timeout(struct net_device *dev, unsigned int txqueue) ^~~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:230:12: warning: '__ei_close' defined but not used [-Wunused-function] static int __ei_close(struct net_device *dev) ^~~~~~~~~~ /kisskb/src/drivers/net/ethernet/8390/lib8390.c:201:12: warning: '__ei_open' defined but not used [-Wunused-function] static int __ei_open(struct net_device *dev) ^~~~~~~~~ In file included from /kisskb/src/arch/m68k/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/linux/spinlock.h:445, from /kisskb/src/include/linux/wait.h:9, from /kisskb/src/include/linux/wait_bit.h:8, from /kisskb/src/include/linux/fs.h:6, from /kisskb/src/fs/ocfs2/file.c:13: /kisskb/src/fs/ocfs2/file.c: In function 'ocfs2_file_write_iter': /kisskb/src/arch/m68k/include/asm/cmpxchg.h:79:22: warning: value computed is not used [-Wunused-value] #define xchg(ptr,x) ((__typeof__(*(ptr)))__xchg((unsigned long)(x),(ptr),sizeof(*(ptr)))) ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/ocfs2/file.c:2419:3: note: in expansion of macro 'xchg' xchg(&iocb->ki_complete, saved_ki_complete); ^~~~ In file included from /kisskb/src/arch/m68k/include/asm/atomic.h:7, from /kisskb/src/include/linux/atomic.h:7, from /kisskb/src/include/linux/spinlock.h:445, from /kisskb/src/include/linux/mmzone.h:8, from /kisskb/src/include/linux/gfp.h:6, from /kisskb/src/include/linux/slab.h:15, from /kisskb/src/fs/posix_acl.c:15: /kisskb/src/fs/posix_acl.c: In function 'get_acl': /kisskb/src/arch/m68k/include/asm/cmpxchg.h:137:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\ ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (unsigned long)(n), sizeof(*(ptr)))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/include/asm-generic/cmpxchg.h:106:28: note: in expansion of macro 'cmpxchg_local' #define cmpxchg(ptr, o, n) cmpxchg_local((ptr), (o), (n)) ^~~~~~~~~~~~~ /kisskb/src/fs/posix_acl.c:148:3: note: in expansion of macro 'cmpxchg' cmpxchg(p, sentinel, ACL_NOT_CACHED); ^~~~~~~ Completed OK # rm -rf /kisskb/build/powerpc-fixes_m68k-defconfig_m68k-gcc8 # Build took: 0:03:12.733553
© Michael Ellerman 2006-2018.