kernel/include/linux/thread_info.h
.. .. @@ -147,7 +147,7 @@ 147 147 WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count); 148 148 } 149 149 150 -static __always_inline bool150 +static __always_inline __must_check bool151 151 check_copy_size(const void *addr, size_t bytes, bool is_source) 152 152 { 153 153 int sz = __compiletime_object_size(addr); .. .. @@ -160,6 +160,8 @@ 160 160 __bad_copy_to(); 161 161 return false; 162 162 } 163 + if (WARN_ON_ONCE(bytes > INT_MAX))164 + return false;163 165 check_object_size(addr, bytes, is_source); 164 166 return true; 165 167 }