Alexey Kardashevskiy <aik@xxxxxxxxx> 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 <aik@xxxxxxxxx> > --- Reviewed-by: Fabiano Rosas <farosas@xxxxxxxxxxxxx> > 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;