Message ID | 20240903102313.3402529-1-svens@linux.ibm.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Commit | e240b0fde52f33670d1336697c22d90a4fe33c84 |
Headers | show |
Series | uprobes: use kzalloc to allocate xol area | expand |
On 09/03, Sven Schnelle wrote: > > To prevent unitialized members, use kzalloc to allocate > the xol area. > > Signed-off-by: Sven Schnelle <svens@linux.ibm.com> Acked-by: Oleg Nesterov <oleg@redhat.com> and since this looks easily exploitable, I'd sugest Cc: stable@vger.kernel.org Fixes: b059a453b1cf1 ("x86/vdso: Add mremap hook to vm_special_mapping") > --- > kernel/events/uprobes.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c > index 73cc47708679..50d7949be2b1 100644 > --- a/kernel/events/uprobes.c > +++ b/kernel/events/uprobes.c > @@ -1489,7 +1489,7 @@ static struct xol_area *__create_xol_area(unsigned long vaddr) > struct xol_area *area; > void *insns; > > - area = kmalloc(sizeof(*area), GFP_KERNEL); > + area = kzalloc(sizeof(*area), GFP_KERNEL); > if (unlikely(!area)) > goto out; > > @@ -1499,7 +1499,6 @@ static struct xol_area *__create_xol_area(unsigned long vaddr) > goto free_area; > > area->xol_mapping.name = "[uprobes]"; > - area->xol_mapping.fault = NULL; > area->xol_mapping.pages = area->pages; > area->pages[0] = alloc_page(GFP_HIGHUSER); > if (!area->pages[0]) > -- > 2.43.0 >
On Tue, Sep 03, 2024 at 02:46:07PM +0200, Oleg Nesterov wrote: > On 09/03, Sven Schnelle wrote: > > > > To prevent unitialized members, use kzalloc to allocate > > the xol area. > > > > Signed-off-by: Sven Schnelle <svens@linux.ibm.com> > > Acked-by: Oleg Nesterov <oleg@redhat.com> > > and since this looks easily exploitable, I'd sugest > > Cc: stable@vger.kernel.org > Fixes: b059a453b1cf1 ("x86/vdso: Add mremap hook to vm_special_mapping") Thanks, will queue in perf/urgent
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 73cc47708679..50d7949be2b1 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -1489,7 +1489,7 @@ static struct xol_area *__create_xol_area(unsigned long vaddr) struct xol_area *area; void *insns; - area = kmalloc(sizeof(*area), GFP_KERNEL); + area = kzalloc(sizeof(*area), GFP_KERNEL); if (unlikely(!area)) goto out; @@ -1499,7 +1499,6 @@ static struct xol_area *__create_xol_area(unsigned long vaddr) goto free_area; area->xol_mapping.name = "[uprobes]"; - area->xol_mapping.fault = NULL; area->xol_mapping.pages = area->pages; area->pages[0] = alloc_page(GFP_HIGHUSER); if (!area->pages[0])
To prevent unitialized members, use kzalloc to allocate the xol area. Signed-off-by: Sven Schnelle <svens@linux.ibm.com> --- kernel/events/uprobes.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)