]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
scripts: headers_install: Exit with error on config leak
authorSiddharth Gupta <sidgup@codeaurora.org>
Wed, 6 May 2020 01:52:37 +0000 (18:52 -0700)
committerKhalid Elmously <khalid.elmously@canonical.com>
Sat, 8 Aug 2020 05:53:12 +0000 (01:53 -0400)
BugLink: https://bugs.launchpad.net/bugs/1885322
[ Upstream commit 5967577231f9b19acd5a59485e9075964065bbe3 ]

Misuse of CONFIG_* in UAPI headers should result in an error. These config
options can be set in userspace by the user application which includes
these headers to control the APIs and structures being used in a kernel
which supports multiple targets.

Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
scripts/headers_install.sh

index a07668a5c36b1cb987d70bab74128457f8f08715..94a833597a8848216dcbf06029e0e2941f10127e 100755 (executable)
@@ -64,7 +64,7 @@ configs=$(sed -e '
        d
 ' $OUTFILE)
 
-# The entries in the following list are not warned.
+# The entries in the following list do not result in an error.
 # Please do not add a new entry. This list is only for existing ones.
 # The list will be reduced gradually, and deleted eventually. (hopefully)
 #
@@ -98,18 +98,19 @@ include/uapi/linux/raw.h:CONFIG_MAX_RAW_DEVS
 
 for c in $configs
 do
-       warn=1
+       leak_error=1
 
        for ignore in $config_leak_ignores
        do
                if echo "$INFILE:$c" | grep -q "$ignore$"; then
-                       warn=
+                       leak_error=
                        break
                fi
        done
 
-       if [ "$warn" = 1 ]; then
-               echo "warning: $INFILE: leak $c to user-space" >&2
+       if [ "$leak_error" = 1 ]; then
+               echo "error: $INFILE: leak $c to user-space" >&2
+               exit 1
        fi
 done