[PATCH][SRU][E/Unstable] UBUNTU: [Debian] Fix warnings when checking for modules signatures

Seth Forshee seth.forshee at canonical.com
Mon Nov 25 14:34:51 UTC 2019


BugLink: https://bugs.launchpad.net/bugs/1853843

When detecting module signatures, the current approach causes
this warning for modules lacking a signature:

 /bin/bash: line 5: warning: command substitution: ignored null byte in input

My original approach used read, which works well, but for unknown
reasons causes an error from bash when by itself as the first
line in the if clause. Putting it in a no-op while loop prevents
the error, but it has the advantage of working without flooding
the build logs with warnings.

Signed-off-by: Seth Forshee <seth.forshee at canonical.com>
---

This is the same approach as in the first patch I sent for this. The
no-op while loop is strange, but without it the read genearates an error
that no one has been able to explain. However, so far this is the only
approach I've found that works in both bionic and eoan without spamming
the build log.

 debian/rules.d/2-binary-arch.mk | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index 070478e010f7..2aea5e857f79 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -413,12 +413,14 @@ ifneq ($(skipdbg),true)
 	  -name '*.ko' | while read path_module ; do \
 		module="/lib/modules/$${path_module#*/lib/modules/}"; \
 		if [[ -f "$(dbgpkgdir)/usr/lib/debug/$$module" ]] ; then \
-			signature=$$(tail -c 28 "$$path_module"); \
+			while IFS= read -r -d '' signature < <(tail -c 28 "$$path_module"); do \
+				break; \
+			done; \
 			$(CROSS_COMPILE)objcopy \
 				--add-gnu-debuglink=$(dbgpkgdir)/usr/lib/debug/$$module \
 				$$path_module; \
 			if grep -q CONFIG_MODULE_SIG=y $(builddir)/build-$*/.config && \
-			   [ "$$signature" = "~Module signature appended~" ]; then \
+			   [ "$$signature" = $$'~Module signature appended~\n' ]; then \
 				$(builddir)/build-$*/scripts/sign-file $(MODHASHALGO) \
 					$(MODSECKEY) \
 					$(MODPUBKEY) \
-- 
2.24.0




More information about the kernel-team mailing list