kernel/include/linux/thread_info.h
.. .. @@ -157,7 +157,7 @@ 157 157 WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count); 158 158 } 159 159 160 -static __always_inline bool160 +static __always_inline __must_check bool161 161 check_copy_size(const void *addr, size_t bytes, bool is_source) 162 162 { 163 163 int sz = __compiletime_object_size(addr); .. .. @@ -170,6 +170,8 @@ 170 170 __bad_copy_to(); 171 171 return false; 172 172 } 173 + if (WARN_ON_ONCE(bytes > INT_MAX))174 + return false;173 175 check_object_size(addr, bytes, is_source); 174 176 return true; 175 177 }