[tip: objtool/core] objtool/klp: Add test for objects without .modinfo
"tip-bot2 for Puranjay Mohan" <[email protected]>
| Newsgroups | gmane.linux.kernel |
|---|---|
| Message-ID | <178972654250.1720534.264578135134706997.tip-bot2@tip-bot2> |
The following commit has been merged into the objtool/core branch of tip: Commit-ID: 6e9105c21abde36acc9d48a5e037cc3ac1d78bf1 Gitweb: https://git.kernel.org/tip/6e9105c21abde36acc9d48a5e037cc3ac1d78bf1 Author: Puranjay Mohan <[email protected]> AuthorDate: Wed, 16 Sep 2026 11:43:18 -07:00 Committer: Josh Poimboeuf <[email protected]> CommitterDate: Wed, 16 Sep 2026 17:13:28 -07:00 objtool/klp: Add test for objects without .modinfo The module name recorded in .modinfo ends up in the livepatch's klp_object, and also decides whether a static branch key counts as belonging to vmlinux or to a module. An object without one cannot be diffed. Signed-off-by: Puranjay Mohan <[email protected]> Assisted-by: Claude:claude-opus-5 Signed-off-by: Song Liu <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Josh Poimboeuf <[email protected]> --- tools/objtool/tests/generic/fixtures/no_modinfo.c | 11 ++++++++- tools/objtool/tests/generic/test-missing-modinfo.sh | 16 ++++++++++++- 2 files changed, 27 insertions(+) create mode 100644 tools/objtool/tests/generic/fixtures/no_modinfo.c create mode 100755 tools/objtool/tests/generic/test-missing-modinfo.sh diff --git a/tools/objtool/tests/generic/fixtures/no_modinfo.c b/tools/objtool/tests/generic/fixtures/no_modinfo.c new file mode 100644 index 0000000..e463747 --- /dev/null +++ b/tools/objtool/tests/generic/fixtures/no_modinfo.c @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Deliberately has no .modinfo section. */ + +int target(int x) +{ +#ifdef PATCHED + return x + 2; +#else + return x + 1; +#endif +} diff --git a/tools/objtool/tests/generic/test-missing-modinfo.sh b/tools/objtool/tests/generic/test-missing-modinfo.sh new file mode 100755 index 0000000..6f242f7 --- /dev/null +++ b/tools/objtool/tests/generic/test-missing-modinfo.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# +# The module name in .modinfo ends up in the livepatch's klp_object, so an +# object without one cannot be diffed. + +. "$(dirname "$0")/../lib.sh" + +setup +build_pair no_modinfo.c +run_diff 255 + +diff_log | grep -q 'modinfo' || + fail "expected a complaint about .modinfo, got: $(diff_log | tail -1)" + +pass "object without .modinfo rejected"