|
Message-ID: <b4a28e8b-d4ec-bbd2-cfaf-9a416ef08ef6@oracle.com> Date: Wed, 18 Apr 2018 18:17:04 -0400 From: Boris Ostrovsky <boris.ostrovsky@...cle.com> To: Laura Abbott <labbott@...hat.com>, Juergen Gross <jgross@...e.com> Cc: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, "H. Peter Anvin" <hpa@...or.com>, x86@...nel.org, xen-devel@...ts.xenproject.org, linux-kernel@...r.kernel.org, kernel-hardening@...ts.openwall.com Subject: Re: [PATCHv2] x86/xen: Remove use of VLAs On 04/18/2018 01:08 PM, Laura Abbott wrote: > There's an ongoing effort to remove VLAs[1] from the kernel to eventually > turn on -Wvla. It turns out, the few VLAs in use in Xen produce only a > single entry array that is always bounded by GDT_SIZE. Clean up the code to > get rid of the VLA and the loop. > > [1] https://lkml.org/lkml/2018/3/7/621 > > Signed-off-by: Laura Abbott <labbott@...hat.com> > --- > v2: Updated the code to reflect that we know size is always bounded by > GDT_SIZE. This gets rid of the array and the loop. I can throw a few > more comments in there if someone thinks they need to be updated. > --- > arch/x86/xen/enlighten_pv.c | 84 ++++++++++++++++----------------------------- > 1 file changed, 29 insertions(+), 55 deletions(-) > > diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c > index c36d23aa6c35..1254f2fa3a89 100644 > --- a/arch/x86/xen/enlighten_pv.c > +++ b/arch/x86/xen/enlighten_pv.c > @@ -421,45 +421,32 @@ static void xen_load_gdt(const struct desc_ptr *dtr) > { > unsigned long va = dtr->address; > unsigned int size = dtr->size + 1; > - unsigned pages = DIV_ROUND_UP(size, PAGE_SIZE); > - unsigned long frames[pages]; > - int f; > - > - /* > - * A GDT can be up to 64k in size, which corresponds to 8192 > - * 8-byte entries, or 16 4k pages.. > - */ > + unsigned long pfn, mfn; > + int level; > + pte_t *ptep; > + void *virt; > > - BUG_ON(size > 65536); > + BUG_ON(size > GDT_SIZE); I'd probably BUG_ON(size>PAGE_SIZE) because that's what we are really trying to avoid. Maybe with a comment that we expect GDT_SIZE at most, and it is less than PAGE_SIZE. I can fix it while committing if you don't object. Reviewed-by: Boris Ostrovsky <boris.ostrovsky@...cle.com>
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.