KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST
[ Upstream commit 792020907b11c6f9246c21977cab3bad985ae4b6 ] 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@ozlabs.ru> Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20210901084550.1658699-1-aik@ozlabs.ru Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
aecdb1d242
commit
b8e5376c27
@ -510,7 +510,7 @@ long kvmhv_copy_tofrom_guest_nested(struct kvm_vcpu *vcpu)
|
|||||||
if (eaddr & (0xFFFUL << 52))
|
if (eaddr & (0xFFFUL << 52))
|
||||||
return H_PARAMETER;
|
return H_PARAMETER;
|
||||||
|
|
||||||
buf = kzalloc(n, GFP_KERNEL);
|
buf = kzalloc(n, GFP_KERNEL | __GFP_NOWARN);
|
||||||
if (!buf)
|
if (!buf)
|
||||||
return H_NO_MEM;
|
return H_NO_MEM;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user