From 9f1c3bb900eb4e4bac059cea50a2780deba79ed5 Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Fri, 4 Mar 2022 12:55:47 -0600 Subject: [PATCH] kernel-5.17-0.rc6.38f80f42147f.113 * Fri Mar 04 2022 Fedora Kernel Team [5.17-0.rc6.38f80f42147f.113] - redhat/configs/build_configs.sh: Parallelize execution (Prarit Bhargava) - redhat/configs/build_configs.sh: Provide better messages (Prarit Bhargava) - redhat/configs/build_configs.sh: Create unique output files (Prarit Bhargava) - redhat/configs/build_configs.sh: Add local variables (Prarit Bhargava) - redhat/configs/process_configs.sh: Parallelize execution (Prarit Bhargava) - redhat/configs/process_configs.sh: Provide better messages (Prarit Bhargava) - redhat/configs/process_configs.sh: Create unique output files (Prarit Bhargava) - redhat/configs/process_configs.sh: Add processing config function (Prarit Bhargava) - mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 warning (Waiman Long) Resolves: rhbz# Signed-off-by: Justin M. Forbes --- Makefile.rhelver | 2 +- Patchlist.changelog | 4 +- kernel.spec | 22 ++++-- process_configs.sh | 164 +++++++++++++++++++++++++++----------------- sources | 6 +- 5 files changed, 123 insertions(+), 75 deletions(-) diff --git a/Makefile.rhelver b/Makefile.rhelver index 6b7f6d3fc..c349f4781 100644 --- a/Makefile.rhelver +++ b/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 99 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 112 +RHEL_RELEASE = 113 # # Early y+1 numbering diff --git a/Patchlist.changelog b/Patchlist.changelog index 970da4e5b..7730722a1 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,5 +1,5 @@ -https://gitlab.com/cki-project/kernel-ark/-/commit/2db9476cc89f60f98f08106fa2ad9d7b31b51e3b - 2db9476cc89f60f98f08106fa2ad9d7b31b51e3b mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 warning +https://gitlab.com/cki-project/kernel-ark/-/commit/6f72b27d96c5b37b808500dfa4213560003d2036 + 6f72b27d96c5b37b808500dfa4213560003d2036 mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 warning https://gitlab.com/cki-project/kernel-ark/-/commit/4f79b3c547b8e3dbc014058a8adffe0fe8cd5e4b 4f79b3c547b8e3dbc014058a8adffe0fe8cd5e4b objtool: check: give big enough buffer for pv_ops diff --git a/kernel.spec b/kernel.spec index 8cc8e90c9..abadbe8de 100755 --- a/kernel.spec +++ b/kernel.spec @@ -87,7 +87,7 @@ Summary: The Linux kernel # the --with-release option overrides this setting.) %define debugbuildsenabled 0 -%global distro_build 0.rc6.20220303git5859a2b19911.112 +%global distro_build 0.rc6.20220304git38f80f42147f.113 %if 0%{?fedora} %define secure_boot_arch x86_64 @@ -132,13 +132,13 @@ Summary: The Linux kernel %define rpmversion 5.17.0 %define patchversion 5.17 -%define pkgrelease 0.rc6.20220303git5859a2b19911.112 +%define pkgrelease 0.rc6.20220304git38f80f42147f.113 # This is needed to do merge window version magic %define patchlevel 17 # allow pkg_release to have configurable %%{?dist} tag -%define specrelease 0.rc6.20220303git5859a2b19911.112%{?buildid}%{?dist} +%define specrelease 0.rc6.20220304git38f80f42147f.113%{?buildid}%{?dist} %define pkg_release %{specrelease} @@ -695,7 +695,7 @@ BuildRequires: lld # exact git commit you can run # # xzcat -qq ${TARBALL} | git get-tar-commit-id -Source0: linux-5.17-rc6-66-g5859a2b19911.tar.xz +Source0: linux-5.17-rc6-184-g38f80f42147f.tar.xz Source1: Makefile.rhelver @@ -1391,8 +1391,8 @@ ApplyOptionalPatch() fi } -%setup -q -n kernel-5.17-rc6-66-g5859a2b19911 -c -mv linux-5.17-rc6-66-g5859a2b19911 linux-%{KVERREL} +%setup -q -n kernel-5.17-rc6-184-g38f80f42147f -c +mv linux-5.17-rc6-184-g38f80f42147f linux-%{KVERREL} cd linux-%{KVERREL} cp -a %{SOURCE1} . @@ -3005,7 +3005,15 @@ fi # # %changelog -* Thu Mar 03 2022 Fedora Kernel Team [5.17-0.rc6.5859a2b19911.112] +* Fri Mar 04 2022 Fedora Kernel Team [5.17-0.rc6.38f80f42147f.113] +- redhat/configs/build_configs.sh: Parallelize execution (Prarit Bhargava) +- redhat/configs/build_configs.sh: Provide better messages (Prarit Bhargava) +- redhat/configs/build_configs.sh: Create unique output files (Prarit Bhargava) +- redhat/configs/build_configs.sh: Add local variables (Prarit Bhargava) +- redhat/configs/process_configs.sh: Parallelize execution (Prarit Bhargava) +- redhat/configs/process_configs.sh: Provide better messages (Prarit Bhargava) +- redhat/configs/process_configs.sh: Create unique output files (Prarit Bhargava) +- redhat/configs/process_configs.sh: Add processing config function (Prarit Bhargava) - mm/sparsemem: Fix 'mem_section' will never be NULL gcc 12 warning (Waiman Long) * Thu Mar 03 2022 Fedora Kernel Team [5.17-0.rc6.5859a2b19911.111] diff --git a/process_configs.sh b/process_configs.sh index 312449fe1..b620040cc 100755 --- a/process_configs.sh +++ b/process_configs.sh @@ -60,6 +60,9 @@ switch_to_toplevel() checkoptions() { + count=$3 + variant=$4 + /usr/bin/awk ' /is not set/ { @@ -82,10 +85,10 @@ checkoptions() print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree"; } } - ' "$1" "$2" > .mismatches + ' "$1" "$2" > .mismatches${count} checkoptions_error=false - if test -s .mismatches + if test -s .mismatches${count} then while read -r LINE do @@ -97,14 +100,14 @@ checkoptions() checkoptions_error=true break fi - done < .mismatches + done < .mismatches${count} ! $checkoptions_error && return - echo "Error: Mismatches found in configuration files" - cat .mismatches - RETURNCODE=1 + sed -i "1s/^/Error: Mismatches found in configuration files for ${variant}\n/" .mismatches${count} [ "$CONTINUEONERROR" ] || exit 1 + else + rm -f .mismatches${count} fi } @@ -218,73 +221,109 @@ function commit_new_configs() git commit -m "[redhat] AUTOMATIC: New configs" } +function process_config() +{ + local cfg + local arch + local cfgtmp + local cfgorig + local count + local variant + + cfg=$1 + count=$2 + + arch=$(head -1 "$cfg" | cut -b 3-) + + if [ "$arch" = "EMPTY" ] + then + # This arch is intentionally left blank + return + fi + + variant=$(basename "$cfg" | cut -d"-" -f3- | cut -d"." -f1) + + cfgtmp="${cfg}.tmp" + cfgorig="${cfg}.orig" + cat "$cfg" > "$cfgorig" + + echo "Processing $cfg ... " + + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig${count} + grep -E 'CONFIG_' .listnewconfig${count} > .newoptions${count} + if test -n "$NEWOPTIONS" && test -s .newoptions${count} + then + echo "Found unset config items in ${variant}, please set them to an appropriate value" >> .errors${count} + cat .newoptions${count} >> .errors${count} + rm .newoptions${count} + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 + fi + rm .newoptions${count} + + grep -E 'config.*warning' .listnewconfig${count} > .warnings${count} + if test -n "$CHECKWARNINGS" && test -s .warnings${count} + then + echo "Found misconfigured config items in ${variant}, please set them to an appropriate value" >> .errors${count} + cat .warnings${count} >> .errors${count} + rm .warnings${count} + [ "$CONTINUEONERROR" ] || exit 1 + fi + rm .warnings${count} + + rm .listnewconfig${count} + + make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 + echo "# $arch" > "$cfgtmp" + cat "$cfgorig" >> "$cfgtmp" + if test -n "$CHECKOPTIONS" + then + checkoptions "$cfg" "$cfgtmp" "$count" "$variant" + fi + # if test run, don't overwrite original + if test -n "$TESTRUN" + then + rm -f "$cfgtmp" + else + mv "$cfgtmp" "$cfg" + fi + rm -f "$cfgorig" + echo "Processing $cfg complete" +} + function process_configs() { # assume we are in $source_tree/configs, need to get to top level pushd "$(switch_to_toplevel)" &>/dev/null + count=0 for cfg in "$SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}"*.config do - arch=$(head -1 "$cfg" | cut -b 3-) - - if [ "$arch" = "EMPTY" ] - then - # This arch is intentionally left blank - continue - fi - - cfgtmp="${cfg}.tmp" - cfgorig="${cfg}.orig" - cat "$cfg" > "$cfgorig" - - echo -n "Processing $cfg ... " - - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" listnewconfig >& .listnewconfig - grep -E 'CONFIG_' .listnewconfig > .newoptions - if test -n "$NEWOPTIONS" && test -s .newoptions - then - echo "Found unset config items, please set them to an appropriate value" - cat .newoptions - rm .newoptions - RETURNCODE=1 - [ "$CONTINUEONERROR" ] || exit 1 - fi - rm .newoptions - - grep -E 'config.*warning' .listnewconfig > .warnings - if test -n "$CHECKWARNINGS" && test -s .warnings - then - echo "Found misconfigured config items, please set them to an appropriate value" - cat .warnings - rm .warnings - RETURNCODE=1 - [ "$CONTINUEONERROR" ] || exit 1 - fi - rm .warnings - - rm .listnewconfig - - make ${MAKEOPTS} ARCH="$arch" CROSS_COMPILE=$(get_cross_compile $arch) KCONFIG_CONFIG="$cfgorig" olddefconfig > /dev/null || exit 1 - echo "# $arch" > "$cfgtmp" - cat "$cfgorig" >> "$cfgtmp" - if test -n "$CHECKOPTIONS" - then - checkoptions "$cfg" "$cfgtmp" - fi - # if test run, don't overwrite original - if test -n "$TESTRUN" - then - rm -f "$cfgtmp" - else - mv "$cfgtmp" "$cfg" - fi - rm -f "$cfgorig" - echo "done" + process_config "$cfg" "$count" & + waitpids[${count}]=$! + ((count++)) + while [ "$(jobs | grep Running | wc -l)" -ge $RHJOBS ]; do :; done done + for pid in ${waitpids[*]}; do + wait ${pid} + done + rm "$SCRIPT_DIR"/*.config*.old + + if ls .errors* 1> /dev/null 2>&1; then + RETURNCODE=1 + cat .errors* + rm .errors* -f + fi + if ls .mismatches* 1> /dev/null 2>&1; then + RETURNCODE=1 + cat .mismatches* + rm .mismatches* -f + fi + popd > /dev/null - echo "Processed config files are in $SCRIPT_DIR" + [ $RETURNCODE -eq 0 ] && echo "Processed config files are in $SCRIPT_DIR" } CHECKOPTIONS="" @@ -345,6 +384,7 @@ PACKAGE_NAME="${1:-kernel}" # defines the package name used KVERREL="$(test -n "$2" && echo "-$2" || echo "")" SUBARCH="$(test -n "$3" && echo "-$3" || echo "")" FLAVOR="$(test -n "$4" && echo "-$4" || echo "-common")" +RHJOBS="$(test -n "$5" && echo "$5" || nproc --all)" SCRIPT=$(readlink -f "$0") SCRIPT_DIR=$(dirname "$SCRIPT") diff --git a/sources b/sources index 7b18a97bb..7fab240bc 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-5.17-rc6-66-g5859a2b19911.tar.xz) = e4ff1acf81177f0704cdd86b8306a331a98ee64d39b252f05dc19de66ff340b1422a16da05ffaf919af09a99d5e2ec809da2e26969163574c44b9a649f843ff7 -SHA512 (kernel-abi-stablelists-5.17.0-0.rc6.20220303git5859a2b19911.112.tar.bz2) = d330143b13fdb52066b1ab7e441e976e705e03f0a64cfe2551442029da8db9b39d6d1bb3ac66a3894db4f60a3d17170f537ab65bc393f20a549c201ff78e8daa -SHA512 (kernel-kabi-dw-5.17.0-0.rc6.20220303git5859a2b19911.112.tar.bz2) = a554ec4de193ce844708974893c0bc0168786d513b9a4912ed45ad216c03945cea4be425b5fbf1b0b0060a64c07b777109288fcb7ed6c5461a82868b9fe13e50 +SHA512 (linux-5.17-rc6-184-g38f80f42147f.tar.xz) = a8fbc7f5d47bbc0e1aed64cbc7b5eb8ea09e5d49e55ef604c30f69f69c7d14ce574dbb4b5fd46253224b1581a57208d51e6a01e39fb81a815b2ea3a8c462febe +SHA512 (kernel-abi-stablelists-5.17.0-0.rc6.20220304git38f80f42147f.113.tar.bz2) = e71c91bea82e2bd13083bca4abed5f45ccb07dc1aad13fca363888f86c44c9a9f9ffe69c9465cacfca8c0e76451fb5f2c2b8eef445873af7bb80656de1f10117 +SHA512 (kernel-kabi-dw-5.17.0-0.rc6.20220304git38f80f42147f.113.tar.bz2) = 495eb6a51ccef1b0526292c94eef1e78c92431db1a26f9729f97a78f40441549a0960aabbd141f5e99a070d88d80346cc29e42a61d3b3a7360020698d4f0f984