Messages in this thread | | | Date | Fri, 28 Jan 2022 21:47:54 +0000 | From | Sean Christopherson <> | Subject | Re: [PATCH] KVM: x86: Fix rmap allocation for very large memslots |
| |
On Fri, Jan 28, 2022, Maciej S. Szmigiero wrote: > From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com> > > Commit 7661809d493b ("mm: don't allow oversized kvmalloc() calls") has > forbidden using kvmalloc() to make allocations larger than INT_MAX (2 GiB). > > Unfortunately, adding a memslot exceeding 1 TiB in size will result in rmap > code trying to make an allocation exceeding this limit. > Besides failing this allocation, such operation will also trigger a > WARN_ON_ONCE() added by the aforementioned commit. > > Since we probably still want to use kernel slab for small rmap allocations > let's only redirect such oversized allocations to vmalloc. > > A possible alternative would be to add some kind of a __GFP_LARGE flag to > skip the INT_MAX check behind kvmalloc(), however this will impact the > common kernel memory allocation code, not just KVM.
Paolo has a cleaner fix for this[1][2], but it appears to have stalled out somewhere.
Paolo???
[1] https://lore.kernel.org/all/20211015165519.135670-1-pbonzini@redhat.com [2] https://lore.kernel.org/all/20211016064302.165220-1-pbonzini@redhat.com
| |