Revised debdiff for the following changes: * correct syntax for LP Bug # * kept upstream patches as their original separate patches, rather than combining into one (second needed patch does not compile without the first change).
-- You received this bug notification because you are a member of STS Sponsors, which is subscribed to the bug report. https://bugs.launchpad.net/bugs/1743300 Title: libguestfs not work anymore with 4.13.0-26-generic #29~16.04.2-Ubuntu Status in supermin package in Ubuntu: Fix Released Status in supermin source package in Xenial: In Progress Bug description: [Impact] An update to mainline kernel v4.13 breaks the supermin v5.1.14 package in Xenial. Supermin is a tool for preparing and building very specific, tiny, virtual appliances which boot very fast. It uses an ext2 file system disk image. Users of supermin functionality like guestfish, libguestfs-test-tool, etc., all break in different ways as a result, some catastrophic, but in each case, the tool and virtual appliance are not usable. This impacts the libguestfs-tools package (users of supermin). This bug results in users not being able to upgrade their kernel, specifically, use a kernel that is v4.13-based or later. A workaround is to ensure that an earlier kernel (e.g. v4.4-based Xenial kernels) is used by supermin. This can conflict with user needs to use a later kernel for other reasons. [Test Case] 1) Using the v5.1.14 supermin installed and running on a 4.13-based kernel like 4.13.0-32-generic #35~16.04.1-Ubuntu: (Assuming you have virtualization support packages etc. already installed): $ sudo apt-get install libguestfs-tools $ libguestfs-test-tool [appliance kernel panic or qemu crash or just a silent hang] 2) Using the v5.1.14 supermin version and running on a 4.13-based kernel like 4.13.0-32-generic #35~16.04.1-Ubuntu: # wget https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img -O /var/lib/libvirt/images/ubuntu-16.04-server-cloudimg-amd64-disk1.img # guestfish --rw -a /var/lib/libvirt/images/ubuntu-16.04-server-cloudimg-amd64-disk1.img Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: 'help' for help on commands 'man' to read the manual 'quit' to quit the shell ><fs> run libguestfs: error: appliance closed the connection unexpectedly. This usually means the libguestfs appliance crashed. [Regression Potential] * There might be errors in creation and management of tiny supermin appliances via tools in the libguestfs-tools package. [Other Info] * From the upstream patch description, brief explanation of the bug: "The ext2 filesystem on disk format has two ways to store symlinks. For symlinks >= 60 bytes in length, they are stored as files (so-called "slow symlinks"). For shorter symlinks the symlink is stored in the inode ("fast symlinks"). Previously we only created slow symlinks even if they are shorter than 60 bytes. This didn't matter until recently, when a change went into the upstream kernel which assumes that symlinks shorter than 60 bytes are always stored in the inode, thus breaking the filesystems that we created before..." Note that the real fix is to switch to use ext2fs_symlink() to create links. * A fix for this problem went into upstream supermin v5.1.18. Thus this bug affects supermin < v5.1.18, and kernel >= v4.13. * Thus this bug only affects the Ubuntu Xenial distro release: supermin = v5.1.14 kernel = v4.13.* Artful includes the v4.1.18 supermin package (which has the symlink fix) and Bionic has a later one (v4.1.19). Thus neither is affected by this issue. Trusty is running an older version (4.1.6-1) of supermin but is not running the v4.13 or later kernel, and is thus not affected either. * This fix has been tested successfully on Xenial and shown to fix the reported and related breakages as listed in the Test Case section and more. * A public PPA test package for Xenial is available to test with and has been tested by at least one user who was seeing the problem, successfully. * This fix backports 2 patches from upstream: 1. ext2: Don't load whole files into memory when copying to the appliance (RHBZ#1113065). 2. ext2: Create symlinks properly (RHBZ#1470157). Patch 1 is necessary as it supplies some dependent code used by Patch 2; and Patch 2 does not compile cleanly without it. https://github.com/libguestfs/supermin/commit/158854e3ba4be7f6b8d81f662ddad98358ede1de https://github.com/libguestfs/supermin/commit/f5a3deef588759c49dc862427a265aced612002d Both patches are contained to a single file (ext2fs-c.c). * The fixed supermin has been tested with older (< 4.13) kernels as well, with no regression or issues. * There is no security impact / aspect to this change (as confirmed by a quick review from security team member) ---- Original Description ===================== after upgrade to 4.13.0-26-generic #29~16.04.2-Ubuntu all the virt-* tools not work anymore running the libguestfs-test-tool shows that the qemu kernel crashes [ 0.755354] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100 [ 0.755354] [ 0.756619] CPU: 0 PID: 1 Comm: init Not tainted 4.13.0-26-generic #29~16.04.2-Ubuntu [ 0.757893] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014 [ 0.759157] Call Trace: [ 0.759444] dump_stack+0x63/0x8b [ 0.760847] panic+0xe4/0x23d [ 0.761184] do_exit+0xae6/0xaf0 [ 0.761547] ? dput+0x34/0x1f0 [ 0.762292] do_group_exit+0x43/0xb0 [ 0.762690] SyS_exit_group+0x14/0x20 [ 0.763333] entry_SYSCALL_64_fastpath+0x1e/0x81 [ 0.764221] RIP: 0033:0x451579 [ 0.764799] RSP: 002b:00007ffda4fe3768 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 [ 0.766275] RAX: ffffffffffffffda RBX: 0000000001415cb3 RCX: 0000000000451579 [ 0.767056] RDX: 0000000000000008 RSI: 0000000000000001 RDI: 0000000000000001 [ 0.768290] RBP: 0000000001415c30 R08: 000000000000003c R09: 00000000000000e7 [ 0.769451] R10: ffffffffffffffd0 R11: 0000000000000246 R12: 0000000000000000 [ 0.770651] R13: 0044b82fa09b5a53 R14: 0000000000000000 R15: 0000000001415c30 [ 0.772563] Kernel Offset: 0x3cc00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) [ 0.774729] Rebooting in 1 seconds.. libguestfs: error: appliance closed the connect ProblemType: Bug DistroRelease: Ubuntu 16.04 Package: linux-image-4.13.0-26-generic 4.13.0-26.29~16.04.2 ProcVersionSignature: Ubuntu 4.13.0-26.29~16.04.2-generic 4.13.13 Uname: Linux 4.13.0-26-generic x86_64 ApportVersion: 2.20.1-0ubuntu2.15 Architecture: amd64 Date: Mon Jan 15 07:03:40 2018 InstallationDate: Installed on 2017-07-14 (184 days ago) InstallationMedia: Ubuntu-Server 16.04.2 LTS "Xenial Xerus" - Release amd64 (20170215.8) SourcePackage: linux-hwe UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/supermin/+bug/1743300/+subscriptions -- Mailing list: https://launchpad.net/~sts-sponsors Post to : email@example.com Unsubscribe : https://launchpad.net/~sts-sponsors More help : https://help.launchpad.net/ListHelp