# git rev-parse -q --verify 63045bfd3c8dbe9c8bee7e33291202725154cb2c^{commit} # git fetch -q -n -f git://fs.ozlabs.ibm.com/kernel/linus master # git rev-parse -q --verify 63045bfd3c8dbe9c8bee7e33291202725154cb2c^{commit} 63045bfd3c8dbe9c8bee7e33291202725154cb2c # git checkout -q -f -B kisskb 63045bfd3c8dbe9c8bee7e33291202725154cb2c # git clean -qxdf # < git log -1 # commit 63045bfd3c8dbe9c8bee7e33291202725154cb2c # Author: Linus Torvalds # Date: Mon Jan 10 19:33:36 2022 -0800 # # netfilter: nf_tables: don't use 'data_size' uninitialized # # Commit 2c865a8a28a1 ("netfilter: nf_tables: add rule blob layout") never # initialized the new 'data_size' variable. # # I'm not sure how it ever worked, but it might have worked almost by # accident - gcc seems to occasionally miss these kinds of 'variable used # uninitialized' situations, but I've seen it do so because it ended up # zero-initializing them due to some other simplification. # # But clang is very unhappy about it all, and correctly reports # # net/netfilter/nf_tables_api.c:8278:4: error: variable 'data_size' is uninitialized when used here [-Werror,-Wuninitialized] # data_size += sizeof(*prule) + rule->dlen; # ^~~~~~~~~ # net/netfilter/nf_tables_api.c:8263:30: note: initialize the variable 'data_size' to silence this warning # unsigned int size, data_size; # ^ # = 0 # 1 error generated. # # and this fix just initializes 'data_size' to zero before the loop. # # Fixes: 2c865a8a28a1 ("netfilter: nf_tables: add rule blob layout") # Cc: Pablo Neira Ayuso # Cc: Jakub Kicinski # Cc: David Miller # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 63045bfd3c8dbe9c8bee7e33291202725154cb2c # < make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- randconfig # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # < make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig .config:6588:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD # make -s -j 24 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 # Build took: 0:11:11.521820