From 3a2c4d55e32ad65efebdb6de44eef3bfa08bb49d Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Wed, 2 Sep 2026 15:31:14 -0700 Subject: treewide: refresh kmalloc_obj() conversions This is another run of the Coccinelle script for converting kmalloc() family of allocations to kmalloc_obj() via the existing rules in scripts/coccinelle/api/kmalloc_objs.cocci This catches both the set of kmalloc() uses added since the first kmalloc_obj() conversions in v7.0 and adds a large group missed in the first pass due to Coccinelle not interacting well with the cleanup.h scoped_...() family of macros[1]. I worked around this with spatch's "--macro-file" argument to a file with all the scoped_...() macros mapped to Coccinelle's YACFE_ITERATOR[2] as that was the closest viable control flow indicator I could find. Build tested allmodconfig on x86, arm64, arm, loongarch, mips, powerpc, riscv, and s390 with no new warnings. Link: https://lore.kernel.org/lkml/202609021314.8A9C0B8@keescook/ [1] Link: https://github.com/coccinelle/coccinelle/blob/master/standard.h [2] Signed-off-by: Kees Cook --- scripts/min-tool-version.sh | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 scripts/min-tool-version.sh (limited to 'scripts/min-tool-version.sh') diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh new file mode 100755 index 000000000..99bfdcaa3 --- /dev/null +++ b/scripts/min-tool-version.sh @@ -0,0 +1,49 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-only +# +# Print the minimum supported version of the given tool. +# When you raise the minimum version, please update +# Documentation/process/changes.rst as well. + +set -e + +if [ $# != 1 ]; then + echo "Usage: $0 toolname" >&2 + exit 1 +fi + +case "$1" in +binutils) + echo 2.30.0 + ;; +gcc) + if [ "$ARCH" = parisc64 ]; then + echo 12.0.0 + else + echo 8.1.0 + fi + ;; +llvm) + if [ "$SRCARCH" = loongarch ]; then + echo 18.0.0 + else + echo 17.0.1 + fi + ;; +rustc) + if [ "$SRCARCH" = "s390" ]; then + echo 1.96.0 + elif [ "$ARCH" = powerpc ]; then + echo 1.95.0 + else + echo 1.85.0 + fi + ;; +bindgen) + echo 0.71.1 + ;; +*) + echo "$1: unknown tool" >&2 + exit 1 + ;; +esac -- cgit v1.3.1