This patch fixes the following sparse warning in thread_info.h:
./include/linux/thread_info.h:129:18: warning: incorrect type in argument 1 (different modifiers)
./include/linux/thread_info.h:129:18: expected void *<noident>
./include/linux/thread_info.h:129:18: got void const *addr
Signed-off-by: AbdAllah MEZITI <[email protected]>
---
include/linux/thread_info.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h
index 250a276..e2c4a8e 100644
--- a/include/linux/thread_info.h
+++ b/include/linux/thread_info.h
@@ -126,7 +126,7 @@ static inline void copy_overflow(int size, unsigned long count)
static __always_inline bool
check_copy_size(const void *addr, size_t bytes, bool is_source)
{
- int sz = __compiletime_object_size(addr);
+ int sz = __compiletime_object_size((void *)addr);
if (unlikely(sz >= 0 && sz < bytes)) {
if (!__builtin_constant_p(bytes))
copy_overflow(sz, bytes);
--
2.7.4
This is wrong. The sparse version of __compiletime_object_size()
should just be fixed to take a 'const' pointer without complaints.
Linus
On Thu, Jul 27, 2017 at 12:41 AM, Linus Torvalds
<[email protected]> wrote:
> This is wrong. The sparse version of __compiletime_object_size()
> should just be fixed to take a 'const' pointer without complaints.
The underlying __builtin_object_size() has been fixed in the sparse tree
6 months ago or so.
-- Luc