# git rev-parse -q --verify a33082bd198c21dada3f05913a116538b5d758b6^{commit} # git fetch -q -n -f https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git for-next/kspp # git rev-parse -q --verify a33082bd198c21dada3f05913a116538b5d758b6^{commit} a33082bd198c21dada3f05913a116538b5d758b6 # git checkout -q -f -B kisskb a33082bd198c21dada3f05913a116538b5d758b6 # git clean -qxdf # < git log -1 # commit a33082bd198c21dada3f05913a116538b5d758b6 # Author: Len Baker # Date: Sun Sep 12 15:10:57 2021 +0200 # # nfp: Prefer struct_size over open coded arithmetic # # As noted in the "Deprecated Interfaces, Language Features, Attributes, # and Conventions" documentation [1], size calculations (especially # multiplication) should not be performed in memory allocator (or similar) # function arguments due to the risk of them overflowing. This could lead # to values wrapping around and a smaller allocation being made than the # caller was expecting. Using those allocations could lead to linear # overflows of heap memory and other misbehaviors. # # So, use the struct_size() helper to do the arithmetic instead of the # argument "size + count * size" in the kzalloc() function. # # [1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments # # Signed-off-by: Len Baker # Reviewed-by: Gustavo A. R. Silva # Reviewed-by: Simon Horman # Signed-off-by: Gustavo A. R. Silva # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc --version # < /opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 a33082bd198c21dada3f05913a116538b5d758b6 # < make -s -j 48 ARCH=arm O=/kisskb/build/gustavoars_versatile_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- versatile_defconfig # < make -s -j 48 ARCH=arm O=/kisskb/build/gustavoars_versatile_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- help # make -s -j 48 ARCH=arm O=/kisskb/build/gustavoars_versatile_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- olddefconfig # make -s -j 48 ARCH=arm O=/kisskb/build/gustavoars_versatile_defconfig_arm-gcc4.9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-4.9.4-nolibc/arm-linux-gnueabi/bin/arm-linux-gnueabi- /kisskb/src/net/sched/sch_frag.c: In function 'sch_fragment': /kisskb/src/net/sched/sch_frag.c:93:10: warning: missing braces around initializer [-Wmissing-braces] struct rtable sch_frag_rt = { 0 }; ^ /kisskb/src/net/sched/sch_frag.c:93:10: warning: (near initialization for 'sch_frag_rt.dst') [-Wmissing-braces] Completed OK # rm -rf /kisskb/build/gustavoars_versatile_defconfig_arm-gcc4.9 # Build took: 0:00:52.639385