Messages in this thread | | | Date | Wed, 31 Aug 2022 09:00:20 +0200 | From | Greg KH <> | Subject | Re: [PATCH] lkdtm: Add checks after calling kmalloc and vmalloc |
| |
On Wed, Aug 31, 2022 at 02:53:55PM +0800, Jiasheng Jiang wrote: > As the potential failure of the memory allocation, > it should be better to check the return value after > calling kmalloc and vmalloc and skip the execute_location > if fails. > > Fixes: cc33c537c12f ("lkdtm: add "EXEC_*" triggers") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > drivers/misc/lkdtm/perms.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/misc/lkdtm/perms.c b/drivers/misc/lkdtm/perms.c > index b93404d65650..9ba927d74973 100644 > --- a/drivers/misc/lkdtm/perms.c > +++ b/drivers/misc/lkdtm/perms.c > @@ -180,14 +180,16 @@ static void lkdtm_EXEC_STACK(void) > static void lkdtm_EXEC_KMALLOC(void) > { > u32 *kmalloc_area = kmalloc(EXEC_SIZE, GFP_KERNEL); > - execute_location(kmalloc_area, CODE_WRITE); > + if (kmalloc_area)
How will this ever fail? Have you seen that happen?
> + execute_location(kmalloc_area, CODE_WRITE); > kfree(kmalloc_area); > } > > static void lkdtm_EXEC_VMALLOC(void) > { > u32 *vmalloc_area = vmalloc(EXEC_SIZE); > - execute_location(vmalloc_area, CODE_WRITE); > + if (vmalloc_area)
Same here, if the system really can not allocate 64 bytes, much worse things will have happened already.
thanks,
greg k-h
| |