Hi

On 2017-10-02, gre...@linuxfoundation.org wrote:
> This is a note to let you know that I've just added the patch titled
> 
>     KVM: VMX: avoid double list add with VT-d posted interrupts
> 
> to the 4.13-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:
>      kvm-vmx-avoid-double-list-add-with-vt-d-posted-interrupts.patch
> and it can be found in the queue-4.13 subdirectory.

This patch, as part of the current queue-4.13, breaks the build on
i386 (amd64/ x86_64 builds fine):

  CC [M]  arch/x86/kvm/vmx.o
In file included from 
/build/linux-aptosid-4.13/arch/x86/include/asm/atomic.h:7:0,
                 from /build/linux-aptosid-4.13/include/linux/atomic.h:4,
                 from 
/build/linux-aptosid-4.13/include/linux/mm_types_task.h:12,
                 from /build/linux-aptosid-4.13/include/linux/mm_types.h:4,
                 from /build/linux-aptosid-4.13/arch/x86/kvm/irq.h:25,
                 from /build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:19:
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c: In function '__pi_post_block':
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:129:2: warning: 
'__ret' is used uninitialized in this function [-Wuninitialized]
  __ret;        \
  ^~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:86:21: note: '__ret' 
was declared here
  __typeof__(*(ptr)) __ret;     \
                     ^
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:133:2: note: in 
expansion of macro '__raw_cmpxchg'
  __raw_cmpxchg((ptr), (old), (new), (size), LOCK_PREFIX)
  ^~~~~~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:148:2: note: in 
expansion of macro '__cmpxchg'
  __cmpxchg(ptr, old, new, sizeof(*(ptr)))
  ^~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:11422:11: note: in expansion of 
macro 'cmpxchg'
  } while (cmpxchg(&pi_desc->control, old.control,
           ^~~~~~~
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c: In function 'vmx_vcpu_load':
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:2226:2: warning: '__ret' may be 
used uninitialized in this function [-Wmaybe-uninitialized]
  } while (cmpxchg(&pi_desc->control, old.control,
  ^
In file included from 
/build/linux-aptosid-4.13/arch/x86/include/asm/atomic.h:7:0,
                 from /build/linux-aptosid-4.13/include/linux/atomic.h:4,
                 from 
/build/linux-aptosid-4.13/include/linux/mm_types_task.h:12,
                 from /build/linux-aptosid-4.13/include/linux/mm_types.h:4,
                 from /build/linux-aptosid-4.13/arch/x86/kvm/irq.h:25,
                 from /build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:19:
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:86:21: note: '__ret' 
was declared here
  __typeof__(*(ptr)) __ret;     \
                     ^
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:133:2: note: in 
expansion of macro '__raw_cmpxchg'
  __raw_cmpxchg((ptr), (old), (new), (size), LOCK_PREFIX)
  ^~~~~~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:148:2: note: in 
expansion of macro '__cmpxchg'
  __cmpxchg(ptr, old, new, sizeof(*(ptr)))
  ^~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:2226:11: note: in expansion of 
macro 'cmpxchg'
  } while (cmpxchg(&pi_desc->control, old.control,
           ^~~~~~~
In function 'vmx_vcpu_pi_load',
    inlined from 'vmx_vcpu_load' at 
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:2301:2:
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:127:3: error: call to 
'__cmpxchg_wrong_size' declared with attribute error: Bad argument size for 
cmpxchg
   __cmpxchg_wrong_size();     \
   ^~~~~~~~~~~~~~~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:133:2: note: in 
expansion of macro '__raw_cmpxchg'
  __raw_cmpxchg((ptr), (old), (new), (size), LOCK_PREFIX)
  ^~~~~~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:148:2: note: in 
expansion of macro '__cmpxchg'
  __cmpxchg(ptr, old, new, sizeof(*(ptr)))
  ^~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:2226:11: note: in expansion of 
macro 'cmpxchg'
  } while (cmpxchg(&pi_desc->control, old.control,
           ^~~~~~~
In function '__pi_post_block',
    inlined from 'pi_post_block' at 
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:11521:2,
    inlined from 'vmx_post_block' at 
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:11530:2:
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:127:3: error: call to 
'__cmpxchg_wrong_size' declared with attribute error: Bad argument size for 
cmpxchg
   __cmpxchg_wrong_size();     \
   ^~~~~~~~~~~~~~~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:133:2: note: in 
expansion of macro '__raw_cmpxchg'
  __raw_cmpxchg((ptr), (old), (new), (size), LOCK_PREFIX)
  ^~~~~~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/include/asm/cmpxchg.h:148:2: note: in 
expansion of macro '__cmpxchg'
  __cmpxchg(ptr, old, new, sizeof(*(ptr)))
  ^~~~~~~~~
/build/linux-aptosid-4.13/arch/x86/kvm/vmx.c:11422:11: note: in expansion of 
macro 'cmpxchg'
  } while (cmpxchg(&pi_desc->control, old.control,
           ^~~~~~~
/build/linux-aptosid-4.13/scripts/Makefile.build:302: recipe for target 
'arch/x86/kvm/vmx.o' failed
make[7]: *** [arch/x86/kvm/vmx.o] Error 1


Reverting just these patches from queue-4.13
        kvm-vmx-avoid-double-list-add-with-vt-d-posted-interrupts.patch 
        kvm-vmx-simplify-and-fix-vmx_vcpu_pi_load.patch
fixes the problem for me (tested on i386 and x86_64); the failing config
for i386 is attached (xz compressed).

Regards
        Stefan Lippers-Hollmann

Attachment: config-4.13.0-4.slh.2-aptosid-686.xz
Description: application/xz

Reply via email to