]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ovl: Replace offsetof() with struct_size() in ovl_stack_free()
authorThorsten Blum <thorsten.blum@linux.dev>
Sat, 3 May 2025 11:52:44 +0000 (13:52 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Mon, 5 May 2025 10:47:57 +0000 (12:47 +0200)
Compared to offsetof(), struct_size() provides additional compile-time
checks for structs with flexible arrays (e.g., __must_be_array()).

No functional changes intended.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/util.c

index 5d6b60d56c275ef86c067fcb7aba5cd1e15abca2..dcccb4b4a66c7adfa818af5a2c8908de2473a44f 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/uuid.h>
 #include <linux/namei.h>
 #include <linux/ratelimit.h>
+#include <linux/overflow.h>
 #include "overlayfs.h"
 
 /* Get write access to upper mnt - may fail if upper sb was remounted ro */
@@ -145,9 +146,9 @@ void ovl_stack_free(struct ovl_path *stack, unsigned int n)
 
 struct ovl_entry *ovl_alloc_entry(unsigned int numlower)
 {
-       size_t size = offsetof(struct ovl_entry, __lowerstack[numlower]);
-       struct ovl_entry *oe = kzalloc(size, GFP_KERNEL);
+       struct ovl_entry *oe;
 
+       oe = kzalloc(struct_size(oe, __lowerstack, numlower), GFP_KERNEL);
        if (oe)
                oe->__numlower = numlower;