* [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption
[not found] ` <20241014105912.3207374-1-ryan.roberts@arm.com>
@ 2024-10-14 10:58 ` Ryan Roberts
2024-10-14 21:37 ` Sean Christopherson
2024-10-16 14:41 ` Ryan Roberts
0 siblings, 2 replies; 4+ messages in thread
From: Ryan Roberts @ 2024-10-14 10:58 UTC (permalink / raw)
To: Andrew Morton, Anshuman Khandual, Ard Biesheuvel, Catalin Marinas,
David Hildenbrand, Greg Marsden, Ivan Ivanov, Kalesh Singh,
Marc Zyngier, Mark Rutland, Matthias Brugger, Miroslav Benes,
Will Deacon
Cc: Ryan Roberts, kvm, linux-arm-kernel, linux-kernel, linux-mm
To prepare for supporting boot-time page size selection, refactor code
to remove assumptions about PAGE_SIZE being compile-time constant. Code
intended to be equivalent when compile-time page size is active.
Modify BUILD_BUG_ON() to compare with page size limit.
Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
---
***NOTE***
Any confused maintainers may want to read the cover note here for context:
https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/
virt/kvm/kvm_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index cb2b78e92910f..6c862bc41a672 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -4244,7 +4244,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, unsigned long id)
goto vcpu_decrement;
}
- BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE);
+ BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE_MIN);
page = alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO);
if (!page) {
r = -ENOMEM;
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption
2024-10-14 10:58 ` [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption Ryan Roberts
@ 2024-10-14 21:37 ` Sean Christopherson
2024-10-15 10:57 ` Ryan Roberts
2024-10-16 14:41 ` Ryan Roberts
1 sibling, 1 reply; 4+ messages in thread
From: Sean Christopherson @ 2024-10-14 21:37 UTC (permalink / raw)
To: Ryan Roberts
Cc: Andrew Morton, Anshuman Khandual, Ard Biesheuvel, Catalin Marinas,
David Hildenbrand, Greg Marsden, Ivan Ivanov, Kalesh Singh,
Marc Zyngier, Mark Rutland, Matthias Brugger, Miroslav Benes,
Will Deacon, kvm, linux-arm-kernel, linux-kernel, linux-mm
Nit, "KVM:" for the scope.
On Mon, Oct 14, 2024, Ryan Roberts wrote:
> To prepare for supporting boot-time page size selection, refactor code
> to remove assumptions about PAGE_SIZE being compile-time constant. Code
> intended to be equivalent when compile-time page size is active.
>
> Modify BUILD_BUG_ON() to compare with page size limit.
>
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>
> ***NOTE***
> Any confused maintainers may want to read the cover note here for context:
> https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/
The patch should still stand on its own. Most people can probably suss out what
PAGE_SIZE_MIN is, but at the same time, it's quite easy to provide a more verbose
changelog that's tailored to the actual patch. E.g.
To prepare for supporting boot-time page size selection, refactor KVM's
check on the size of the kvm_run structure to assert that the size is less
than the smallest possible page size, i.e. that kvm_run won't overflow its
page regardless of what page size is chosen at boot time.
With something like the above,
Reviewed-by: Sean Christopherson <seanjc@google.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption
2024-10-14 21:37 ` Sean Christopherson
@ 2024-10-15 10:57 ` Ryan Roberts
0 siblings, 0 replies; 4+ messages in thread
From: Ryan Roberts @ 2024-10-15 10:57 UTC (permalink / raw)
To: Sean Christopherson
Cc: Andrew Morton, Anshuman Khandual, Ard Biesheuvel, Catalin Marinas,
David Hildenbrand, Greg Marsden, Ivan Ivanov, Kalesh Singh,
Marc Zyngier, Mark Rutland, Matthias Brugger, Miroslav Benes,
Will Deacon, kvm, linux-arm-kernel, linux-kernel, linux-mm
On 14/10/2024 22:37, Sean Christopherson wrote:
> Nit, "KVM:" for the scope.
Thanks, will fix.
>
> On Mon, Oct 14, 2024, Ryan Roberts wrote:
>> To prepare for supporting boot-time page size selection, refactor code
>> to remove assumptions about PAGE_SIZE being compile-time constant. Code
>> intended to be equivalent when compile-time page size is active.
>>
>> Modify BUILD_BUG_ON() to compare with page size limit.
>>
>> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
>> ---
>>
>> ***NOTE***
>> Any confused maintainers may want to read the cover note here for context:
>> https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/
>
> The patch should still stand on its own. Most people can probably suss out what
> PAGE_SIZE_MIN is, but at the same time, it's quite easy to provide a more verbose
> changelog that's tailored to the actual patch. E.g.
>
> To prepare for supporting boot-time page size selection, refactor KVM's
> check on the size of the kvm_run structure to assert that the size is less
> than the smallest possible page size, i.e. that kvm_run won't overflow its
> page regardless of what page size is chosen at boot time.
>
> With something like the above,
>
> Reviewed-by: Sean Christopherson <seanjc@google.com>
Thanks! I'll update this for the next version.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption
2024-10-14 10:58 ` [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption Ryan Roberts
2024-10-14 21:37 ` Sean Christopherson
@ 2024-10-16 14:41 ` Ryan Roberts
1 sibling, 0 replies; 4+ messages in thread
From: Ryan Roberts @ 2024-10-16 14:41 UTC (permalink / raw)
To: Andrew Morton, Anshuman Khandual, Ard Biesheuvel, Catalin Marinas,
David Hildenbrand, Greg Marsden, Ivan Ivanov, Kalesh Singh,
Marc Zyngier, Mark Rutland, Matthias Brugger, Miroslav Benes,
Will Deacon, Paolo Bonzini
Cc: kvm, linux-arm-kernel, linux-kernel, linux-mm
+ Paolo Bonzini
This was a rather tricky series to get the recipients correct for and my script
did not realize that "supporter" was a pseudonym for "maintainer" so you were
missed off the original post. Appologies!
More context in cover letter:
https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/
On 14/10/2024 11:58, Ryan Roberts wrote:
> To prepare for supporting boot-time page size selection, refactor code
> to remove assumptions about PAGE_SIZE being compile-time constant. Code
> intended to be equivalent when compile-time page size is active.
>
> Modify BUILD_BUG_ON() to compare with page size limit.
>
> Signed-off-by: Ryan Roberts <ryan.roberts@arm.com>
> ---
>
> ***NOTE***
> Any confused maintainers may want to read the cover note here for context:
> https://lore.kernel.org/all/20241014105514.3206191-1-ryan.roberts@arm.com/
>
> virt/kvm/kvm_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index cb2b78e92910f..6c862bc41a672 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -4244,7 +4244,7 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, unsigned long id)
> goto vcpu_decrement;
> }
>
> - BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE);
> + BUILD_BUG_ON(sizeof(struct kvm_run) > PAGE_SIZE_MIN);
> page = alloc_page(GFP_KERNEL_ACCOUNT | __GFP_ZERO);
> if (!page) {
> r = -ENOMEM;
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-10-16 14:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20241014105514.3206191-1-ryan.roberts@arm.com>
[not found] ` <20241014105912.3207374-1-ryan.roberts@arm.com>
2024-10-14 10:58 ` [RFC PATCH v1 17/57] kvm: Remove PAGE_SIZE compile-time constant assumption Ryan Roberts
2024-10-14 21:37 ` Sean Christopherson
2024-10-15 10:57 ` Ryan Roberts
2024-10-16 14:41 ` Ryan Roberts
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).