Messages in this thread Patch in this message | | | From | Sakari Ailus <> | Subject | [PATCH v2 1/1] linux/container_of.h: Warn about loss of constness | Date | Mon, 24 Oct 2022 14:16:27 +0300 |
| |
container_of() casts the original type to another which leads to the loss of the const qualifier if it is not specified in the caller-provided type. This easily leads to container_of() returning a non-const pointer to a const struct which the C compiler does not warn about.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> --- include/linux/container_of.h | 1 + 1 file changed, 1 insertion(+)
diff --git a/include/linux/container_of.h b/include/linux/container_of.h index 2f4944b791b81..591db643269aa 100644 --- a/include/linux/container_of.h +++ b/include/linux/container_of.h @@ -13,6 +13,7 @@ * @type: the type of the container struct this is embedded in. * @member: the name of the member within the struct. * + * WARNING: any const qualifier of @ptr is lost. */ #define container_of(ptr, type, member) ({ \ void *__mptr = (void *)(ptr); \ -- 2.30.2
| |