Message ID | 20220125015606.GA28243@embeddedor (mailing list archive) |
---|---|
State | Mainlined |
Commit | c0ea4b919daed7333ebc0d630adc262eb0a0d8c1 |
Headers | show |
Series | [next] apparmor: Use struct_size() helper in kmalloc() | expand |
On 1/24/22 17:56, Gustavo A. R. Silva wrote: > Make use of the struct_size() helper instead of an open-coded version, > in order to avoid any potential type mistakes or integer overflows that, > in the worst scenario, could lead to heap overflows. > > Also, address the following sparse warnings: > security/apparmor/lib.c:139:23: warning: using sizeof on a flexible structure > > Link: https://github.com/KSPP/linux/issues/174 > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> thanks, I have pulled this into my tree Acked-by: John Johansen <john.johansen@canonical.com> > --- > security/apparmor/lib.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/security/apparmor/lib.c b/security/apparmor/lib.c > index fa49b81eb54c..5eda003c0d45 100644 > --- a/security/apparmor/lib.c > +++ b/security/apparmor/lib.c > @@ -136,7 +136,7 @@ __counted char *aa_str_alloc(int size, gfp_t gfp) > { > struct counted_str *str; > > - str = kmalloc(sizeof(struct counted_str) + size, gfp); > + str = kmalloc(struct_size(str, name, size), gfp); > if (!str) > return NULL; >
diff --git a/security/apparmor/lib.c b/security/apparmor/lib.c index fa49b81eb54c..5eda003c0d45 100644 --- a/security/apparmor/lib.c +++ b/security/apparmor/lib.c @@ -136,7 +136,7 @@ __counted char *aa_str_alloc(int size, gfp_t gfp) { struct counted_str *str; - str = kmalloc(sizeof(struct counted_str) + size, gfp); + str = kmalloc(struct_size(str, name, size), gfp); if (!str) return NULL;
Make use of the struct_size() helper instead of an open-coded version, in order to avoid any potential type mistakes or integer overflows that, in the worst scenario, could lead to heap overflows. Also, address the following sparse warnings: security/apparmor/lib.c:139:23: warning: using sizeof on a flexible structure Link: https://github.com/KSPP/linux/issues/174 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> --- security/apparmor/lib.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)