Messages in this thread | | | Date | Tue, 27 Sep 2022 10:10:54 -0700 | Subject | Re: [PATCH v5 1/6] x86/sev: Fix calculation of end address based on number of pages | From | Dave Hansen <> |
| |
On 9/27/22 10:04, Tom Lendacky wrote: > --- a/arch/x86/kernel/sev.c > +++ b/arch/x86/kernel/sev.c > @@ -649,7 +649,7 @@ static void pvalidate_pages(unsigned long vaddr, unsigned int npages, bool valid > int rc; > > vaddr = vaddr & PAGE_MASK; > - vaddr_end = vaddr + (npages << PAGE_SHIFT); > + vaddr_end = vaddr + ((unsigned long)npages << PAGE_SHIFT);
Could we please just fix the fragile typing that cascaded down to this point?
Shouldn't 'npages' in this interface be a long?
> struct x86_guest { > void (*enc_status_change_prepare)(unsigned long vaddr, int npages, bool enc); > bool (*enc_status_change_finish)(unsigned long vaddr, int npages, bool enc); > bool (*enc_tlb_flush_required)(bool enc); > bool (*enc_cache_flush_required)(void); > };
| |