kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: linux-next: build failure after merge of the kvm tree
       [not found] <20141124171908.034b2fa1@canb.auug.org.au>
@ 2014-11-24  9:38 ` Paolo Bonzini
  0 siblings, 0 replies; 33+ messages in thread
From: Paolo Bonzini @ 2014-11-24  9:38 UTC (permalink / raw)
  To: Stephen Rothwell, Marcelo Tosatti, Gleb Natapov
  Cc: linux-next, linux-kernel, KVM list

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On 24/11/2014 07:19, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the kvm tree, today's linux-next build (x86_64 
> allmodconfig) failed like this:
> 
> ERROR: "get_xsave_addr" [arch/x86/kvm/kvm.ko] undefined!
> 
> Caused by commit 1d7fe1d1fb18 ("KVM: x86: support XSAVES usage in 
> the host").
> 
> I have used the kvm tree from next-20141121 for today.

Indeed this patch wasn't supposed to be pushed yet.  I will rewind
kvm/next by two commits.  Sorry.

Paolo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJUcvyjAAoJEL/70l94x66DqS0H/2KZIYQ2De2dc0xY4tV6fpPV
qHWlQADg4rPJ1Y0nx3f4y3Xbqypp+Jrh9kgc2j3QNj66jcNoE8iYvXTmaCBJx4x8
mex8eurjcP9S+wOHCiWoT/JAnK/jnmkdaxQSWSaGmAaTw+G7Zeui5KUHE/dG9QGK
MNbNJOF1Uksz6Anqd/wNyXAbZcQJAyIiz0sujnOFeZOMG6EY3N9HTYaaYf7hbmtV
q3lZJZOASAOj2+SOWsIaFP6LgcPFW5dQSMpiuZ3aH48VrISHdFnZxoFt5REWiDQZ
ct2HyERItNvjUze/e/b2jjn0KYWswYQgBH7WKUBRvLj291WAepiP8W1dxO2KmaY=
=o6gf
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2016-12-19  1:11 Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2016-12-19  1:11 UTC (permalink / raw)
  To: Marcelo Tosatti, Gleb Natapov, KVM
  Cc: linux-next, linux-kernel, Paolo Bonzini

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kernel/kvm.c: In function '__kvm_vcpu_is_preempted':
arch/x86/kernel/kvm.c:596:14: error: 'struct kvm_steal_time' has no member named 'preempted'
  return !!src->preempted;
              ^
arch/x86/kernel/kvm.c:597:1: warning: control reaches end of non-void function [-Wreturn-type]  
 }
 ^

Caused by commit

  b94c3698b4b0 ("Revert "x86/kvm: Support the vCPU preemption check"")

I have used the kvm tree from next-20161216 for today.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2017-02-08  3:23 Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2017-02-08  3:23 UTC (permalink / raw)
  To: Marcelo Tosatti, Gleb Natapov, KVM
  Cc: linux-next, linux-kernel, Paolo Bonzini

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kvm/x86.c: In function 'kvm_pv_clock_pairing':
arch/x86/kvm/x86.c:6157:2: error: unknown type name 'cycle_t'
  cycle_t cycle;
  ^
arch/x86/kvm/x86.c:6163:42: error: passing argument 2 of 'kvm_get_walltime_and_clockread' from incompatible pointer type [-Werror=incompatible-pointer-types]
  if (kvm_get_walltime_and_clockread(&ts, &cycle) == false)
                                          ^
arch/x86/kvm/x86.c:1665:13: note: expected 'u64 * {aka long long unsigned int *}' but argument is of type 'int *'
 static bool kvm_get_walltime_and_clockread(struct timespec *ts,
             ^

Caused by commit

  55dd00a73a51 ("KVM: x86: add KVM_HC_CLOCK_PAIRING hypercall")

I have used the version fo the kvm tree from next-20170207 for today.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2018-12-19  4:33 Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2018-12-19  4:33 UTC (permalink / raw)
  To: Paolo Bonzini, Radim Krčmář, KVM, Thomas Gleixner,
	Ingo Molnar, H. Peter Anvin, Peter Zijlstra
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Dave Hansen,
	Sean Christopherson

[-- Attachment #1: Type: text/plain, Size: 5372 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kvm/vmx/nested.c: In function 'prepare_vmcs02_full':
arch/x86/kvm/vmx/nested.c:2242:6: error: implicit declaration of function 'kvm_mpx_supported'; did you mean 'vmx_mpx_supported'? [-Werror=implicit-function-declaration]
  if (kvm_mpx_supported()) {
      ^~~~~~~~~~~~~~~~~
      vmx_mpx_supported

Caused by commit

  55d2375e58a6 ("KVM: nVMX: Move nested code to dedicated files")

interacting with commit

  eb012ef3b4e3 ("x86: Remove Intel MPX")

from the tip tree.

I applied the following merge fix patch for today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 19 Dec 2018 15:28:31 +1100
Subject: [PATCH] kvm: tidy up from MPX removal

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/x86/kvm/vmx/nested.c | 13 -------------
 arch/x86/kvm/vmx/vmx.c    | 40 +++------------------------------------
 2 files changed, 3 insertions(+), 50 deletions(-)

diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index 3f019aa63341..59e6da4171a8 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -2238,14 +2238,6 @@ static void prepare_vmcs02_full(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12)
 	vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, vmx->msr_autoload.guest.nr);
 
 	set_cr4_guest_host_mask(vmx);
-
-	if (kvm_mpx_supported()) {
-		if (vmx->nested.nested_run_pending &&
-			(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_BNDCFGS))
-			vmcs_write64(GUEST_BNDCFGS, vmcs12->guest_bndcfgs);
-		else
-			vmcs_write64(GUEST_BNDCFGS, vmx->nested.vmcs01_guest_bndcfgs);
-	}
 }
 
 /*
@@ -2971,9 +2963,6 @@ int nested_vmx_enter_non_root_mode(struct kvm_vcpu *vcpu, bool from_vmentry)
 
 	if (!(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_DEBUG_CONTROLS))
 		vmx->nested.vmcs01_debugctl = vmcs_read64(GUEST_IA32_DEBUGCTL);
-	if (kvm_mpx_supported() &&
-		!(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_BNDCFGS))
-		vmx->nested.vmcs01_guest_bndcfgs = vmcs_read64(GUEST_BNDCFGS);
 
 	vmx_switch_vmcs(vcpu, &vmx->nested.vmcs02);
 
@@ -3496,8 +3485,6 @@ static void sync_vmcs12(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12)
 	vmcs12->guest_sysenter_cs = vmcs_read32(GUEST_SYSENTER_CS);
 	vmcs12->guest_sysenter_esp = vmcs_readl(GUEST_SYSENTER_ESP);
 	vmcs12->guest_sysenter_eip = vmcs_readl(GUEST_SYSENTER_EIP);
-	if (kvm_mpx_supported())
-		vmcs12->guest_bndcfgs = vmcs_read64(GUEST_BNDCFGS);
 }
 
 /*
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index c90fffdc5a93..ccab822be9cd 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -1527,12 +1527,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		msr_info->data = vmcs_readl(GUEST_SYSENTER_ESP);
 		break;
 	case MSR_IA32_BNDCFGS:
-		if (!kvm_mpx_supported() ||
-		    (!msr_info->host_initiated &&
-		     !guest_cpuid_has(vcpu, X86_FEATURE_MPX)))
-			return 1;
-		msr_info->data = vmcs_read64(GUEST_BNDCFGS);
-		break;
+		return 1;
 	case MSR_IA32_MCG_EXT_CTL:
 		if (!msr_info->host_initiated &&
 		    !(vmx->msr_ia32_feature_control &
@@ -1610,15 +1605,7 @@ static int vmx_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		vmcs_writel(GUEST_SYSENTER_ESP, data);
 		break;
 	case MSR_IA32_BNDCFGS:
-		if (!kvm_mpx_supported() ||
-		    (!msr_info->host_initiated &&
-		     !guest_cpuid_has(vcpu, X86_FEATURE_MPX)))
-			return 1;
-		if (is_noncanonical_address(data & PAGE_MASK, vcpu) ||
-		    (data & MSR_IA32_BNDCFGS_RSVD))
-			return 1;
-		vmcs_write64(GUEST_BNDCFGS, data);
-		break;
+		return 1;
 	case MSR_IA32_SPEC_CTRL:
 		if (!msr_info->host_initiated &&
 		    !guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL))
@@ -3868,8 +3855,6 @@ static void vmx_vcpu_reset(struct kvm_vcpu *vcpu, bool init_event)
 	vmcs_write32(GUEST_ACTIVITY_STATE, GUEST_ACTIVITY_ACTIVE);
 	vmcs_write32(GUEST_INTERRUPTIBILITY_INFO, 0);
 	vmcs_writel(GUEST_PENDING_DBG_EXCEPTIONS, 0);
-	if (kvm_mpx_supported())
-		vmcs_write64(GUEST_BNDCFGS, 0);
 
 	setup_msrs(vmx);
 
@@ -6636,23 +6621,6 @@ static void nested_vmx_cr_fixed1_bits_update(struct kvm_vcpu *vcpu)
 #undef cr4_fixed1_update
 }
 
-static void nested_vmx_entry_exit_ctls_update(struct kvm_vcpu *vcpu)
-{
-	struct vcpu_vmx *vmx = to_vmx(vcpu);
-
-	if (kvm_mpx_supported()) {
-		bool mpx_enabled = guest_cpuid_has(vcpu, X86_FEATURE_MPX);
-
-		if (mpx_enabled) {
-			vmx->nested.msrs.entry_ctls_high |= VM_ENTRY_LOAD_BNDCFGS;
-			vmx->nested.msrs.exit_ctls_high |= VM_EXIT_CLEAR_BNDCFGS;
-		} else {
-			vmx->nested.msrs.entry_ctls_high &= ~VM_ENTRY_LOAD_BNDCFGS;
-			vmx->nested.msrs.exit_ctls_high &= ~VM_EXIT_CLEAR_BNDCFGS;
-		}
-	}
-}
-
 static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
 {
 	struct vcpu_vmx *vmx = to_vmx(vcpu);
@@ -6669,10 +6637,8 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu)
 		to_vmx(vcpu)->msr_ia32_feature_control_valid_bits &=
 			~FEATURE_CONTROL_VMXON_ENABLED_OUTSIDE_SMX;
 
-	if (nested_vmx_allowed(vcpu)) {
+	if (nested_vmx_allowed(vcpu))
 		nested_vmx_cr_fixed1_bits_update(vcpu);
-		nested_vmx_entry_exit_ctls_update(vcpu);
-	}
 }
 
 static void vmx_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry)
-- 
2.19.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2019-02-18  3:42 Stephen Rothwell
  2019-02-19 15:36 ` Sean Christopherson
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2019-02-18  3:42 UTC (permalink / raw)
  To: Paolo Bonzini, Radim Krčmář, KVM
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Sean Christopherson

[-- Attachment #1: Type: text/plain, Size: 3262 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/../../../virt/kvm/coalesced_mmio.c:14:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/../../../virt/kvm/kvm_main.c:21:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/../../../virt/kvm/eventfd.c:24:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/../../../virt/kvm/irqchip.c:27:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/../../../virt/kvm/async_pf.c:23:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/../../../virt/kvm/vfio.c:14:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/x86.c:22:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/irq.h:27,
                 from arch/x86/kvm/mmu.c:21:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from arch/x86/kvm/emulate.c:23:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/kvm_host.h:38,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:42:
arch/x86/include/asm/kvm_host.h:38:10: fatal error: asm/kvm_vcpu_regs.h: No such file or directory
 #include <asm/kvm_vcpu_regs.h>
          ^~~~~~~~~~~~~~~~~~~~~

Caused by commits

  1561fcbc8e16 ("KVM: x86: Explicitly #define the VCPU_REGS_* indices")
  a46e726511f4 ("KVM: VMX: Move vCPU-run code to a proper assembly routine")

It looks like a file was not git added :-(

I have used the kvm tree from next-20190215 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2019-02-18  3:42 Stephen Rothwell
@ 2019-02-19 15:36 ` Sean Christopherson
  2019-02-19 18:17   ` Paolo Bonzini
  0 siblings, 1 reply; 33+ messages in thread
From: Sean Christopherson @ 2019-02-19 15:36 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Paolo Bonzini, Radim Krčmář, KVM,
	Linux Next Mailing List, Linux Kernel Mailing List

On Mon, Feb 18, 2019 at 02:42:00PM +1100, Stephen Rothwell wrote:
> Hi all,

...

> Caused by commits
> 
>   1561fcbc8e16 ("KVM: x86: Explicitly #define the VCPU_REGS_* indices")
>   a46e726511f4 ("KVM: VMX: Move vCPU-run code to a proper assembly routine")
> 
> It looks like a file was not git added :-(

Yep, 1561fcbc8e16 should have introduced arch/x86/include/asm/kvm_vcpu_regs.h.

I assume there's nothing to do but wait for Paolo or Radim to fixup the
KVM tree?


Original patch:

  https://patchwork.kernel.org/patch/10781575/

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2019-02-19 15:36 ` Sean Christopherson
@ 2019-02-19 18:17   ` Paolo Bonzini
  0 siblings, 0 replies; 33+ messages in thread
From: Paolo Bonzini @ 2019-02-19 18:17 UTC (permalink / raw)
  To: Sean Christopherson, Stephen Rothwell
  Cc: Radim Krčmář, KVM, Linux Next Mailing List,
	Linux Kernel Mailing List

On 19/02/19 16:36, Sean Christopherson wrote:
> On Mon, Feb 18, 2019 at 02:42:00PM +1100, Stephen Rothwell wrote:
>> Hi all,
> 
> ...
> 
>> Caused by commits
>>
>>   1561fcbc8e16 ("KVM: x86: Explicitly #define the VCPU_REGS_* indices")
>>   a46e726511f4 ("KVM: VMX: Move vCPU-run code to a proper assembly routine")
>>
>> It looks like a file was not git added :-(
> 
> Yep, 1561fcbc8e16 should have introduced arch/x86/include/asm/kvm_vcpu_regs.h.
> 
> I assume there's nothing to do but wait for Paolo or Radim to fixup the
> KVM tree?

Yes, I'll do it shortly.

Paolo

> 
> Original patch:
> 
>   https://patchwork.kernel.org/patch/10781575/
> 

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2020-05-21  6:28 Stephen Rothwell
  2020-06-04  2:54 ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2020-05-21  6:28 UTC (permalink / raw)
  To: Paolo Bonzini, KVM, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Uros Bizjak

[-- Attachment #1: Type: text/plain, Size: 1455 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kvm/svm/svm.c: In function 'kvm_machine_check':
arch/x86/kvm/svm/svm.c:1834:2: error: too many arguments to function 'do_machine_check'
 1834 |  do_machine_check(&regs, 0);
      |  ^~~~~~~~~~~~~~~~
In file included from arch/x86/kvm/svm/svm.c:36:
arch/x86/include/asm/mce.h:254:6: note: declared here
  254 | void do_machine_check(struct pt_regs *pt_regs);
      |      ^~~~~~~~~~~~~~~~

Caused by commit

  1c164cb3ffd0 ("KVM: SVM: Use do_machine_check to pass MCE to the host")

interacting with commit

  aaa4947defff ("x86/entry: Convert Machine Check to IDTENTRY_IST")

from the tip tree.

I added the following merge fix patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 21 May 2020 16:24:59 +1000
Subject: [PATCH] KVM: SVM: fix up for do_machine_check() API change

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/x86/kvm/svm/svm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index ae287980c027..7488c8abe825 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -1831,7 +1831,7 @@ static void kvm_machine_check(void)
 		.flags = X86_EFLAGS_IF,
 	};
 
-	do_machine_check(&regs, 0);
+	do_machine_check(&regs);
 #endif
 }
 
-- 
2.26.2

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2020-05-21  6:28 Stephen Rothwell
@ 2020-06-04  2:54 ` Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2020-06-04  2:54 UTC (permalink / raw)
  To: Paolo Bonzini, KVM, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: Linux Next Mailing List, Linux Kernel Mailing List, Uros Bizjak

[-- Attachment #1: Type: text/plain, Size: 1705 bytes --]

Hi all,

On Thu, 21 May 2020 16:28:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> arch/x86/kvm/svm/svm.c: In function 'kvm_machine_check':
> arch/x86/kvm/svm/svm.c:1834:2: error: too many arguments to function 'do_machine_check'
>  1834 |  do_machine_check(&regs, 0);
>       |  ^~~~~~~~~~~~~~~~
> In file included from arch/x86/kvm/svm/svm.c:36:
> arch/x86/include/asm/mce.h:254:6: note: declared here
>   254 | void do_machine_check(struct pt_regs *pt_regs);
>       |      ^~~~~~~~~~~~~~~~
> 
> Caused by commit
> 
>   1c164cb3ffd0 ("KVM: SVM: Use do_machine_check to pass MCE to the host")
> 
> interacting with commit
> 
>   aaa4947defff ("x86/entry: Convert Machine Check to IDTENTRY_IST")
> 
> from the tip tree.
> 
> I added the following merge fix patch.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 21 May 2020 16:24:59 +1000
> Subject: [PATCH] KVM: SVM: fix up for do_machine_check() API change
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  arch/x86/kvm/svm/svm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
> index ae287980c027..7488c8abe825 100644
> --- a/arch/x86/kvm/svm/svm.c
> +++ b/arch/x86/kvm/svm/svm.c
> @@ -1831,7 +1831,7 @@ static void kvm_machine_check(void)
>  		.flags = X86_EFLAGS_IF,
>  	};
>  
> -	do_machine_check(&regs, 0);
> +	do_machine_check(&regs);
>  #endif
>  }
>  
> -- 
> 2.26.2

This fix is now needed whe the tip tree merges with Linus' tree.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2020-07-17  5:57 Stephen Rothwell
  2020-07-29  7:06 ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2020-07-17  5:57 UTC (permalink / raw)
  To: Paolo Bonzini, KVM, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: Linux Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 2121 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kernel/kvm.c: In function '__sysvec_kvm_asyncpf_interrupt':
arch/x86/kernel/kvm.c:275:13: error: implicit declaration of function 'idtentry_enter_cond_rcu'; did you mean 'idtentry_enter_nmi'? [-Werror=implicit-function-declaration]
  275 |  rcu_exit = idtentry_enter_cond_rcu(regs);
      |             ^~~~~~~~~~~~~~~~~~~~~~~
      |             idtentry_enter_nmi
arch/x86/kernel/kvm.c:286:2: error: implicit declaration of function 'idtentry_exit_cond_rcu'; did you mean 'idtentry_exit_nmi'? [-Werror=implicit-function-declaration]
  286 |  idtentry_exit_cond_rcu(regs, rcu_exit);
      |  ^~~~~~~~~~~~~~~~~~~~~~
      |  idtentry_exit_nmi

Caused by commit

  b037b09b9058 ("x86/entry: Rename idtentry_enter/exit_cond_rcu() to idtentry_enter/exit()")

from the tip tree interacting with commit

  26d05b368a5c ("Merge branch 'kvm-async-pf-int' into HEAD")

from the kvm tree.

I have applied the following merge fix patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 17 Jul 2020 15:51:27 +1000
Subject: [PATCH] fix up for idtentry_{enter,exit}_cond_rcu() renaming

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/x86/kernel/kvm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index cebd96687194..91dd322f768d 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -270,9 +270,9 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
 {
 	struct pt_regs *old_regs = set_irq_regs(regs);
 	u32 token;
-	bool rcu_exit;
+	idtentry_state_t state;
 
-	rcu_exit = idtentry_enter_cond_rcu(regs);
+	state = idtentry_enter(regs);
 
 	inc_irq_stat(irq_hv_callback_count);
 
@@ -283,7 +283,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
 		wrmsrl(MSR_KVM_ASYNC_PF_ACK, 1);
 	}
 
-	idtentry_exit_cond_rcu(regs, rcu_exit);
+	idtentry_exit(regs, state);
 	set_irq_regs(old_regs);
 }
 
-- 
2.27.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2020-07-17  5:57 Stephen Rothwell
@ 2020-07-29  7:06 ` Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2020-07-29  7:06 UTC (permalink / raw)
  To: Paolo Bonzini, KVM, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: Linux Next Mailing List, Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 3526 bytes --]

Hi all,

On Fri, 17 Jul 2020 15:57:01 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> arch/x86/kernel/kvm.c: In function '__sysvec_kvm_asyncpf_interrupt':
> arch/x86/kernel/kvm.c:275:13: error: implicit declaration of function 'idtentry_enter_cond_rcu'; did you mean 'idtentry_enter_nmi'? [-Werror=implicit-function-declaration]
>   275 |  rcu_exit = idtentry_enter_cond_rcu(regs);
>       |             ^~~~~~~~~~~~~~~~~~~~~~~
>       |             idtentry_enter_nmi
> arch/x86/kernel/kvm.c:286:2: error: implicit declaration of function 'idtentry_exit_cond_rcu'; did you mean 'idtentry_exit_nmi'? [-Werror=implicit-function-declaration]
>   286 |  idtentry_exit_cond_rcu(regs, rcu_exit);
>       |  ^~~~~~~~~~~~~~~~~~~~~~
>       |  idtentry_exit_nmi
> 
> Caused by commit
> 
>   b037b09b9058 ("x86/entry: Rename idtentry_enter/exit_cond_rcu() to idtentry_enter/exit()")
> 
> from the tip tree interacting with commit
> 
>   26d05b368a5c ("Merge branch 'kvm-async-pf-int' into HEAD")
> 
> from the kvm tree.
> 
> I have applied the following merge fix patch.
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 17 Jul 2020 15:51:27 +1000
> Subject: [PATCH] fix up for idtentry_{enter,exit}_cond_rcu() renaming
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  arch/x86/kernel/kvm.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
> index cebd96687194..91dd322f768d 100644
> --- a/arch/x86/kernel/kvm.c
> +++ b/arch/x86/kernel/kvm.c
> @@ -270,9 +270,9 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
>  {
>  	struct pt_regs *old_regs = set_irq_regs(regs);
>  	u32 token;
> -	bool rcu_exit;
> +	idtentry_state_t state;
>  
> -	rcu_exit = idtentry_enter_cond_rcu(regs);
> +	state = idtentry_enter(regs);
>  
>  	inc_irq_stat(irq_hv_callback_count);
>  
> @@ -283,7 +283,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
>  		wrmsrl(MSR_KVM_ASYNC_PF_ACK, 1);
>  	}
>  
> -	idtentry_exit_cond_rcu(regs, rcu_exit);
> +	idtentry_exit(regs, state);
>  	set_irq_regs(old_regs);
>  }
>  

Now due to commits

  bdcd178ada90 ("x86/entry: Use generic interrupt entry/exit code")
  a27a0a55495c ("x86/entry: Cleanup idtentry_enter/exit")

The above patch now looks like this:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 17 Jul 2020 15:51:27 +1000
Subject: [PATCH] fix up for idtentry_{enter,exit}_cond_rcu() renaming

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/x86/kernel/kvm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index cebd96687194..91dd322f768d 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -270,9 +270,9 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
 {
 	struct pt_regs *old_regs = set_irq_regs(regs);
 	u32 token;
-	bool rcu_exit;
+	irqentry_state_t state;
 
-	rcu_exit = idtentry_enter_cond_rcu(regs);
+	state = irqentry_enter(regs);
 
 	inc_irq_stat(irq_hv_callback_count);
 
@@ -283,7 +283,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_kvm_asyncpf_interrupt)
 		wrmsrl(MSR_KVM_ASYNC_PF_ACK, 1);
 	}
 
-	idtentry_exit_cond_rcu(regs, rcu_exit);
+	irqentry_exit(regs, state);
 	set_irq_regs(old_regs);
 }
 
-- 
2.27.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2021-02-05  5:02 Stephen Rothwell
  2021-02-05 10:08 ` Paolo Bonzini
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2021-02-05  5:02 UTC (permalink / raw)
  To: Paolo Bonzini, KVM; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 397 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

ERROR: modpost: ".follow_pte" [arch/powerpc/kvm/kvm.ko] undefined!

Caused by commit

  bd2fae8da794 ("KVM: do not assume PTE is writable after follow_pfn")

follow_pte is not EXPORTed.

I have used the kvm tree from next-20210204 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2021-02-05  5:02 Stephen Rothwell
@ 2021-02-05 10:08 ` Paolo Bonzini
  2021-02-07 19:48   ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Paolo Bonzini @ 2021-02-05 10:08 UTC (permalink / raw)
  To: Stephen Rothwell, KVM; +Cc: Linux Kernel Mailing List, Linux Next Mailing List

On 05/02/21 06:02, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the kvm tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> ERROR: modpost: ".follow_pte" [arch/powerpc/kvm/kvm.ko] undefined!
> 
> Caused by commit
> 
>    bd2fae8da794 ("KVM: do not assume PTE is writable after follow_pfn")
> 
> follow_pte is not EXPORTed.
> 
> I have used the kvm tree from next-20210204 for today.
> 

Stephen, can you squash in the following for the time being?

diff --git a/mm/memory.c b/mm/memory.c
index feff48e1465a..15cbd10afd59 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4775,6 +4775,7 @@ int follow_pte(struct mm_struct *mm, unsigned long 
address,
  out:
  	return -EINVAL;
  }
+EXPORT_SYMBOL_GPL(follow_pte);

  /**
   * follow_pfn - look up PFN at a user virtual address

A similar patch has been posted already, but Jason Gunthorpe asked to 
add some kerneldoc comments.  Therefore it will not be in kvm/next for a 
few more days.

Paolo


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2021-02-05 10:08 ` Paolo Bonzini
@ 2021-02-07 19:48   ` Stephen Rothwell
  2021-02-09  4:56     ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2021-02-07 19:48 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: KVM, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 725 bytes --]

Hi Paolo,

On Fri, 5 Feb 2021 11:08:39 +0100 Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On 05/02/21 06:02, Stephen Rothwell wrote:
> > Hi all,
> > 
> > After merging the kvm tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> > 
> > ERROR: modpost: ".follow_pte" [arch/powerpc/kvm/kvm.ko] undefined!
> > 
> > Caused by commit
> > 
> >    bd2fae8da794 ("KVM: do not assume PTE is writable after follow_pfn")
> > 
> > follow_pte is not EXPORTed.
> > 
> > I have used the kvm tree from next-20210204 for today.
> >   
> 
> Stephen, can you squash in the following for the time being?

Wiil do.  I will drop it when it no longer applies.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2021-02-08  5:33 Stephen Rothwell
  2021-02-08 11:18 ` Yu Zhang
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2021-02-08  5:33 UTC (permalink / raw)
  To: Paolo Bonzini, KVM
  Cc: Ben Gardon, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 5940 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_add':
drivers/gpu/drm/i915/gvt/kvmgt.c:1706:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
 1706 |  spin_lock(&kvm->mmu_lock);
      |            ^~~~~~~~~~~~~~
      |            |
      |            rwlock_t *
In file included from include/linux/wait.h:9,
                 from include/linux/pid.h:6,
                 from include/linux/sched.h:14,
                 from include/linux/ratelimit.h:6,
                 from include/linux/dev_printk.h:16,
                 from include/linux/device.h:15,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
  352 | static __always_inline void spin_lock(spinlock_t *lock)
      |                                       ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1715:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
 1715 |  spin_unlock(&kvm->mmu_lock);
      |              ^~~~~~~~~~~~~~
      |              |
      |              rwlock_t *
In file included from include/linux/wait.h:9,
                 from include/linux/pid.h:6,
                 from include/linux/sched.h:14,
                 from include/linux/ratelimit.h:6,
                 from include/linux/dev_printk.h:16,
                 from include/linux/device.h:15,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
  392 | static __always_inline void spin_unlock(spinlock_t *lock)
      |                                         ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_remove':
drivers/gpu/drm/i915/gvt/kvmgt.c:1740:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
 1740 |  spin_lock(&kvm->mmu_lock);
      |            ^~~~~~~~~~~~~~
      |            |
      |            rwlock_t *
In file included from include/linux/wait.h:9,
                 from include/linux/pid.h:6,
                 from include/linux/sched.h:14,
                 from include/linux/ratelimit.h:6,
                 from include/linux/dev_printk.h:16,
                 from include/linux/device.h:15,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
  352 | static __always_inline void spin_lock(spinlock_t *lock)
      |                                       ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1749:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
 1749 |  spin_unlock(&kvm->mmu_lock);
      |              ^~~~~~~~~~~~~~
      |              |
      |              rwlock_t *
In file included from include/linux/wait.h:9,
                 from include/linux/pid.h:6,
                 from include/linux/sched.h:14,
                 from include/linux/ratelimit.h:6,
                 from include/linux/dev_printk.h:16,
                 from include/linux/device.h:15,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
  392 | static __always_inline void spin_unlock(spinlock_t *lock)
      |                                         ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_flush_slot':
drivers/gpu/drm/i915/gvt/kvmgt.c:1775:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
 1775 |  spin_lock(&kvm->mmu_lock);
      |            ^~~~~~~~~~~~~~
      |            |
      |            rwlock_t *
In file included from include/linux/wait.h:9,
                 from include/linux/pid.h:6,
                 from include/linux/sched.h:14,
                 from include/linux/ratelimit.h:6,
                 from include/linux/dev_printk.h:16,
                 from include/linux/device.h:15,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
  352 | static __always_inline void spin_lock(spinlock_t *lock)
      |                                       ~~~~~~~~~~~~^~~~
drivers/gpu/drm/i915/gvt/kvmgt.c:1784:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
 1784 |  spin_unlock(&kvm->mmu_lock);
      |              ^~~~~~~~~~~~~~
      |              |
      |              rwlock_t *
In file included from include/linux/wait.h:9,
                 from include/linux/pid.h:6,
                 from include/linux/sched.h:14,
                 from include/linux/ratelimit.h:6,
                 from include/linux/dev_printk.h:16,
                 from include/linux/device.h:15,
                 from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
  392 | static __always_inline void spin_unlock(spinlock_t *lock)
      |                                         ~~~~~~~~~~~~^~~~
cc1: all warnings being treated as errors

Caused by commit

  531810caa9f4 ("KVM: x86/mmu: Use an rwlock for the x86 MMU")

I have used the kvm tree from next-20210204 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2021-02-08  5:33 Stephen Rothwell
@ 2021-02-08 11:18 ` Yu Zhang
  0 siblings, 0 replies; 33+ messages in thread
From: Yu Zhang @ 2021-02-08 11:18 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Paolo Bonzini, KVM, Ben Gardon, Linux Kernel Mailing List,
	Linux Next Mailing List

Thanks a lot for reporting this, Stephen. Just sent out a patch
to fix it in kvmgt.

B.R.
Yu

On Mon, Feb 08, 2021 at 04:33:08PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_add':
> drivers/gpu/drm/i915/gvt/kvmgt.c:1706:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
>  1706 |  spin_lock(&kvm->mmu_lock);
>       |            ^~~~~~~~~~~~~~
>       |            |
>       |            rwlock_t *
> In file included from include/linux/wait.h:9,
>                  from include/linux/pid.h:6,
>                  from include/linux/sched.h:14,
>                  from include/linux/ratelimit.h:6,
>                  from include/linux/dev_printk.h:16,
>                  from include/linux/device.h:15,
>                  from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
> include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
>   352 | static __always_inline void spin_lock(spinlock_t *lock)
>       |                                       ~~~~~~~~~~~~^~~~
> drivers/gpu/drm/i915/gvt/kvmgt.c:1715:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
>  1715 |  spin_unlock(&kvm->mmu_lock);
>       |              ^~~~~~~~~~~~~~
>       |              |
>       |              rwlock_t *
> In file included from include/linux/wait.h:9,
>                  from include/linux/pid.h:6,
>                  from include/linux/sched.h:14,
>                  from include/linux/ratelimit.h:6,
>                  from include/linux/dev_printk.h:16,
>                  from include/linux/device.h:15,
>                  from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
> include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
>   392 | static __always_inline void spin_unlock(spinlock_t *lock)
>       |                                         ~~~~~~~~~~~~^~~~
> drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_remove':
> drivers/gpu/drm/i915/gvt/kvmgt.c:1740:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
>  1740 |  spin_lock(&kvm->mmu_lock);
>       |            ^~~~~~~~~~~~~~
>       |            |
>       |            rwlock_t *
> In file included from include/linux/wait.h:9,
>                  from include/linux/pid.h:6,
>                  from include/linux/sched.h:14,
>                  from include/linux/ratelimit.h:6,
>                  from include/linux/dev_printk.h:16,
>                  from include/linux/device.h:15,
>                  from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
> include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
>   352 | static __always_inline void spin_lock(spinlock_t *lock)
>       |                                       ~~~~~~~~~~~~^~~~
> drivers/gpu/drm/i915/gvt/kvmgt.c:1749:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
>  1749 |  spin_unlock(&kvm->mmu_lock);
>       |              ^~~~~~~~~~~~~~
>       |              |
>       |              rwlock_t *
> In file included from include/linux/wait.h:9,
>                  from include/linux/pid.h:6,
>                  from include/linux/sched.h:14,
>                  from include/linux/ratelimit.h:6,
>                  from include/linux/dev_printk.h:16,
>                  from include/linux/device.h:15,
>                  from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
> include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
>   392 | static __always_inline void spin_unlock(spinlock_t *lock)
>       |                                         ~~~~~~~~~~~~^~~~
> drivers/gpu/drm/i915/gvt/kvmgt.c: In function 'kvmgt_page_track_flush_slot':
> drivers/gpu/drm/i915/gvt/kvmgt.c:1775:12: error: passing argument 1 of 'spin_lock' from incompatible pointer type [-Werror=incompatible-pointer-types]
>  1775 |  spin_lock(&kvm->mmu_lock);
>       |            ^~~~~~~~~~~~~~
>       |            |
>       |            rwlock_t *
> In file included from include/linux/wait.h:9,
>                  from include/linux/pid.h:6,
>                  from include/linux/sched.h:14,
>                  from include/linux/ratelimit.h:6,
>                  from include/linux/dev_printk.h:16,
>                  from include/linux/device.h:15,
>                  from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
> include/linux/spinlock.h:352:51: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
>   352 | static __always_inline void spin_lock(spinlock_t *lock)
>       |                                       ~~~~~~~~~~~~^~~~
> drivers/gpu/drm/i915/gvt/kvmgt.c:1784:14: error: passing argument 1 of 'spin_unlock' from incompatible pointer type [-Werror=incompatible-pointer-types]
>  1784 |  spin_unlock(&kvm->mmu_lock);
>       |              ^~~~~~~~~~~~~~
>       |              |
>       |              rwlock_t *
> In file included from include/linux/wait.h:9,
>                  from include/linux/pid.h:6,
>                  from include/linux/sched.h:14,
>                  from include/linux/ratelimit.h:6,
>                  from include/linux/dev_printk.h:16,
>                  from include/linux/device.h:15,
>                  from drivers/gpu/drm/i915/gvt/kvmgt.c:32:
> include/linux/spinlock.h:392:53: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'rwlock_t *'
>   392 | static __always_inline void spin_unlock(spinlock_t *lock)
>       |                                         ~~~~~~~~~~~~^~~~
> cc1: all warnings being treated as errors
> 
> Caused by commit
> 
>   531810caa9f4 ("KVM: x86/mmu: Use an rwlock for the x86 MMU")
> 
> I have used the kvm tree from next-20210204 for today.
> 
> -- 
> Cheers,
> Stephen Rothwell



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2021-02-07 19:48   ` Stephen Rothwell
@ 2021-02-09  4:56     ` Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2021-02-09  4:56 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: KVM, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 880 bytes --]

Hi Paolo,

On Mon, 8 Feb 2021 06:48:32 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Fri, 5 Feb 2021 11:08:39 +0100 Paolo Bonzini <pbonzini@redhat.com> wrote:
> >
> > On 05/02/21 06:02, Stephen Rothwell wrote:  
> > > 
> > > After merging the kvm tree, today's linux-next build (powerpc
> > > ppc64_defconfig) failed like this:
> > > 
> > > ERROR: modpost: ".follow_pte" [arch/powerpc/kvm/kvm.ko] undefined!
> > > 
> > > Caused by commit
> > > 
> > >    bd2fae8da794 ("KVM: do not assume PTE is writable after follow_pfn")
> > > 
> > > follow_pte is not EXPORTed.
> > > 
> > > I have used the kvm tree from next-20210204 for today.
> > >     
> > 
> > Stephen, can you squash in the following for the time being?  
> 
> Wiil do.  I will drop it when it no longer applies.

I am still applying this patch.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2022-04-19  5:34 Stephen Rothwell
  2022-04-19 16:01 ` Sean Christopherson
  2022-04-27  3:23 ` Stephen Rothwell
  0 siblings, 2 replies; 33+ messages in thread
From: Stephen Rothwell @ 2022-04-19  5:34 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: KVM, Peter Gonda, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1432 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (arm64 defconfig)
failed like this:

arch/arm64/kvm/psci.c: In function 'kvm_prepare_system_event':
arch/arm64/kvm/psci.c:184:32: error: 'struct <anonymous>' has no member named 'flags'
  184 |         vcpu->run->system_event.flags = flags;
      |                                ^

Caused by commit

  c24a950ec7d6 ("KVM, SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES")

In this commit, the uapi structure changes do not match the documentation
changes :-(  Does it matter that the ABI may be changed by this commit
(depending on the alignment of the structure members)?

I have added the following patch or today:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 19 Apr 2022 15:25:17 +1000
Subject: [PATCH] fix up for "KVM, SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 include/uapi/linux/kvm.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index dd1d8167e71f..68ce07185f03 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -448,6 +448,7 @@ struct kvm_run {
 #define KVM_SYSTEM_EVENT_NDATA_VALID    (1u << 31)
 			__u32 type;
 			__u32 ndata;
+			__u64 flags;
 			__u64 data[16];
 		} system_event;
 		/* KVM_EXIT_S390_STSI */
-- 
2.35.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2022-04-19  5:34 Stephen Rothwell
@ 2022-04-19 16:01 ` Sean Christopherson
  2022-04-19 16:09   ` Paolo Bonzini
  2022-04-21 18:06   ` Paolo Bonzini
  2022-04-27  3:23 ` Stephen Rothwell
  1 sibling, 2 replies; 33+ messages in thread
From: Sean Christopherson @ 2022-04-19 16:01 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Paolo Bonzini, KVM, Peter Gonda, Linux Kernel Mailing List,
	Linux Next Mailing List

On Tue, Apr 19, 2022, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the kvm tree, today's linux-next build (arm64 defconfig)
> failed like this:
> 
> arch/arm64/kvm/psci.c: In function 'kvm_prepare_system_event':
> arch/arm64/kvm/psci.c:184:32: error: 'struct <anonymous>' has no member named 'flags'
>   184 |         vcpu->run->system_event.flags = flags;
>       |                                ^
> 
> Caused by commit
> 
>   c24a950ec7d6 ("KVM, SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES")
> 
> In this commit, the uapi structure changes do not match the documentation
> changes :-(  Does it matter that the ABI may be changed by this commit
> (depending on the alignment of the structure members)?

Yeah, it's a bit of mess.  I believe we have a way out, waiting on Paolo to weigh in.

https://lore.kernel.org/all/YlisiF4BU6Uxe+iU@google.com

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2022-04-19 16:01 ` Sean Christopherson
@ 2022-04-19 16:09   ` Paolo Bonzini
  2022-04-21 18:06   ` Paolo Bonzini
  1 sibling, 0 replies; 33+ messages in thread
From: Paolo Bonzini @ 2022-04-19 16:09 UTC (permalink / raw)
  To: Sean Christopherson, Stephen Rothwell
  Cc: KVM, Peter Gonda, Linux Kernel Mailing List,
	Linux Next Mailing List

On 4/19/22 18:01, Sean Christopherson wrote:
>> In this commit, the uapi structure changes do not match the documentation
>> changes:-(   Does it matter that the ABI may be changed by this commit
>> (depending on the alignment of the structure members)?
> Yeah, it's a bit of mess.  I believe we have a way out, waiting on Paolo to weigh in.
> 
> https://lore.kernel.org/all/YlisiF4BU6Uxe+iU@google.com
> 

I'll get to it tomorrow morning.

Paolo

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2022-04-19 16:01 ` Sean Christopherson
  2022-04-19 16:09   ` Paolo Bonzini
@ 2022-04-21 18:06   ` Paolo Bonzini
  1 sibling, 0 replies; 33+ messages in thread
From: Paolo Bonzini @ 2022-04-21 18:06 UTC (permalink / raw)
  To: Sean Christopherson, Stephen Rothwell
  Cc: KVM, Peter Gonda, Linux Kernel Mailing List,
	Linux Next Mailing List

On 4/19/22 18:01, Sean Christopherson wrote:
> Yeah, it's a bit of mess.  I believe we have a way out, waiting on Paolo to weigh in.
> 
> https://lore.kernel.org/all/YlisiF4BU6Uxe+iU@google.com

Sent out my proposal.  For ARM, it is also binary backwards-compatible 
for 64-bit userspace.

Paolo


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2022-04-19  5:34 Stephen Rothwell
  2022-04-19 16:01 ` Sean Christopherson
@ 2022-04-27  3:23 ` Stephen Rothwell
  2022-04-27  6:06   ` Paolo Bonzini
  1 sibling, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2022-04-27  3:23 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: KVM, Peter Gonda, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1640 bytes --]

Hi all,

On Tue, 19 Apr 2022 15:34:23 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the kvm tree, today's linux-next build (arm64 defconfig)
> failed like this:
> 
> arch/arm64/kvm/psci.c: In function 'kvm_prepare_system_event':
> arch/arm64/kvm/psci.c:184:32: error: 'struct <anonymous>' has no member named 'flags'
>   184 |         vcpu->run->system_event.flags = flags;
>       |                                ^
> 
> Caused by commit
> 
>   c24a950ec7d6 ("KVM, SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES")
> 
> In this commit, the uapi structure changes do not match the documentation
> changes :-(  Does it matter that the ABI may be changed by this commit
> (depending on the alignment of the structure members)?
> 
> I have added the following patch or today:
> 
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Tue, 19 Apr 2022 15:25:17 +1000
> Subject: [PATCH] fix up for "KVM, SEV: Add KVM_EXIT_SHUTDOWN metadata for SEV-ES"
> 
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  include/uapi/linux/kvm.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index dd1d8167e71f..68ce07185f03 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -448,6 +448,7 @@ struct kvm_run {
>  #define KVM_SYSTEM_EVENT_NDATA_VALID    (1u << 31)
>  			__u32 type;
>  			__u32 ndata;
> +			__u64 flags;
>  			__u64 data[16];
>  		} system_event;
>  		/* KVM_EXIT_S390_STSI */
> -- 
> 2.35.1

I am still applying the above patch.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2022-04-27  3:23 ` Stephen Rothwell
@ 2022-04-27  6:06   ` Paolo Bonzini
  0 siblings, 0 replies; 33+ messages in thread
From: Paolo Bonzini @ 2022-04-27  6:06 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: KVM, Peter Gonda, Linux Kernel Mailing List,
	Linux Next Mailing List

On 4/27/22 05:23, Stephen Rothwell wrote:
>>   #define KVM_SYSTEM_EVENT_NDATA_VALID    (1u << 31)
>>   			__u32 type;
>>   			__u32 ndata;
>> +			__u64 flags;
>>   			__u64 data[16];
>>   		} system_event;
>>   		/* KVM_EXIT_S390_STSI */
>> -- 
>> 2.35.1
> I am still applying the above patch.

I am waiting for review of 
https://lore.kernel.org/kvm/202204230312.8EOM8DHM-lkp@intel.com/T/.

Paolo


^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2023-11-20  4:22 Stephen Rothwell
  2023-12-11  2:50 ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2023-11-20  4:22 UTC (permalink / raw)
  To: Paolo Bonzini, Andrew Morton
  Cc: KVM, Ackerley Tng, Chao Peng, Isaku Yamahata, Kirill A. Shutemov,
	Michael Roth, Sean Christopherson, Yu Zhang,
	Matthew Wilcox (Oracle), Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 4512 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:10: error: 'const struct address_space_operations' has no member named 'error_remove_page'; did you mean 'error_remove_folio'?
  306 |         .error_remove_page = kvm_gmem_error_page,
      |          ^~~~~~~~~~~~~~~~~
      |          error_remove_folio
arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:30: error: initialization of 'int (*)(struct folio *)' from incompatible pointer type 'int (*)(struct address_space *, struct page *)' [-Werror=incompatible-pointer-types]
  306 |         .error_remove_page = kvm_gmem_error_page,
      |                              ^~~~~~~~~~~~~~~~~~~
arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:30: note: (near initialization for 'kvm_gmem_aops.launder_folio')

Caused by commit

  640be5bc564f ("fs: convert error_remove_page to error_remove_folio")

from the mm tree intercting with commit

  a7800aa80ea4 ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")

I have applied the following supplied merge fix patch (thanks Andrew).

From: Andrew Morton <akpm@linux-foundation.org>
Date: Fri, 17 Nov 2023 09:28:33 -0800
Subject: [PATCH] fs: Convert error_remove_page to error_remove_folio

On Fri, 17 Nov 2023 16:14:47 +0000 "Matthew Wilcox (Oracle)" <willy@infradead.org> wrote:

> There were already assertions that we were not passing a tail page
> to error_remove_page(), so make the compiler enforce that by converting
> everything to pass and use a folio.
>
> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> ---
>  Documentation/filesystems/locking.rst |  4 ++--
>  Documentation/filesystems/vfs.rst     |  6 +++---
>  block/fops.c                          |  2 +-
>  fs/afs/write.c                        |  2 +-
>  fs/bcachefs/fs.c                      |  2 +-
>  fs/btrfs/inode.c                      |  2 +-
>  fs/ceph/addr.c                        |  4 ++--
>  fs/ext2/inode.c                       |  2 +-
>  fs/ext4/inode.c                       |  6 +++---
>  fs/f2fs/compress.c                    |  2 +-
>  fs/f2fs/inode.c                       |  2 +-
>  fs/gfs2/aops.c                        |  4 ++--
>  fs/hugetlbfs/inode.c                  |  6 +++---
>  fs/nfs/file.c                         |  2 +-
>  fs/ntfs/aops.c                        |  6 +++---
>  fs/ocfs2/aops.c                       |  2 +-
>  fs/xfs/xfs_aops.c                     |  2 +-
>  fs/zonefs/file.c                      |  2 +-
>  include/linux/fs.h                    |  2 +-
>  include/linux/mm.h                    |  3 ++-
>  mm/memory-failure.c                   | 10 +++++-----
>  mm/shmem.c                            |  6 +++---
>  mm/truncate.c                         |  9 ++++-----
>  virt/kvm/guest_memfd.c                |  9 +++++----

virt/kvm/guest_memfd.c exists only in the KVM tree (and hence
linux-next).  So I assume Stephen will use the change from this patch
when doing his resolution.

This:
---
 virt/kvm/guest_memfd.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
index b99272396119..451435123fe7 100644
--- a/virt/kvm/guest_memfd.c
+++ b/virt/kvm/guest_memfd.c
@@ -267,7 +267,8 @@ static int kvm_gmem_migrate_folio(struct address_space *mapping,
 	return -EINVAL;
 }
 
-static int kvm_gmem_error_page(struct address_space *mapping, struct page *page)
+static int kvm_gmem_error_folio(struct address_space *mapping,
+		struct folio *folio)
 {
 	struct list_head *gmem_list = &mapping->private_list;
 	struct kvm_gmem *gmem;
@@ -275,8 +276,8 @@ static int kvm_gmem_error_page(struct address_space *mapping, struct page *page)
 
 	filemap_invalidate_lock_shared(mapping);
 
-	start = page->index;
-	end = start + thp_nr_pages(page);
+	start = folio->index;
+	end = start + folio_nr_pages(folio);
 
 	list_for_each_entry(gmem, gmem_list, entry)
 		kvm_gmem_invalidate_begin(gmem, start, end);
@@ -303,7 +304,7 @@ static const struct address_space_operations kvm_gmem_aops = {
 #ifdef CONFIG_MIGRATION
 	.migrate_folio	= kvm_gmem_migrate_folio,
 #endif
-	.error_remove_page = kvm_gmem_error_page,
+	.error_remove_folio = kvm_gmem_error_folio,
 };
 
 static int kvm_gmem_getattr(struct mnt_idmap *idmap, const struct path *path,
-- 
2.40.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2023-11-22  2:14 Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2023-11-22  2:14 UTC (permalink / raw)
  To: Paolo Bonzini, Christian Brauner
  Cc: KVM, Matthew Wilcox (Oracle), Ackerley Tng, Chao Peng,
	Isaku Yamahata, Kirill A. Shutemov, Michael Roth,
	Sean Christopherson, Yu Zhang, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 3500 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kvm/../../../virt/kvm/guest_memfd.c: In function 'kvm_gmem_punch_hole':
arch/x86/kvm/../../../virt/kvm/guest_memfd.c:100:58: error: 'struct address_space' has no member named 'private_list'; did you mean 'i_private_list'?
  100 |         struct list_head *gmem_list = &inode->i_mapping->private_list;
      |                                                          ^~~~~~~~~~~~
      |                                                          i_private_list
arch/x86/kvm/../../../virt/kvm/guest_memfd.c: In function 'kvm_gmem_error_folio':
arch/x86/kvm/../../../virt/kvm/guest_memfd.c:273:49: error: 'struct address_space' has no member named 'private_list'; did you mean 'i_private_list'?
  273 |         struct list_head *gmem_list = &mapping->private_list;
      |                                                 ^~~~~~~~~~~~
      |                                                 i_private_list
arch/x86/kvm/../../../virt/kvm/guest_memfd.c: In function '__kvm_gmem_create':
arch/x86/kvm/../../../virt/kvm/guest_memfd.c:373:51: error: 'struct address_space' has no member named 'private_list'; did you mean 'i_private_list'?
  373 |         list_add(&gmem->entry, &inode->i_mapping->private_list);
      |                                                   ^~~~~~~~~~~~
      |                                                   i_private_list

Caused by commit

  a7800aa80ea4 ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")

interacting with commit

  488e2eea5100 ("fs: Rename mapping private members")

from the vfs-brauner tree.

I have applied the following merge fix patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Wed, 22 Nov 2023 13:10:06 +1100
Subject: [PATCH] fix up for "KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory"

interacting with "fs: Rename mapping private members" from the vfs-brauner
tree.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 virt/kvm/guest_memfd.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
index 451435123fe7..16d58806e913 100644
--- a/virt/kvm/guest_memfd.c
+++ b/virt/kvm/guest_memfd.c
@@ -97,7 +97,7 @@ static void kvm_gmem_invalidate_end(struct kvm_gmem *gmem, pgoff_t start,
 
 static long kvm_gmem_punch_hole(struct inode *inode, loff_t offset, loff_t len)
 {
-	struct list_head *gmem_list = &inode->i_mapping->private_list;
+	struct list_head *gmem_list = &inode->i_mapping->i_private_list;
 	pgoff_t start = offset >> PAGE_SHIFT;
 	pgoff_t end = (offset + len) >> PAGE_SHIFT;
 	struct kvm_gmem *gmem;
@@ -270,7 +270,7 @@ static int kvm_gmem_migrate_folio(struct address_space *mapping,
 static int kvm_gmem_error_folio(struct address_space *mapping,
 		struct folio *folio)
 {
-	struct list_head *gmem_list = &mapping->private_list;
+	struct list_head *gmem_list = &mapping->i_private_list;
 	struct kvm_gmem *gmem;
 	pgoff_t start, end;
 
@@ -370,7 +370,7 @@ static int __kvm_gmem_create(struct kvm *kvm, loff_t size, u64 flags)
 	kvm_get_kvm(kvm);
 	gmem->kvm = kvm;
 	xa_init(&gmem->bindings);
-	list_add(&gmem->entry, &inode->i_mapping->private_list);
+	list_add(&gmem->entry, &inode->i_mapping->i_private_list);
 
 	fd_install(fd, file);
 	return fd;
-- 
2.40.1

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2023-11-20  4:22 Stephen Rothwell
@ 2023-12-11  2:50 ` Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2023-12-11  2:50 UTC (permalink / raw)
  To: Paolo Bonzini, Andrew Morton
  Cc: KVM, Ackerley Tng, Chao Peng, Isaku Yamahata, Kirill A. Shutemov,
	Michael Roth, Sean Christopherson, Yu Zhang,
	Matthew Wilcox (Oracle), Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 4814 bytes --]

Hi all,

On Mon, 20 Nov 2023 15:22:27 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:10: error: 'const struct address_space_operations' has no member named 'error_remove_page'; did you mean 'error_remove_folio'?
>   306 |         .error_remove_page = kvm_gmem_error_page,
>       |          ^~~~~~~~~~~~~~~~~
>       |          error_remove_folio
> arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:30: error: initialization of 'int (*)(struct folio *)' from incompatible pointer type 'int (*)(struct address_space *, struct page *)' [-Werror=incompatible-pointer-types]
>   306 |         .error_remove_page = kvm_gmem_error_page,
>       |                              ^~~~~~~~~~~~~~~~~~~
> arch/x86/kvm/../../../virt/kvm/guest_memfd.c:306:30: note: (near initialization for 'kvm_gmem_aops.launder_folio')
> 
> Caused by commit
> 
>   640be5bc564f ("fs: convert error_remove_page to error_remove_folio")
> 
> from the mm tree intercting with commit
> 
>   a7800aa80ea4 ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")
> 
> I have applied the following supplied merge fix patch (thanks Andrew).
> 
> From: Andrew Morton <akpm@linux-foundation.org>
> Date: Fri, 17 Nov 2023 09:28:33 -0800
> Subject: [PATCH] fs: Convert error_remove_page to error_remove_folio
> 
> On Fri, 17 Nov 2023 16:14:47 +0000 "Matthew Wilcox (Oracle)" <willy@infradead.org> wrote:
> 
> > There were already assertions that we were not passing a tail page
> > to error_remove_page(), so make the compiler enforce that by converting
> > everything to pass and use a folio.
> >
> > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> > ---
> >  Documentation/filesystems/locking.rst |  4 ++--
> >  Documentation/filesystems/vfs.rst     |  6 +++---
> >  block/fops.c                          |  2 +-
> >  fs/afs/write.c                        |  2 +-
> >  fs/bcachefs/fs.c                      |  2 +-
> >  fs/btrfs/inode.c                      |  2 +-
> >  fs/ceph/addr.c                        |  4 ++--
> >  fs/ext2/inode.c                       |  2 +-
> >  fs/ext4/inode.c                       |  6 +++---
> >  fs/f2fs/compress.c                    |  2 +-
> >  fs/f2fs/inode.c                       |  2 +-
> >  fs/gfs2/aops.c                        |  4 ++--
> >  fs/hugetlbfs/inode.c                  |  6 +++---
> >  fs/nfs/file.c                         |  2 +-
> >  fs/ntfs/aops.c                        |  6 +++---
> >  fs/ocfs2/aops.c                       |  2 +-
> >  fs/xfs/xfs_aops.c                     |  2 +-
> >  fs/zonefs/file.c                      |  2 +-
> >  include/linux/fs.h                    |  2 +-
> >  include/linux/mm.h                    |  3 ++-
> >  mm/memory-failure.c                   | 10 +++++-----
> >  mm/shmem.c                            |  6 +++---
> >  mm/truncate.c                         |  9 ++++-----
> >  virt/kvm/guest_memfd.c                |  9 +++++----  
> 
> virt/kvm/guest_memfd.c exists only in the KVM tree (and hence
> linux-next).  So I assume Stephen will use the change from this patch
> when doing his resolution.
> 
> This:
> ---
Now this:

 virt/kvm/guest_memfd.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
index c2e2371720a9..c23ce219e21c 100644
--- a/virt/kvm/guest_memfd.c
+++ b/virt/kvm/guest_memfd.c
@@ -267,7 +267,8 @@ static int kvm_gmem_migrate_folio(struct address_space *mapping,
 	return -EINVAL;
 }
 
-static int kvm_gmem_error_page(struct address_space *mapping, struct page *page)
+static int kvm_gmem_error_folio(struct address_space *mapping,
+		struct folio *folio)
 {
 	struct list_head *gmem_list = &mapping->private_list;
 	struct kvm_gmem *gmem;
@@ -275,8 +276,8 @@ static int kvm_gmem_error_page(struct address_space *mapping, struct page *page)
 
 	filemap_invalidate_lock_shared(mapping);
 
-	start = page->index;
-	end = start + thp_nr_pages(page);
+	start = folio->index;
+	end = start + folio_nr_pages(folio);
 
 	list_for_each_entry(gmem, gmem_list, entry)
 		kvm_gmem_invalidate_begin(gmem, start, end);
@@ -301,7 +302,7 @@ static int kvm_gmem_error_page(struct address_space *mapping, struct page *page)
 static const struct address_space_operations kvm_gmem_aops = {
 	.dirty_folio = noop_dirty_folio,
 	.migrate_folio	= kvm_gmem_migrate_folio,
-	.error_remove_page = kvm_gmem_error_page,
+	.error_remove_folio = kvm_gmem_error_folio,
 };
 
 static int kvm_gmem_getattr(struct mnt_idmap *idmap, const struct path *path,

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2024-04-12  3:34 Stephen Rothwell
  2024-04-12  3:35 ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2024-04-12  3:34 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: KVM, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 1911 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

kernel/events/uprobes.c: In function '__replace_page':
kernel/events/uprobes.c:160:35: error: storage size of 'range' isn't known
  160 |         struct mmu_notifier_range range;
      |                                   ^~~~~
kernel/events/uprobes.c:162:9: error: implicit declaration of function 'mmu_notifier_range_init' [-Werror=implicit-function-declaration]
  162 |         mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, addr,
      |         ^~~~~~~~~~~~~~~~~~~~~~~
kernel/events/uprobes.c:162:41: error: 'MMU_NOTIFY_CLEAR' undeclared (first use in this function)
  162 |         mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, addr,
      |                                         ^~~~~~~~~~~~~~~~
kernel/events/uprobes.c:162:41: note: each undeclared identifier is reported only once for each function it appears in
kernel/events/uprobes.c:175:9: error: implicit declaration of function 'mmu_notifier_invalidate_range_start' [-Werror=implicit-function-declaration]
  175 |         mmu_notifier_invalidate_range_start(&range);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/events/uprobes.c:208:9: error: implicit declaration of function 'mmu_notifier_invalidate_range_end' [-Werror=implicit-function-declaration]
  208 |         mmu_notifier_invalidate_range_end(&range);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kernel/events/uprobes.c:160:35: warning: unused variable 'range' [-Wunused-variable]
  160 |         struct mmu_notifier_range range;
      |                                   ^~~~~
cc1: some warnings being treated as errors

Caused by commit

  b06d4c260e93 ("mm: replace set_pte_at_notify() with just set_pte_at()")

I have applied the following patial revert for today.



-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2024-04-12  3:34 Stephen Rothwell
@ 2024-04-12  3:35 ` Stephen Rothwell
  2024-04-12 12:14   ` Paolo Bonzini
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2024-04-12  3:35 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: KVM, Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2866 bytes --]

Hi all,

On Fri, 12 Apr 2024 13:34:07 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the kvm tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
> 
> kernel/events/uprobes.c: In function '__replace_page':
> kernel/events/uprobes.c:160:35: error: storage size of 'range' isn't known
>   160 |         struct mmu_notifier_range range;
>       |                                   ^~~~~
> kernel/events/uprobes.c:162:9: error: implicit declaration of function 'mmu_notifier_range_init' [-Werror=implicit-function-declaration]
>   162 |         mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, addr,
>       |         ^~~~~~~~~~~~~~~~~~~~~~~
> kernel/events/uprobes.c:162:41: error: 'MMU_NOTIFY_CLEAR' undeclared (first use in this function)
>   162 |         mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, addr,
>       |                                         ^~~~~~~~~~~~~~~~
> kernel/events/uprobes.c:162:41: note: each undeclared identifier is reported only once for each function it appears in
> kernel/events/uprobes.c:175:9: error: implicit declaration of function 'mmu_notifier_invalidate_range_start' [-Werror=implicit-function-declaration]
>   175 |         mmu_notifier_invalidate_range_start(&range);
>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> kernel/events/uprobes.c:208:9: error: implicit declaration of function 'mmu_notifier_invalidate_range_end' [-Werror=implicit-function-declaration]
>   208 |         mmu_notifier_invalidate_range_end(&range);
>       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> kernel/events/uprobes.c:160:35: warning: unused variable 'range' [-Wunused-variable]
>   160 |         struct mmu_notifier_range range;
>       |                                   ^~~~~
> cc1: some warnings being treated as errors
> 
> Caused by commit
> 
>   b06d4c260e93 ("mm: replace set_pte_at_notify() with just set_pte_at()")
> 
> I have applied the following patial revert for today.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 12 Apr 2024 13:27:20 +1000
Subject: [PATCH] fix up for "mm: replace set_pte_at_notify() with just
 set_pte_at()"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 kernel/events/uprobes.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index f4523b95c945..1215bc299390 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -18,6 +18,7 @@
 #include <linux/sched/coredump.h>
 #include <linux/export.h>
 #include <linux/rmap.h>		/* anon_vma_prepare */
+#include <linux/mmu_notifier.h>
 #include <linux/swap.h>		/* folio_free_swap */
 #include <linux/ptrace.h>	/* user_enable_single_step */
 #include <linux/kdebug.h>	/* notifier mechanism */
-- 
2.43.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2024-04-12  3:35 ` Stephen Rothwell
@ 2024-04-12 12:14   ` Paolo Bonzini
  0 siblings, 0 replies; 33+ messages in thread
From: Paolo Bonzini @ 2024-04-12 12:14 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: KVM, Linux Kernel Mailing List, Linux Next Mailing List

On Fri, Apr 12, 2024 at 5:35 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> On Fri, 12 Apr 2024 13:34:07 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > After merging the kvm tree, today's linux-next build (arm
> > multi_v7_defconfig) failed like this:
> >
> > kernel/events/uprobes.c: In function '__replace_page':
> > kernel/events/uprobes.c:160:35: error: storage size of 'range' isn't known
> >   160 |         struct mmu_notifier_range range;
> >       |                                   ^~~~~
> > kernel/events/uprobes.c:162:9: error: implicit declaration of function 'mmu_notifier_range_init' [-Werror=implicit-function-declaration]
> >   162 |         mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, addr,
> >       |         ^~~~~~~~~~~~~~~~~~~~~~~
> > kernel/events/uprobes.c:162:41: error: 'MMU_NOTIFY_CLEAR' undeclared (first use in this function)
> >   162 |         mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, mm, addr,
> >       |                                         ^~~~~~~~~~~~~~~~
> > kernel/events/uprobes.c:162:41: note: each undeclared identifier is reported only once for each function it appears in
> > kernel/events/uprobes.c:175:9: error: implicit declaration of function 'mmu_notifier_invalidate_range_start' [-Werror=implicit-function-declaration]
> >   175 |         mmu_notifier_invalidate_range_start(&range);
> >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > kernel/events/uprobes.c:208:9: error: implicit declaration of function 'mmu_notifier_invalidate_range_end' [-Werror=implicit-function-declaration]
> >   208 |         mmu_notifier_invalidate_range_end(&range);
> >       |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > kernel/events/uprobes.c:160:35: warning: unused variable 'range' [-Wunused-variable]
> >   160 |         struct mmu_notifier_range range;
> >       |                                   ^~~~~
> > cc1: some warnings being treated as errors
> >
> > Caused by commit
> >
> >   b06d4c260e93 ("mm: replace set_pte_at_notify() with just set_pte_at()")
> >
> > I have applied the following patial revert for today.
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Fri, 12 Apr 2024 13:27:20 +1000
> Subject: [PATCH] fix up for "mm: replace set_pte_at_notify() with just
>  set_pte_at()"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
>  kernel/events/uprobes.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
> index f4523b95c945..1215bc299390 100644
> --- a/kernel/events/uprobes.c
> +++ b/kernel/events/uprobes.c
> @@ -18,6 +18,7 @@
>  #include <linux/sched/coredump.h>
>  #include <linux/export.h>
>  #include <linux/rmap.h>                /* anon_vma_prepare */
> +#include <linux/mmu_notifier.h>
>  #include <linux/swap.h>                /* folio_free_swap */
>  #include <linux/ptrace.h>      /* user_enable_single_step */
>  #include <linux/kdebug.h>      /* notifier mechanism */
> --
> 2.43.0

Fixed, thanks and sorry for messing up.

Paolo


^ permalink raw reply	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2024-05-02  6:47 Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2024-05-02  6:47 UTC (permalink / raw)
  To: Paolo Bonzini, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	Peter Zijlstra
  Cc: Jacob Pan, Isaku Yamahata, Sean Christopherson, Xiaoyao Li, KVM,
	Linux Kernel Mailing List, Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2136 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

arch/x86/kvm/vmx/main.c:102:43: error: 'pi_has_pending_interrupt' undeclared here (not in a function)
  102 |         .dy_apicv_has_pending_interrupt = pi_has_pending_interrupt,
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/main.c:131:27: error: 'vmx_pi_update_irte' undeclared here (not in a function); did you mean 'kvm_apic_update_irr'?
  131 |         .pi_update_irte = vmx_pi_update_irte,
      |                           ^~~~~~~~~~~~~~~~~~
      |                           kvm_apic_update_irr
arch/x86/kvm/vmx/main.c:132:32: error: 'vmx_pi_start_assignment' undeclared here (not in a function); did you mean 'kvm_arch_start_assignment'?
  132 |         .pi_start_assignment = vmx_pi_start_assignment,
      |                                ^~~~~~~~~~~~~~~~~~~~~~~
      |                                kvm_arch_start_assignment

Probably caused by commit

  5f18c642ff7e ("KVM: VMX: Move out vmx_x86_ops to 'main.c' to dispatch VMX and TDX")

interacting with commit

  699f67512f04 ("KVM: VMX: Move posted interrupt descriptor out of VMX code")

from the tip tree.

I have applied the following merge resolution patch.

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 2 May 2024 14:13:25 +1000
Subject: [PATCH] fixup for "KVM: VMX: Move posted interrupt descriptor out of
 VMX code"

interacting with commit

  5f18c642ff7e ("KVM: VMX: Move out vmx_x86_ops to 'main.c' to dispatch VMX andTDX")

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 arch/x86/kvm/vmx/main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/kvm/vmx/main.c b/arch/x86/kvm/vmx/main.c
index 7c546ad3e4c9..d4ed681785fd 100644
--- a/arch/x86/kvm/vmx/main.c
+++ b/arch/x86/kvm/vmx/main.c
@@ -5,6 +5,7 @@
 #include "vmx.h"
 #include "nested.h"
 #include "pmu.h"
+#include "posted_intr.h"
 
 #define VMX_REQUIRED_APICV_INHIBITS				\
 	(BIT(APICV_INHIBIT_REASON_DISABLE)|			\
-- 
2.43.0

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* linux-next: build failure after merge of the kvm tree
@ 2025-05-28  5:28 Stephen Rothwell
  2025-05-28  5:37 ` Paolo Bonzini
  0 siblings, 1 reply; 33+ messages in thread
From: Stephen Rothwell @ 2025-05-28  5:28 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Maxim Levitsky, KVM, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 969 bytes --]

Hi all,

After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

error[E0425]: cannot find function `mutex_trylock` in crate `bindings`
   --> rust/kernel/sync/lock/mutex.rs:129:41
    |
129 |         let result = unsafe { bindings::mutex_trylock(ptr) };
    |                                         ^^^^^^^^^^^^^ help: a function with a similar name exists: `mutex_lock`
    |
   ::: /home/sfr/next/x86_64_allmodconfig/rust/bindings/bindings_helpers_generated.rs:265:5
    |
265 |     pub fn mutex_lock(lock: *mut mutex);
    |     ------------------------------------ similarly named function `mutex_lock` defined here

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0425`.

Caused by commit

  c5b6ababd21a ("locking/mutex: implement mutex_trylock_nested")

I have used the kvm tree from next-20250527 for today.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2025-05-28  5:28 Stephen Rothwell
@ 2025-05-28  5:37 ` Paolo Bonzini
  2025-05-28  6:44   ` Stephen Rothwell
  0 siblings, 1 reply; 33+ messages in thread
From: Paolo Bonzini @ 2025-05-28  5:37 UTC (permalink / raw)
  To: Stephen Rothwell, Miguel Ojeda
  Cc: Maxim Levitsky, KVM, Linux Kernel Mailing List,
	Linux Next Mailing List

On Wed, May 28, 2025 at 7:28 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Hi all,
>
> After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
>
> error[E0425]: cannot find function `mutex_trylock` in crate `bindings`
>    --> rust/kernel/sync/lock/mutex.rs:129:41
>     |
> 129 |         let result = unsafe { bindings::mutex_trylock(ptr) };
>     |                                         ^^^^^^^^^^^^^ help: a function with a similar name exists: `mutex_lock`
>     |
>    ::: /home/sfr/next/x86_64_allmodconfig/rust/bindings/bindings_helpers_generated.rs:265:5
>     |
> 265 |     pub fn mutex_lock(lock: *mut mutex);
>     |     ------------------------------------ similarly named function `mutex_lock` defined here
>
> error: aborting due to 1 previous error

I thought that since Rust failures wouldn't have to be fixed by
non-Rust maintainers, they wouldn't block merging of non-Rust trees in
linux-next?

In this case it's not a problem to fix it up at all (I'll send a patch
to Miguel as soon as I've taken the little guy to school); it's just
to understand what's to expect.

Paolo


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: linux-next: build failure after merge of the kvm tree
  2025-05-28  5:37 ` Paolo Bonzini
@ 2025-05-28  6:44   ` Stephen Rothwell
  0 siblings, 0 replies; 33+ messages in thread
From: Stephen Rothwell @ 2025-05-28  6:44 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Miguel Ojeda, Maxim Levitsky, KVM, Linux Kernel Mailing List,
	Linux Next Mailing List

[-- Attachment #1: Type: text/plain, Size: 2069 bytes --]

Hi Paolo,

On Wed, 28 May 2025 07:37:57 +0200 Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> On Wed, May 28, 2025 at 7:28 AM Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >
> > After merging the kvm tree, today's linux-next build (x86_64 allmodconfig)
> > failed like this:
> >
> > error[E0425]: cannot find function `mutex_trylock` in crate `bindings`  
> >    --> rust/kernel/sync/lock/mutex.rs:129:41  
> >     |
> > 129 |         let result = unsafe { bindings::mutex_trylock(ptr) };
> >     |                                         ^^^^^^^^^^^^^ help: a function with a similar name exists: `mutex_lock`
> >     |
> >    ::: /home/sfr/next/x86_64_allmodconfig/rust/bindings/bindings_helpers_generated.rs:265:5
> >     |
> > 265 |     pub fn mutex_lock(lock: *mut mutex);
> >     |     ------------------------------------ similarly named function `mutex_lock` defined here
> >
> > error: aborting due to 1 previous error  
> 
> I thought that since Rust failures wouldn't have to be fixed by
> non-Rust maintainers, they wouldn't block merging of non-Rust trees in
> linux-next?

I am sorry, but I am not sure how that is supposed to work.  (Do I
disable RUST in my builds - thereby possibly missing other build
problems?)  In this case you can probably not even do an allmodconfig
build of the kvm tree alone if you have rustc etc installed, right?

BTW, the only bit of the kvm tree not merged into linux-next today is
the kvm-lockdep-common topic branch that was merged overnight (my time).

> In this case it's not a problem to fix it up at all (I'll send a patch
> to Miguel as soon as I've taken the little guy to school); it's just
> to understand what's to expect.

That patch needs to go into your tree (with Miguel's Ack if necessary)
otherwise as soon as Linus merges your tree, his allmodconfig build
will be broken and he will (probably) unmerge your tree and let you
know (and wonder why I didn't pick it up).

I don't know what to tell you about expectations, sorry.
-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2025-05-28  6:44 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20141124171908.034b2fa1@canb.auug.org.au>
2014-11-24  9:38 ` linux-next: build failure after merge of the kvm tree Paolo Bonzini
2016-12-19  1:11 Stephen Rothwell
  -- strict thread matches above, loose matches on Subject: below --
2017-02-08  3:23 Stephen Rothwell
2018-12-19  4:33 Stephen Rothwell
2019-02-18  3:42 Stephen Rothwell
2019-02-19 15:36 ` Sean Christopherson
2019-02-19 18:17   ` Paolo Bonzini
2020-05-21  6:28 Stephen Rothwell
2020-06-04  2:54 ` Stephen Rothwell
2020-07-17  5:57 Stephen Rothwell
2020-07-29  7:06 ` Stephen Rothwell
2021-02-05  5:02 Stephen Rothwell
2021-02-05 10:08 ` Paolo Bonzini
2021-02-07 19:48   ` Stephen Rothwell
2021-02-09  4:56     ` Stephen Rothwell
2021-02-08  5:33 Stephen Rothwell
2021-02-08 11:18 ` Yu Zhang
2022-04-19  5:34 Stephen Rothwell
2022-04-19 16:01 ` Sean Christopherson
2022-04-19 16:09   ` Paolo Bonzini
2022-04-21 18:06   ` Paolo Bonzini
2022-04-27  3:23 ` Stephen Rothwell
2022-04-27  6:06   ` Paolo Bonzini
2023-11-20  4:22 Stephen Rothwell
2023-12-11  2:50 ` Stephen Rothwell
2023-11-22  2:14 Stephen Rothwell
2024-04-12  3:34 Stephen Rothwell
2024-04-12  3:35 ` Stephen Rothwell
2024-04-12 12:14   ` Paolo Bonzini
2024-05-02  6:47 Stephen Rothwell
2025-05-28  5:28 Stephen Rothwell
2025-05-28  5:37 ` Paolo Bonzini
2025-05-28  6:44   ` Stephen Rothwell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).