From: Prarit Bhargava <prarit(a)redhat.com>
The 'process_configs.sh -n -w -c' command on the fedora configs terminates with
Processing
/home/prarit/git-kernel/kernel-ark/redhat/configs/kernel-5.8.0-aarch64-debug.config ...
Error: Mismatches found in configuration files
Found CONFIG_FORCE_MAX_ZONEORDER=11 after generation, had CONFIG_FORCE_MAX_ZONEORDER=13 in
Source tree
make: *** [Makefile:149: fedora-configs] Error 1
The fedora aarch64 CONFIG entry for CONFIG_FORCE_MAX_ZONEORDER notes that
the warning can only be fixed through an out-of-tree patch. Unfortunately
this means that the process_configs checkoptions check cannot be run on
fedora aarch64 configs.
To work around this problem, add a special tag
"process_configs_known_broken" which can be added as a comment to a known
broken CONFIG file. Adding the tag will result in process_configs
checkoptions skipping the CONFIG's error.
Add the process_configs_known_broken flag to process_config.sh and fix
'make fedora-configs' by adding process_configs_known_broken to
CONFIG_FORCE_MAX_ZONEORDER.
Signed-off-by: Prarit Bhargava <prarit(a)redhat.com>
Cc: dzickus(a)redhat.com
Cc: jforbes(a)redhat.com
Cc: mleitner(a)redhat.com
Cc: jbenc(a)redhat.com
---
.../arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER | 3 ++-
redhat/configs/process_configs.sh | 20 +++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/redhat/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
b/redhat/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
index b730690db048..03d2ae718172 100644
--- a/redhat/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
+++ b/redhat/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER
@@ -1,4 +1,5 @@
# We technically want this to be 13 for Fedora with 4K pages but that's only
# an option with an out of tree patch. Keep this 11 for compatibility until
-# we figure out what we want here
+# we figure out what we want here.
+# process_configs_known_broken
CONFIG_FORCE_MAX_ZONEORDER=13
diff --git a/redhat/configs/process_configs.sh b/redhat/configs/process_configs.sh
index 14773fef2410..6e36965843a5 100755
--- a/redhat/configs/process_configs.sh
+++ b/redhat/configs/process_configs.sh
@@ -15,6 +15,11 @@ usage()
echo " -t: test run, do not overwrite original config"
echo " -w: error on misconfigured config options"
echo " -z: commit new configs to pending directory"
+ echo ""
+ echo " A special CONFIG file tag, process_configs_known_broken can be added as
a"
+ echo " comment to any CONFIG file. This tag indicates that there is no way to
"
+ echo " fix a CONFIG's entry. This tag should only be used in extreme
cases"
+ echo " and is not to be used as a workaround to solve CONFIG problems."
exit 1
}
@@ -67,8 +72,23 @@ checkoptions()
}
' $1 $2 > .mismatches
+ checkoptions_error=false
if test -s .mismatches
then
+ while read LINE
+ do
+ if find ./ -name $(echo $LINE | awk -F "=" ' { print $1 } ' | awk
' { print $2 }') | xargs grep ^ | grep -q
"process_configs_known_broken"; then
+ # This is a known broken config.
+ # See script help warning.
+ checkoptions_error=false
+ else
+ checkoptions_error=true
+ break
+ fi
+ done < .mismatches
+
+ ! $checkoptions_error && return
+
echo "Error: Mismatches found in configuration files"
cat .mismatches
RETURNCODE=1
--
GitLab