Re: [PATCH kernel] KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST
Fabiano Rosas <[email protected]>
| Newsgroups | org.kernel.vger.kvm-ppc,org.ozlabs.lists.linuxppc-dev |
|---|---|
| Message-ID | <[email protected]> |
Alexey Kardashevskiy <[email protected]> writes: > H_COPY_TOFROM_GUEST is an hcall for an upper level VM to access its nested > VMs memory. The userspace can trigger WARN_ON_ONCE(!(gfp & __GFP_NOWARN)) > in __alloc_pages() by constructing a tiny VM which only does > H_COPY_TOFROM_GUEST with a too big GPR9 (number of bytes to copy). > > This silences the warning by adding __GFP_NOWARN. > > Spotted by syzkaller. > > Signed-off-by: Alexey Kardashevskiy <[email protected]> > --- Reviewed-by: Fabiano Rosas <[email protected]> > arch/powerpc/kvm/book3s_hv_nested.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c > index e57c08b968c0..a2e34efb8d31 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -580,7 +580,7 @@ long kvmhv_copy_tofrom_guest_nested(struct kvm_vcpu *vcpu) > if (eaddr & (0xFFFUL << 52)) > return H_PARAMETER; > > - buf = kzalloc(n, GFP_KERNEL); > + buf = kzalloc(n, GFP_KERNEL | __GFP_NOWARN); > if (!buf) > return H_NO_MEM;