Messages in this thread Patch in this message | | | From | Vinicius Costa Gomes <> | Subject | [RFC v3 2/5] cleanup: Fix discarded const warning when defining guard | Date | Thu, 15 Feb 2024 21:16:37 -0800 |
| |
When defining guards for const types the void* return implicitly discards the const modifier. Be explicit about it.
Compiler warning (gcc 13.2.1):
/include/linux/cleanup.h:154:18: warning: return discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 154 | { return *_T; } | ^~~ /include/linux/cred.h:193:1: note: in expansion of macro ‘DEFINE_GUARD’ 193 | DEFINE_GUARD(cred, const struct cred *, _T = override_creds_light(_T), | ^~~~~~~~~~~~
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com> --- include/linux/cleanup.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/cleanup.h b/include/linux/cleanup.h index 085482ef46c8..c0347eb137a5 100644 --- a/include/linux/cleanup.h +++ b/include/linux/cleanup.h @@ -151,7 +151,7 @@ static inline class_##_name##_t class_##_name##ext##_constructor(_init_args) \ #define DEFINE_GUARD(_name, _type, _lock, _unlock) \ DEFINE_CLASS(_name, _type, if (_T) { _unlock; }, ({ _lock; _T; }), _type _T); \ static inline void * class_##_name##_lock_ptr(class_##_name##_t *_T) \ - { return *_T; } + { return (void *)*_T; } #define DEFINE_GUARD_COND(_name, _ext, _condlock) \ EXTEND_CLASS(_name, _ext, \ -- 2.43.1
| |