Bug#989825: unblock: user-mode-linux/5.10um3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package user-mode-linux
Dear Release Team,
This is a request to unblock the package. The latest upload fixes bug
989665.
[ Reason ]
Bug 989665 occurred, as expected, because of the resolution put in bug
983379. Since it wasn't clear back then, if and whether the fix would be
a Linux Stable material, we carried a patch in User Mode Linux in the
interim.
Now that the fix made into Linux Stable series, the fix for 989665 is to
drop that patch.
[ Impact ]
Package user-mode-linux in Bullseye will not be in a buildable state
without this fix.
[ Tests ]
The fix allows the package to build again. Right now, for Unstable, it
has built proper for both the supported architectures (i386 and amd64)
[ Risks ]
None to my knowledge
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
unblock user-mode-linux/5.10um3
diff -Nru user-mode-linux-5.10um2/config.amd64 user-mode-linux-5.10um3/config.amd64
--- user-mode-linux-5.10um2/config.amd64 2021-03-07 10:01:29.000000000 +0530
+++ user-mode-linux-5.10um3/config.amd64 2021-06-11 11:43:23.000000000 +0530
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/um 5.10.19 Kernel Configuration
+# Linux/um 5.10.40 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 10.2.1-6) 10.2.1 20210110"
CONFIG_CC_IS_GCC=y
@@ -1771,6 +1771,7 @@
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
CONFIG_UIO_PDRV_GENIRQ=m
+# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_MENU=y
@@ -1915,7 +1916,6 @@
# CONFIG_AD7091R5 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD799X is not set
-# CONFIG_ADI_AXI_ADC is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
@@ -3095,7 +3095,6 @@
# um Debugging
#
# CONFIG_GPROF is not set
-# CONFIG_GCOV is not set
CONFIG_EARLY_PRINTK=y
# end of um Debugging
diff -Nru user-mode-linux-5.10um2/config.i386 user-mode-linux-5.10um3/config.i386
--- user-mode-linux-5.10um2/config.i386 2021-03-07 10:01:29.000000000 +0530
+++ user-mode-linux-5.10um3/config.i386 2021-06-11 11:43:23.000000000 +0530
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/um 5.10.19 Kernel Configuration
+# Linux/um 5.10.40 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Debian 10.2.1-6) 10.2.1 20210110"
CONFIG_CC_IS_GCC=y
@@ -8,6 +8,8 @@
CONFIG_LD_VERSION=235020000
CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_IRQ_WORK=y
@@ -162,6 +164,7 @@
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_BPF_SYSCALL=y
+CONFIG_USERMODE_DRIVER=y
# CONFIG_BPF_PRELOAD is not set
CONFIG_USERFAULTFD=y
# CONFIG_EMBEDDED is not set
@@ -244,7 +247,7 @@
CONFIG_UML_X86=y
# CONFIG_64BIT is not set
CONFIG_X86_32=y
-# CONFIG_3_LEVEL_PGTABLES is not set
+CONFIG_3_LEVEL_PGTABLES=y
CONFIG_ARCH_HAS_SC_SIGNALS=y
CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y
CONFIG_GENERIC_HWEIGHT=y
@@ -255,7 +258,7 @@
CONFIG_MAGIC_SYSRQ=y
CONFIG_KERNEL_STACK_ORDER=2
CONFIG_MMAPPER=y
-CONFIG_PGTABLE_LEVELS=2
+CONFIG_PGTABLE_LEVELS=3
# end of UML-specific options
#
@@ -310,7 +313,7 @@
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
-CONFIG_COMPAT_32BIT_TIME=y
+# CONFIG_COMPAT_32BIT_TIME is not set
CONFIG_ARCH_NO_PREEMPT=y
#
@@ -915,7 +918,8 @@
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_BPFILTER is not set
+CONFIG_BPFILTER=y
+CONFIG_BPFILTER_UMH=m
CONFIG_IP_DCCP=m
CONFIG_INET_DCCP_DIAG=m
@@ -1795,6 +1799,7 @@
# CONFIG_AUXDISPLAY is not set
CONFIG_UIO=m
CONFIG_UIO_PDRV_GENIRQ=m
+# CONFIG_VFIO is not set
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO=y
CONFIG_VIRTIO_MENU=y
@@ -1939,7 +1944,6 @@
# CONFIG_AD7091R5 is not set
# CONFIG_AD7291 is not set
# CONFIG_AD799X is not set
-# CONFIG_ADI_AXI_ADC is not set
# CONFIG_INA2XX_ADC is not set
# CONFIG_LTC2471 is not set
# CONFIG_LTC2485 is not set
@@ -3115,7 +3119,6 @@
# um Debugging
#
# CONFIG_GPROF is not set
-# CONFIG_GCOV is not set
CONFIG_EARLY_PRINTK=y
# end of um Debugging
diff -Nru user-mode-linux-5.10um2/debian/changelog user-mode-linux-5.10um3/debian/changelog
--- user-mode-linux-5.10um2/debian/changelog 2021-03-07 10:01:29.000000000 +0530
+++ user-mode-linux-5.10um3/debian/changelog 2021-06-11 11:43:23.000000000 +0530
@@ -1,3 +1,11 @@
+user-mode-linux (5.10um3) unstable; urgency=medium
+
+ * [95d05ef] Drop patch um_mark_all_kernel_symbols_as_local.patch
+ (Closes: #989665)
+ * [bf8d469] Update UML Linux configs
+
+ -- Ritesh Raj Sarraf <rrs@debian.org> Fri, 11 Jun 2021 11:43:23 +0530
+
user-mode-linux (5.10um2) unstable; urgency=medium
[ Christopher Obbard ]
diff -Nru user-mode-linux-5.10um2/debian/patches/series user-mode-linux-5.10um3/debian/patches/series
--- user-mode-linux-5.10um2/debian/patches/series 2021-03-07 10:01:29.000000000 +0530
+++ user-mode-linux-5.10um3/debian/patches/series 2021-06-11 11:43:23.000000000 +0530
@@ -4,4 +4,3 @@
06-fix-linkage-on-386-arch.patch
07-remove-rpath.patch
08-fix-pcap-linkage.patch
-um_mark_all_kernel_symbols_as_local.patch
diff -Nru user-mode-linux-5.10um2/debian/patches/um_mark_all_kernel_symbols_as_local.patch user-mode-linux-5.10um3/debian/patches/um_mark_all_kernel_symbols_as_local.patch
--- user-mode-linux-5.10um2/debian/patches/um_mark_all_kernel_symbols_as_local.patch 2021-03-07 10:01:29.000000000 +0530
+++ user-mode-linux-5.10um3/debian/patches/um_mark_all_kernel_symbols_as_local.patch 1970-01-01 05:30:00.000000000 +0530
@@ -1,103 +0,0 @@
-From: Johannes Berg <johannes@sipsolutions.net>
-To: linux-um@lists.infradead.org
-Cc: Ritesh Raj Sarraf <rrs@debian.org>,
- Anton Ivanov <anton.ivanov@kot-begemot.co.uk>,
- 983379@bugs.debian.org,
- Christopher Obbard <chris.obbard@collabora.com>,
- Johannes Berg <johannes.berg@intel.com>
-Subject: [PATCH] um: mark all kernel symbols as local
-Date: Fri, 5 Mar 2021 21:43:15 +0100
-
-From: Johannes Berg <johannes.berg@intel.com>
-
-Ritesh reported a bug [1] against UML, noting that it crashed on
-startup. The backtrace shows the following (heavily redacted):
-
-(gdb) bt
-...
- #26 0x0000000060015b5d in sem_init () at ipc/sem.c:268
- #27 0x00007f89906d92f7 in ?? () from /lib/x86_64-linux-gnu/libcom_err.so.2
- #28 0x00007f8990ab8fb2 in call_init (...) at dl-init.c:72
-...
- #40 0x00007f89909bf3a6 in nss_load_library (...) at nsswitch.c:359
-...
- #44 0x00007f8990895e35 in _nss_compat_getgrnam_r (...) at nss_compat/compat-grp.c:486
- #45 0x00007f8990968b85 in __getgrnam_r [...]
- #46 0x00007f89909d6b77 in grantpt [...]
- #47 0x00007f8990a9394e in __GI_openpty [...]
- #48 0x00000000604a1f65 in openpty_cb (...) at arch/um/os-Linux/sigio.c:407
- #49 0x00000000604a58d0 in start_idle_thread (...) at arch/um/os-Linux/skas/process.c:598
- #50 0x0000000060004a3d in start_uml () at arch/um/kernel/skas/process.c:45
- #51 0x00000000600047b2 in linux_main (...) at arch/um/kernel/um_arch.c:334
- #52 0x000000006000574f in main (...) at arch/um/os-Linux/main.c:144
-
-indicating that the UML function openpty_cb() calls openpty(),
-which internally calls __getgrnam_r(), which causes the nsswitch
-machinery to get started.
-
-This loads, through lots of indirection that I snipped, the
-libcom_err.so.2 library, which (in an unknown function, "??")
-calls sem_init().
-
-Now, of course it wants to get libpthread's sem_init(), since
-it's linked against libpthread. However, the dynamic linker
-looks up that symbol against the binary first, and gets the
-kernel's sem_init().
-
-Hajime Tazaki noted that "objcopy -L" can localize a symbol,
-so the dynamic linker wouldn't do the lookup this way. I tried,
-but for some reason that didn't seem to work.
-
-Doing the same thing in the linker script instead does seem to
-work, though I cannot entirely explain - it *also* works if I
-just add "VERSION { { global: *; }; }" instead, indicating that
-something else is happening that I don't really understand. It
-may be that explicitly doing that marks them with some kind of
-empty version, and that's different from the default.
-
-Explicitly marking them with a version breaks kallsyms, so that
-doesn't seem to be possible.
-
-Marking all the symbols as local seems correct, and does seem
-to address the issue, so do that. Also do it for static link,
-nsswitch libraries could still be loaded there.
-
-[1] https://bugs.debian.org/983379
-
-Reported-by: Ritesh Raj Sarraf <rrs@debian.org>
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
----
- arch/um/kernel/dyn.lds.S | 6 ++++++
- arch/um/kernel/uml.lds.S | 6 ++++++
- 2 files changed, 12 insertions(+)
-
---- a/arch/um/kernel/dyn.lds.S
-+++ b/arch/um/kernel/dyn.lds.S
-@@ -6,6 +6,12 @@
- ENTRY(_start)
- jiffies = jiffies_64;
-
-+VERSION {
-+ {
-+ local: *;
-+ };
-+}
-+
- SECTIONS
- {
- PROVIDE (__executable_start = START);
---- a/arch/um/kernel/uml.lds.S
-+++ b/arch/um/kernel/uml.lds.S
-@@ -7,6 +7,12 @@
- ENTRY(_start)
- jiffies = jiffies_64;
-
-+VERSION {
-+ {
-+ local: *;
-+ };
-+}
-+
- SECTIONS
- {
- /* This must contain the right address - not quite the default ELF one.*/
Reply to: