[PATCH 2/2] thread_info: fix -Wsign-compare warnings

From: Jeffle Xu
Date: Tue Jan 26 2021 - 05:49:52 EST


warning: comparison of integers of different signs: 'int' and 'size_t'
(aka 'unsigned long') [-Wsign-compare]
if (unlikely(sz >= 0 && sz < bytes)) {

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Signed-off-by: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx>
---
include/linux/thread_info.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/include/linux/thread_info.h b/include/linux/thread_info.h
index c8a974cead73..11b4b36116fa 100644
--- a/include/linux/thread_info.h
+++ b/include/linux/thread_info.h
@@ -179,15 +179,15 @@ __bad_copy_from(void);
extern void __compiletime_error("copy destination size is too small")
__bad_copy_to(void);

-static inline void copy_overflow(int size, unsigned long count)
+static inline void copy_overflow(unsigned long size, unsigned long count)
{
- WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count);
+ WARN(1, "Buffer overflow detected (%lu < %lu)!\n", size, count);
}

static __always_inline __must_check bool
check_copy_size(const void *addr, size_t bytes, bool is_source)
{
- int sz = __compiletime_object_size(addr);
+ size_t sz = __compiletime_object_size(addr);
if (unlikely(sz >= 0 && sz < bytes)) {
if (!__builtin_constant_p(bytes))
copy_overflow(sz, bytes);
--
2.27.0