udf: Use unsigned variables for size calculations
authorKees Cook <keescook@chromium.org>
Sat, 4 Feb 2023 18:34:27 +0000 (10:34 -0800)
committerJan Kara <jack@suse.cz>
Tue, 7 Feb 2023 12:05:31 +0000 (13:05 +0100)
commit51e38c92bed26f648ec187c4400fa7512fcd8067
treedaa61be08fae3ecd3d9ffc34e61dbe011e2d90d5
parentf8d0dd0bc302b237dfa2ef5836e6ee375c0a1773
udf: Use unsigned variables for size calculations

To avoid confusing the compiler about possible negative sizes, switch
various size variables that can never be negative from int to u32. Seen
with GCC 13:

../fs/udf/directory.c: In function 'udf_copy_fi':
../include/linux/fortify-string.h:57:33: warning: '__builtin_memcpy' pointer overflow between offset 80 and size [-2147483648, -1] [-Warray-bounds=]
   57 | #define __underlying_memcpy     __builtin_memcpy
      |                                 ^
...
../fs/udf/directory.c:102:9: note: in expansion of macro 'memcpy'
  102 |         memcpy(&iter->fi, iter->bh[0]->b_data + off, len);
      |         ^~~~~~

Cc: Jan Kara <jack@suse.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Jan Kara <jack@suse.cz>
Message-Id: <20230204183427.never.856-kees@kernel.org>
fs/udf/directory.c