** Changed in: linux (Ubuntu Xenial)
       Status: Confirmed => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1812845

Title:
  3b080b2564287be91605bfd1d5ee985696e61d3c in ubuntu_btrfs_kernel_fixes
  triggers system hang on i386

Status in ubuntu-kernel-tests:
  In Progress
Status in linux package in Ubuntu:
  Fix Committed
Status in linux source package in Xenial:
  Fix Committed
Status in linux source package in Bionic:
  Fix Committed
Status in linux source package in Cosmic:
  Fix Committed
Status in linux source package in Disco:
  Fix Committed

Bug description:
  SRU Justification:

  [Impact]

   * Parity page in btrfs raid56 is incorrectly unmapped, allowing to
  easily trigger a reference counter bug on i386 causing a kernel panic

   * The fix unmaps the right rbio pages and adds the proper kunmap()
  call for the parity page

  [Test Case]

   * create a raid5 btrfs filesystem:
     # mkfs.btrfs -m raid5 -d raid5 /dev/sdb /dev/sdc /dev/sdd /dev/sde

   * mount it:
     # mount /dev/sdb /mnt

   * run btrfs scrub in a loop:
     # while :; do btrfs scrub start -BR /mnt; done

  [Fix]

   *
  
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3897b6f0a859288c22fb793fad11ec2327e60fcd

  kunmap(p_page) was completely left out, so we never
  did an unmap for the p_page and the loop unmapping the rbio page was
  iterating over the wrong number of stripes: unmapping should be done
  with nr_data instead of rbio->real_stripes.

  [Regression Potential]

   * This is an upstream fix, tested on the affected platform. The bug
  is affecting only btrfs raid5/6 users on architectures where kunamp()
  is not a no-op (like i386). It is also a very small patch, so backport
  changes are minimal.

  [Original bug report]

  This issue was not spotted on AMD64

  Reproduce rate: 100%

  The following command is the key to trigger this:
      btrfs scrub start -BR $MNT

  Steps:
  # (Install necessary packages)
  # git clone --depth=1 git://kernel.ubuntu.com/ubuntu/autotest-client-tests
  # TMP=/tmp/tmp MNT=/tmp/mnt
  # mkdir -p $TMP; mkdir -p $MNT
  # cd autotest-client-tests/ubuntu_btrfs_kernel_fixes
  # TMP=/tmp/tmp MNT=/tmp/mnt ./3b080b2564287be91605bfd1d5ee985696e61d3c.sh

  Trace:
   [  494.357824] ------------[ cut here ]------------
   [  494.357828] kernel BUG at 
/build/linux-bnzN1b/linux-4.15.0/mm/highmem.c:350!
   [  494.365079] invalid opcode: 0000 [#1] SMP
   [  494.369205] Modules linked in: cfg80211 intel_powerclamp ipmi_ssif 
gpio_ich coretemp kvm_intel kvm ipmi_si irqbypass input_leds joydev dcdbas 
intel_cstate ipmi_devintf sch_fq_codel shpchp i7core_edac lpc_ich 
ipmi_msghandler acpi_power_meter mac_hid ib_iser rdma_cm iw_cm ib_cm ib_core 
iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ip_tables x_tables autofs4 
btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq 
async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear mgag200 
i2c_algo_bit ttm drm_kms_helper hid_generic syscopyarea sysfillrect usbhid 
sysimgblt mpt3sas fb_sys_fops drm hid raid_class bnx2 scsi_transport_sas 
pata_acpi wmi
   [  494.430188] CPU: 2 PID: 2093 Comm: kworker/u16:1 Not tainted 
4.15.0-43-generic #46-Ubuntu
   [  494.438618] Hardware name: Dell Inc. PowerEdge R310/05XKKK, BIOS 1.11.0 
09/18/2012
   [  494.446494] Workqueue: btrfs-endio-raid56 btrfs_endio_raid56_helper 
[btrfs]
   [  494.453657] EIP: kunmap_high+0xaa/0xb0
   [  494.457571] EFLAGS: 00010246 CPU: 2
   [  494.461229] EAX: 00000115 EBX: fffff000 ECX: 00000001 EDX: 00000000
   [  494.467840] ESI: 00000004 EDI: 00000004 EBP: f4883e44 ESP: f4883e40
   [  494.474264]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
   [  494.479931] CR0: 80050033 CR2: 005885e0 CR3: 0fe16000 CR4: 000006f0
   [  494.486353] Call Trace:
   [  494.488967]  kunmap+0x3e/0x50
   [  494.492140]  finish_parity_scrub+0x24d/0x570 [btrfs]
   [  494.497226]  ? update_load_avg+0x64f/0x830
   [  494.501528]  validate_rbio_for_parity_scrub+0xc2/0xd0 [btrfs]
   [  494.507527]  raid56_parity_scrub_end_io+0x53/0x70 [btrfs]
   [  494.513058]  bio_endio+0xb9/0x110
   [  494.516574]  ? end_workqueue_fn+0x2c/0x40 [btrfs]
   [  494.521435]  end_workqueue_fn+0x33/0x40 [btrfs]
   [  494.526139]  normal_work_helper+0x7d/0x2f0 [btrfs]
   [  494.531087]  btrfs_endio_raid56_helper+0x10/0x20 [btrfs]
   [  494.536621]  process_one_work+0x1b9/0x3d0
   [  494.540799]  worker_thread+0x37/0x420
   [  494.544628]  kthread+0xf0/0x110
   [  494.547931]  ? process_one_work+0x3d0/0x3d0
   [  494.552282]  ? kthread_create_worker_on_cpu+0x20/0x20
   [  494.557488]  ? kthread_create_worker_on_cpu+0x20/0x20
   [  494.562701]  ret_from_fork+0x2e/0x38
   [  494.566441] Code: 2d ee ff 58 8b 5d fc c9 c3 90 8d b4 26 00 00 00 00 a1 
80 d1 c4 cf 31 c9 3d 80 d1 c4 cf 0f 95 c1 eb bc 8d b4 26 00 00 00 00 0f 0b <0f> 
0b 8d 74 26 00 66 66 66 66 90 55 89 e5 56 53 31 db e8 1f ef
   [  494.585751] EIP: kunmap_high+0xaa/0xb0 SS:ESP: 0068:f4883e40
   [  494.591688] ---[ end trace 5e6d708abb85eeba ]---

  Follow up with CPU soft lockup.

  Please find the attachment for the complete log.

  ProblemType: Bug
  DistroRelease: Ubuntu 18.04
  Package: linux-image-4.15.0-43-generic 4.15.0-43.46
  ProcVersionSignature: User Name 4.15.0-43.46-generic 4.15.18
  Uname: Linux 4.15.0-43-generic i686
  AlsaDevices:
   total 0
   crw-rw---- 1 root audio 116,  1 Jan 22 11:54 seq
   crw-rw---- 1 root audio 116, 33 Jan 22 11:54 timer
  AplayDevices: Error: [Errno 2] No such file or directory: 'aplay': 'aplay'
  ApportVersion: 2.20.9-0ubuntu7.5
  Architecture: i386
  ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord': 
'arecord'
  AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/seq', 
'/dev/snd/timer'] failed with exit code 1:
  Date: Tue Jan 22 11:54:49 2019
  IwConfig: Error: [Errno 2] No such file or directory: 'iwconfig': 'iwconfig'
  MachineType: Dell Inc. PowerEdge R310
  PciMultimedia:

  ProcFB: 0 mgadrmfb
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-43-generic 
root=UUID=6aaa11f6-d386-4c0c-b4b8-38e6c408980a ro console=ttyS0,115200n8
  RelatedPackageVersions:
   linux-restricted-modules-4.15.0-43-generic N/A
   linux-backports-modules-4.15.0-43-generic  N/A
   linux-firmware                             1.173.3
  RfKill: Error: [Errno 2] No such file or directory: 'rfkill': 'rfkill'
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 09/18/2012
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: 1.11.0
  dmi.board.name: 05XKKK
  dmi.board.vendor: Dell Inc.
  dmi.board.version: A05
  dmi.chassis.type: 23
  dmi.chassis.vendor: Dell Inc.
  dmi.modalias: 
dmi:bvnDellInc.:bvr1.11.0:bd09/18/2012:svnDellInc.:pnPowerEdgeR310:pvr:rvnDellInc.:rn05XKKK:rvrA05:cvnDellInc.:ct23:cvr:
  dmi.product.name: PowerEdge R310
  dmi.sys.vendor: Dell Inc.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/1812845/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to