summaryrefslogtreecommitdiffstats
path: root/check-kabi
diff options
context:
space:
mode:
authorJustin M. Forbes <jforbes@fedoraproject.org>2022-12-21 12:15:12 -0600
committerJustin M. Forbes <jforbes@fedoraproject.org>2022-12-21 12:15:12 -0600
commit0813f0f2b9dd2a3d35adc46432186962c18b1d47 (patch)
tree82f4c7f8b5aa1417fbb504b68feecf0da7ce5db6 /check-kabi
parent4fe299d4a2df9edb86ef58b649a000a5bda26ab6 (diff)
downloadkernel-0813f0f2b9dd2a3d35adc46432186962c18b1d47.tar.gz
kernel-0813f0f2b9dd2a3d35adc46432186962c18b1d47.tar.xz
kernel-0813f0f2b9dd2a3d35adc46432186962c18b1d47.zip
kernel-6.1.1-200
* Wed Dec 21 2022 Justin M. Forbes <jforbes@fedoraproject.org> [6.1.1-0] - ovl: update ->f_iocb_flags when ovl_change_flags() modifies ->f_flags (Al Viro) - Updates for building stable Fedora (Justin M. Forbes) - Config fixup for discarded RHEL patches (Justin M. Forbes) - Reset RHEL_RELEASE for the 6.2 window. (Justin M. Forbes) - redhat/kernel.spec.template: Fix cpupower file error (Prarit Bhargava) - redhat/configs: aarhc64: clean up some erratum configs (Mark Salter) - More Fedora configs for 6.1 as deps were switched on (Justin M. Forbes) - redhat/configs: make SOC_TEGRA_CBB a module (Mark Salter) - redhat/configs: aarch64: reorganize tegra configs to common dir (Mark Salter) - Enforces buildroot if cross_arm (Nicolas Chauvet) - Linux v6.1.1 Resolves: Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
Diffstat (limited to 'check-kabi')
-rwxr-xr-xcheck-kabi39
1 files changed, 28 insertions, 11 deletions
diff --git a/check-kabi b/check-kabi
index f9d4dcb84..3809209ad 100755
--- a/check-kabi
+++ b/check-kabi
@@ -41,7 +41,8 @@ def load_symvers(symvers, filename):
break
if in_line == "\n":
continue
- checksum, symbol, directory, type = in_line.split()
+ checksum, symbol, directory, type, *ns = in_line.split()
+ ns = ns[0] if ns else None
symvers[symbol] = in_line[0:-1]
@@ -57,7 +58,8 @@ def load_kabi(kabi, filename):
break
if in_line == "\n":
continue
- checksum, symbol, directory, type = in_line.split()
+ checksum, symbol, directory, type, *ns = in_line.split()
+ ns = ns[0] if ns else None
kabi[symbol] = in_line[0:-1]
@@ -69,11 +71,14 @@ def check_kabi(symvers, kabi):
warn = 0
changed_symbols = []
moved_symbols = []
+ ns_symbols = []
for symbol in kabi:
- abi_hash, abi_sym, abi_dir, abi_type = kabi[symbol].split()
+ abi_hash, abi_sym, abi_dir, abi_type, *abi_ns = kabi[symbol].split()
+ abi_ns = abi_ns[0] if abi_ns else None
if symbol in symvers:
- sym_hash, sym_sym, sym_dir, sym_type = symvers[symbol].split()
+ sym_hash, sym_sym, sym_dir, sym_type, *sym_ns = symvers[symbol].split()
+ sym_ns = sym_ns[0] if sym_ns else None
if abi_hash != sym_hash:
fail = 1
changed_symbols.append(symbol)
@@ -81,6 +86,10 @@ def check_kabi(symvers, kabi):
if abi_dir != sym_dir:
warn = 1
moved_symbols.append(symbol)
+
+ if abi_ns != sym_ns:
+ warn = 1
+ ns_symbols.append(symbol)
else:
fail = 1
changed_symbols.append(symbol)
@@ -96,13 +105,21 @@ def check_kabi(symvers, kabi):
if warn:
print("*** WARNING - ABI SYMBOLS MOVED ***")
- print("")
- print("The following symbols moved (typically caused by moving a symbol from being")
- print("provided by the kernel vmlinux out to a loadable module):")
- print("")
- for symbol in moved_symbols:
- print(symbol)
- print("")
+ if moved_symbols:
+ print("")
+ print("The following symbols moved (typically caused by moving a symbol from being")
+ print("provided by the kernel vmlinux out to a loadable module):")
+ print("")
+ for symbol in moved_symbols:
+ print(symbol)
+ print("")
+ if ns_symbols:
+ print("")
+ print("The following symbols changed symbol namespaces:")
+ print("")
+ for symbol in ns_symbols:
+ print(symbol)
+ print("")
"""Halt the build, if we got errors and/or warnings. In either case,
double-checkig is required to avoid introducing / concealing