regression with EXT4 file systems and meta_bg flag

Bug #1789653 reported by gagzou
42
This bug affects 8 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Joseph Salisbury
Xenial
Fix Released
Medium
Joseph Salisbury

Bug Description

== SRU Justification ==
A regression was introduced where ext4_check_descriptors() was getting
called before s_gdb_count was initialized. This regression was
introduced to Xenial in 4.4.0-134. This is fixed by mainline commit
44de022c4382.

Commit 44de022c4382 was also cc'd to upstream stable. However, it has
not made it's way into Xenial via stable updates as of yet.

== Fix ==
44de022c4382 ("ext4: fix false negatives *and* false positives in ext4_check_descriptors()")

== Regression Potential ==
Low. This commit has been cc'd upstream stable, so it has had
additional upstream review.

== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.

Hello,

In 16.04 lts (Ubuntu 4.4.0-134.160-generic 4.4.140) with all partitions in ext4 with flag meta_bg :

kernel: [ 1905.799557] EXT4-fs (dm-7): ext4_check_descriptors: Block bitmap for group 0 overlaps block group descriptors
kernel: [ 1905.799858] EXT4-fs (dm-7): group descriptors corrupted!

Go back with the kernel 4.4.0-133-generic and all partitions mount correctly.

It looks like this: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git/commit/?id=44de022c4382541cebdd6de4465d1f4f465ff1dd

The patch is available in 4.4.147 (https://lwn.net/Articles/762083/)
---
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access '/dev/snd/': No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory
ApportVersion: 2.20.1-0ubuntu2.18
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory
CRDA: N/A
DistroRelease: Ubuntu 16.04
HibernationDevice: RESUME=/dev/mapper/vg_system-lv_system_swap
InstallationDate: Installed on 2017-04-28 (488 days ago)
InstallationMedia: Ubuntu-Server 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
IwConfig: Error: [Errno 2] No such file or directory
Lsusb: Error: [Errno 2] No such file or directory
MachineType: VMware, Inc. VMware Virtual Platform
Package: linux (not installed)
PciMultimedia:

ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
ProcFB:

ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-134-generic root=/dev/mapper/vg_system-lv_system_root ro ipv6.disable=1
ProcVersionSignature: Ubuntu 4.4.0-134.160-generic 4.4.140
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-134-generic N/A
 linux-backports-modules-4.4.0-134-generic N/A
 linux-firmware N/A
RfKill: Error: [Errno 2] No such file or directory
Tags: xenial xenial
Uname: Linux 4.4.0-134-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

_MarkForUpload: True
dmi.bios.date: 07/31/2013
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: 6.00
dmi.board.name: 440BX Desktop Reference Platform
dmi.board.vendor: Intel Corporation
dmi.board.version: None
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 1
dmi.chassis.vendor: No Enclosure
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvr6.00:bd07/31/2013:svnVMware,Inc.:pnVMwareVirtualPlatform:pvrNone:rvnIntelCorporation:rn440BXDesktopReferencePlatform:rvrNone:cvnNoEnclosure:ct1:cvrN/A:
dmi.product.name: VMware Virtual Platform
dmi.product.version: None
dmi.sys.vendor: VMware, Inc.
---
AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access '/dev/snd/': No such file or directory
AplayDevices: Error: [Errno 2] No such file or directory
ApportVersion: 2.20.1-0ubuntu2.18
Architecture: amd64
ArecordDevices: Error: [Errno 2] No such file or directory
CRDA: N/A
DistroRelease: Ubuntu 16.04
HibernationDevice: RESUME=/dev/mapper/vg_system-lv_system_swap
InstallationDate: Installed on 2017-04-28 (488 days ago)
InstallationMedia: Ubuntu-Server 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
IwConfig: Error: [Errno 2] No such file or directory
Lsusb: Error: [Errno 2] No such file or directory
MachineType: VMware, Inc. VMware Virtual Platform
Package: linux (not installed)
PciMultimedia:

ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
ProcFB:

ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.4.0-134-generic root=/dev/mapper/vg_system-lv_system_root ro ipv6.disable=1
ProcVersionSignature: Ubuntu 4.4.0-134.160-generic 4.4.140
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-134-generic N/A
 linux-backports-modules-4.4.0-134-generic N/A
 linux-firmware N/A
RfKill: Error: [Errno 2] No such file or directory
Tags: xenial xenial xenial
Uname: Linux 4.4.0-134-generic x86_64
UnreportableReason: The report belongs to a package that is not installed.
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

WifiSyslog:
 août 29 21:01:28 Template1604LTS kernel: [UFW BLOCK] IN=admin OUT= MAC=01:00:5e:00:00:01:a0:1b:29:89:4f:1a:08:00 SRC=192.168.1.1 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0x80 TTL=1 ID=0 DF PROTO=2
 août 29 21:02:08 Template1604LTS kernel: [UFW BLOCK] IN=admin OUT= MAC=01:00:5e:00:00:01:a0:1b:29:89:4f:1a:08:00 SRC=192.168.1.1 DST=224.0.0.1 LEN=32 TOS=0x00 PREC=0x80 TTL=1 ID=0 DF PROTO=2
_MarkForUpload: False
dmi.bios.date: 07/31/2013
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: 6.00
dmi.board.name: 440BX Desktop Reference Platform
dmi.board.vendor: Intel Corporation
dmi.board.version: None
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 1
dmi.chassis.vendor: No Enclosure
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvr6.00:bd07/31/2013:svnVMware,Inc.:pnVMwareVirtualPlatform:pvrNone:rvnIntelCorporation:rn440BXDesktopReferencePlatform:rvrNone:cvnNoEnclosure:ct1:cvrN/A:
dmi.product.name: VMware Virtual Platform
dmi.product.version: None
dmi.sys.vendor: VMware, Inc.

Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1789653

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: xenial
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Incomplete → Triaged
Changed in linux (Ubuntu Xenial):
importance: Undecided → Medium
status: New → Triaged
Changed in linux (Ubuntu Xenial):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu Xenial):
status: Triaged → In Progress
Changed in linux (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with commit 44de022c4382541cebdd6de4465d1f4f465ff1dd. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1789653

Can you test this kernel and see if it resolves this bug?

Note about installing test kernels:
• If the test kernel is prior to 4.15(Bionic) you need to install the linux-image and linux-image-extra .deb packages.
• If the test kernel is 4.15(Bionic) or newer, you need to install the linux-modules, linux-modules-extra and linux-image-unsigned .deb packages.

Thanks in advance!

Revision history for this message
gagzou (gagzou) wrote : AudioDevicesInUse.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
gagzou (gagzou) wrote : CurrentDmesg.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : Lspci.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcInterrupts.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcModules.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : UdevDb.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : WifiSyslog.txt

apport information

description: updated
Revision history for this message
gagzou (gagzou) wrote : AudioDevicesInUse.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : CurrentDmesg.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : HookError_generic.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : Lspci.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcCpuinfoMinimal.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcInterrupts.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : ProcModules.txt

apport information

Revision history for this message
gagzou (gagzou) wrote : UdevDb.txt

apport information

Changed in linux (Ubuntu):
status: In Progress → Confirmed
Changed in linux (Ubuntu Xenial):
status: In Progress → Confirmed
Changed in linux (Ubuntu Xenial):
status: Confirmed → In Progress
Changed in linux (Ubuntu):
status: Confirmed → In Progress
Revision history for this message
gagzou (gagzou) wrote :

The kernel test resolves the bug.
The partition mount correctly at startup, I do not remain block at boot (emergency mode).
Only difference, I'm with a minimal kernel (linux-image-virtual/linux-headers-virtual).

gagzou (gagzou)
information type: Public → Public Security
information type: Public Security → Public
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Thanks for testing. I'll submit an SRU request for this commit.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :
description: updated
Changed in linux (Ubuntu Xenial):
status: In Progress → Fix Committed
Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial
Revision history for this message
André Burkhardt (pseudoab80) wrote :

For me the kernel in -proposed (4.4.0-136) solves the problem. The system boots properly.

4.4.0-133 - works
4.4.0-134 - did not work
4.4.0-135 - did not work
4.4.0-136 - works

tags: added: verification-done-xenial
removed: verification-needed-xenial
Revision history for this message
Malte Schmidt (maltris) wrote :

The 4.4.0-136 from xenial-proposed seem to be working.

When will this make its way to xenial-updates?

Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

Hello @maltris,

The current Xenial 4.4.0 kernel in -proposed is scheduled to be released to -updates in Oct-01.

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (9.6 KiB)

This bug was fixed in the package linux - 4.4.0-137.163

---------------
linux (4.4.0-137.163) xenial; urgency=medium

  * CVE-2018-14633
    - iscsi target: Use hex2bin instead of a re-implementation

  * CVE-2018-17182
    - mm: get rid of vmacache_flush_all() entirely

linux (4.4.0-136.162) xenial; urgency=medium

  * linux: 4.4.0-136.162 -proposed tracker (LP: #1791745)

  * CVE-2017-5753
    - bpf: properly enforce index mask to prevent out-of-bounds speculation
    - Revert "UBUNTU: SAUCE: bpf: Use barrier_nospec() instead of osb()"
    - Revert "bpf: prevent speculative execution in eBPF interpreter"

  * L1TF mitigation not effective in some CPU and RAM combinations
    (LP: #1788563) // CVE-2018-3620 // CVE-2018-3646
    - x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit
    - x86/speculation/l1tf: Fix off-by-one error when warning that system has too
      much RAM
    - x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+

  * CVE-2018-15594
    - x86/paravirt: Fix spectre-v2 mitigations for paravirt guests

  * Xenial update to 4.4.144 stable release (LP: #1791080)
    - KVM/Eventfd: Avoid crash when assign and deassign specific eventfd in
      parallel.
    - x86/MCE: Remove min interval polling limitation
    - fat: fix memory allocation failure handling of match_strdup()
    - ALSA: rawmidi: Change resized buffers atomically
    - ARC: Fix CONFIG_SWAP
    - ARC: mm: allow mprotect to make stack mappings executable
    - mm: memcg: fix use after free in mem_cgroup_iter()
    - ipv4: Return EINVAL when ping_group_range sysctl doesn't map to user ns
    - ipv6: fix useless rol32 call on hash
    - lib/rhashtable: consider param->min_size when setting initial table size
    - net/ipv4: Set oif in fib_compute_spec_dst
    - net: phy: fix flag masking in __set_phy_supported
    - ptp: fix missing break in switch
    - tg3: Add higher cpu clock for 5762.
    - net: Don't copy pfmemalloc flag in __copy_skb_header()
    - skbuff: Unconditionally copy pfmemalloc in __skb_clone()
    - xhci: Fix perceived dead host due to runtime suspend race with event handler
    - x86/paravirt: Make native_save_fl() extern inline
    - SAUCE: Add missing CPUID_7_EDX defines
    - SAUCE: x86/speculation: Expose indirect_branch_prediction_barrier()
    - x86/pti: Mark constant arrays as __initconst
    - x86/asm/entry/32: Simplify pushes of zeroed pt_regs->REGs
    - x86/entry/64/compat: Clear registers for compat syscalls, to reduce
      speculation attack surface
    - x86/speculation: Clean up various Spectre related details
    - x86/speculation: Fix up array_index_nospec_mask() asm constraint
    - x86/xen: Zero MSR_IA32_SPEC_CTRL before suspend
    - x86/mm: Factor out LDT init from context init
    - x86/mm: Give each mm TLB flush generation a unique ID
    - SAUCE: x86/speculation: Use Indirect Branch Prediction Barrier in context
      switch
    - x86/speculation: Use IBRS if available before calling into firmware
    - x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP
    - selftest/seccomp: Fix the seccomp(2) signature
    - xen: set cpu capabilities from xen_start_kernel()
    - x86/amd: d...

Read more...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: In Progress → Fix Released
Brad Figg (brad-figg)
tags: added: cscc
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.