Re: linux-next: manual merge of the kvm tree with the tip tree

From: Stephen Rothwell
Date: Wed Jun 03 2020 - 23:09:46 EST


Hi all,

On Tue, 2 Jun 2020 14:53:58 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> Today's linux-next merge of the kvm tree got a conflict in:
>
> arch/x86/kernel/kvm.c
>
> between commit:
>
> a707ae1a9bbb ("x86/entry: Switch page fault exception to IDTENTRY_RAW")
>
> from the tip tree and commit:
>
> 68fd66f100d1 ("KVM: x86: extend struct kvm_vcpu_pv_apf_data with token info")
>
> from the kvm tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc arch/x86/kernel/kvm.c
> index 07dc47359c4f,d6f22a3a1f7d..000000000000
> --- a/arch/x86/kernel/kvm.c
> +++ b/arch/x86/kernel/kvm.c
> @@@ -217,23 -218,23 +217,23 @@@ again
> }
> EXPORT_SYMBOL_GPL(kvm_async_pf_task_wake);
>
> - u32 noinstr kvm_read_and_reset_pf_reason(void)
> -u32 kvm_read_and_reset_apf_flags(void)
> ++u32 noinstr kvm_read_and_reset_apf_flags(void)
> {
> - u32 reason = 0;
> + u32 flags = 0;
>
> if (__this_cpu_read(apf_reason.enabled)) {
> - reason = __this_cpu_read(apf_reason.reason);
> - __this_cpu_write(apf_reason.reason, 0);
> + flags = __this_cpu_read(apf_reason.flags);
> + __this_cpu_write(apf_reason.flags, 0);
> }
>
> - return reason;
> + return flags;
> }
> - EXPORT_SYMBOL_GPL(kvm_read_and_reset_pf_reason);
> + EXPORT_SYMBOL_GPL(kvm_read_and_reset_apf_flags);
> -NOKPROBE_SYMBOL(kvm_read_and_reset_apf_flags);
>
> -bool __kvm_handle_async_pf(struct pt_regs *regs, u32 token)
> +noinstr bool __kvm_handle_async_pf(struct pt_regs *regs, u32 token)
> {
> - u32 reason = kvm_read_and_reset_pf_reason();
> + u32 reason = kvm_read_and_reset_apf_flags();
> + bool rcu_exit;
>
> switch (reason) {
> case KVM_PV_REASON_PAGE_NOT_PRESENT:

This is now a conflict between the tip tree and Linus' tree.

--
Cheers,
Stephen Rothwell

Attachment: pgpvF6U3PdCN2.pgp
Description: OpenPGP digital signature