← Back to team overview

kernel-packages team mailing list archive

[Bug 1505948] Re: Memory arena corruption with FUSE (was Memory allocation failure crashes kernel hard, presumably related to FUSE)


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

linux (4.4.0-16.32) xenial; urgency=low

  [ Tim Gardner ]

  * Release Tracking Bug
    - LP: #1561727

  * fix thermal throttling due to commit "Thermal: initialize thermal zone
    device correctly"  (LP: #1561676)
    - Thermal: Ignore invalid trip points

  * Thinkpad T460: Trackpoint mouse buttons instantly generate "release" event
    on press (LP: #1553811)
    - SAUCE: (noup) Input: synaptics - handle spurious release of trackstick
      buttons, again

  * reading /sys/kernel/security/apparmor/profiles requires CAP_MAC_ADMIN
    (LP: #1560583)
    - SAUCE: apparmor: Allow ns_root processes to open profiles file
    - SAUCE: apparmor: Consult sysctl when reading profiles in a user ns

  * linux: sync virtualbox drivers to 5.0.16-dfsg-2 (LP: #1561492)
    - ubuntu: vbox -- update to 5.0.16-dfsg-2

  * s390/kconfig: CONFIG_NUMA without CONFIG_NUMA_EMU does not make any sense on
    s390x (LP: #1557690)

  * spl/zfs fails to build on s390x (LP: #1519814)
    - [Config] s390x -- re-enable zfs
    - [Config] zfs -- disable powerpc until the test failures can be resolved

  * linux: sync to ZFS stable release (LP: #1561483)
    - SAUCE: (noup) Update spl to, zfs to

  * zfs: enable zfs for 64bit powerpc kernels (LP: #1558871)
    - [Packaging] zfs -- handle rprovides via dpkg-gencontrol
    - [Config] powerpc -- convert zfs configuration to custom_override

  * Memory arena corruption with FUSE (was Memory allocation failure crashes
    kernel hard, presumably related to FUSE) (LP: #1505948)
    - SAUCE: (noup) fuse: do not use iocb after it may have been freed
    - SAUCE: (noup) fuse: Add reference counting for fuse_io_priv

  * cgroup namespaces: add a 'nsroot=' mountinfo field (LP: #1560489)
    - SAUCE: (noup) cgroup namespaces: add a 'nsroot=' mountinfo field

  * linux packaging: clear remaining redundant delta (LP: #1560445)
    - [Debian] Remove generated intermediate files on clean

  * arm64: guest hangs when ntpd is running (LP: #1549494)
    - Revert "hrtimer: Add support for CLOCK_MONOTONIC_RAW"
    - Revert "hrtimer: Catch illegal clockids"
    - Revert "KVM: arm/arm64: timer: Switch to CLOCK_MONOTONIC_RAW"

  * Need enough contiguous memory to support GICv3 ITS table (LP: #1558828)
    - [Config] CONFIG_FORCE_MAX_ZONEORDER=13 on arm64
    - SAUCE: (no-up) arm64: gicv3: its: Increase FORCE_MAX_ZONEORDER for Cavium

  * update arcmsr to version v1.30.00.22-20151126 to fix card timeouts
    (LP: #1559609)
    - arcmsr: fixed getting wrong configuration data
    - arcmsr: fixes not release allocated resource
    - arcmsr: make code more readable
    - arcmsr: adds code to support new Areca adapter ARC1203
    - arcmsr: changes driver version number
    - arcmsr: more readability improvements
    - arcmsr: Split dma resource allocation to a new function
    - arcmsr: change driver version to v1.30.00.22-20151126

  * server image has no keyboard, desktop image works (LP: #1559692)
    - [Config] Rework input-modules (d-i) list

  * PMU support for Cavium ThunderX (LP: #1559349)
    - arm64: perf: Rename Cortex A57 events
    - arm64/perf: Add Cavium ThunderX PMU support
    - arm64: perf: Enable PMCR long cycle counter bit
    - arm64: perf: Extend event mask for ARMv8.1
    - arm64: dts: Add Cavium ThunderX specific PMU

  * Show ARM PMU events in perf stat (LP: #1559350)
    - drivers/perf: kill armpmu_register
    - arm: perf: Convert event enums to #defines
    - arm: perf: Add event descriptions
    - arm64: perf: Convert event enums to #defines
    - arm64: perf: Add event descriptions
    - ARM: perf: add format entry to describe event -> config mapping
    - arm64: perf: add format entry to describe event -> config mapping

  * [Bug]HSW/BDW EDAC driver reports wrong DIMM (LP: #1559904)
    - EDAC/sb_edac: Fix computation of channel address

  * 5-10 second delay in kernel boot with kernel command line ip= (LP: #1259861)
    - [Config] disable CONFIG_IP_PNP

  * Miscellaneous Ubuntu changes
    - [Debian] Silence the reconstruct script

 -- Tim Gardner <tim.gardner@xxxxxxxxxxxxx>  Mon, 21 Mar 2016 10:15:31

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

You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.

  Memory arena corruption with FUSE (was Memory allocation failure
  crashes kernel hard, presumably related to FUSE)

Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Wily:
  In Progress
Status in linux source package in Xenial:
  Fix Released
Status in linux package in Fedora:

Bug description:
  == SRU Justification ==

  Impact: Races in fuse's synchronous io handling can result in use-
  after-free bugs which are causing kernel crashes.

  Fix: Two commits from fuse-next, one which simply caches the result of
  a test to avoid a use-after-free and another which adds reference
  counting to the fuse_io_priv struct to get rid of some convoluted
  rules for determining when this structure can be freed.

  Test case: Tested on LP #1505948.


  Hello everybody,

  Linux 4.1, 4.2 or 4.3-rc leads to an immediate kernel panic in our
  setup when trying to start a Qemu process on top of a fuse-based
  mount. Here is an example stacktrace:

  [  739.807817] BUG: unable to handle kernel paging request at ffff8800a4104ea0
  [  739.840201] IP: [<ffffffff811cc95a>] kmem_cache_alloc_trace+0x7a/0x1f0
  [  739.870309] PGD 2fee067 PUD 2fbf4dd063 PMD 0
  [  739.890418] Oops: 0000 [#1] SMP
  [  739.905265] Modules linked in: nbd vport_vxlan vport_gre gre ebtable_filter ebtables openvswitch ib_iser rdma_cm iw_cm ib_cm ib_sa ib_mad ib_core ib_addr iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ipt_REJECT nf_reject_ipv4 nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter xt_CT iptable_raw ip_tables xt_tcpudp ip6t_REJECT nf_reject_ipv6 xt_limit nf_conntrack_ipv6 nf_defrag_ipv6 xt_multiport xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables dm_crypt ipmi_ssif intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd kvm_intel kvm ipmi_devintf vhost_net vhost macvtap macvlan joydev input_leds dm_multipath scsi_dh bonding sb_edac 8021q garp hpilo mrp stp ipmi_si llc edac_core lpc_ich ioatdma 8250_fintek ipmi_msghandler lp shpchp acpi_power_meter mac_hid parport nls_iso8859_1 sch_fq_codel xfs libcrc32c btrfs xor raid6_pq ixgbe ses enclosure hid_generic dca vxlan usbhid ip6_udp_tunnel tg3 udp_tunnel ptp hid pps_core hpsa mdio wmi
  [  740.345300] CPU: 8 PID: 10550 Comm: qemu-system-x86 Not tainted 4.2.0-040200-generic #201508301530
  [  740.386879] Hardware name: HP ProLiant DL380 Gen9, BIOS P89 05/06/2015
  [  740.416827] task: ffff882f8e958dc0 ti: ffff882f28c20000 task.ti: ffff882f28c20000
  [  740.451672] RIP: 0010:[<ffffffff811cc95a>]  [<ffffffff811cc95a>] kmem_cache_alloc_trace+0x7a/0x1f0
  [  740.494047] RSP: 0018:ffff882f28c23c68  EFLAGS: 00010286
  [  740.518425] RAX: 0000000000000000 RBX: 00000000000000d0 RCX: 00000000000026b3
  [  740.551611] RDX: 00000000000026b2 RSI: 00000000000000d0 RDI: ffff882fbf407840
  [  740.584846] RBP: ffff882f28c23ca8 R08: 0000000000019920 R09: ffffe8d000200ab0
  [  740.618287] R10: ffffffff812e8dcd R11: ffffea00bca0ac00 R12: 00000000000000d0
  [  740.651320] R13: ffff882fbf407840 R14: ffff8800a4104ea0 R15: ffff882fbf407840
  [  740.684195] FS:  00007f2642ffd700(0000) GS:ffff882fbfa00000(0000) knlGS:0000000000000000
  [  740.722030] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  [  740.749469] CR2: ffff8800a4104ea0 CR3: 0000002f26f83000 CR4: 00000000001426e0
  [  740.783390] Stack:
  [  740.792577]  ffffffff812e8dcd 0000000000000048 0000000000000002 ffff882f908c8468
  [  740.827003]  0000000001bef000 ffff882f928e4600 ffff882f28c23e48 ffff882f28c23d70
  [  740.860971]  ffff882f28c23d38 ffffffff812e8dcd 0000000000000001 ffff882f908c8300
  [  740.894994] Call Trace:
  [  740.906211]  [<ffffffff812e8dcd>] ? fuse_direct_IO+0xdd/0x280
  [  740.932940]  [<ffffffff812e8dcd>] fuse_direct_IO+0xdd/0x280
  [  740.958866]  [<ffffffff8117750e>] generic_file_direct_write+0x9e/0x150
  [  740.989318]  [<ffffffff812e96bc>] fuse_file_write_iter+0x15c/0x2e0
  [  741.017725]  [<ffffffff811e94a7>] __vfs_write+0xa7/0xf0
  [  741.041787]  [<ffffffff811e9b09>] vfs_write+0xa9/0x190
  [  741.065307]  [<ffffffff811ea9d9>] SyS_pwrite64+0x69/0xa0
  [  741.090141]  [<ffffffff81085b57>] ? SyS_rt_sigprocmask+0x67/0xb0
  [  741.135924]  [<ffffffff817a8e32>] entry_SYSCALL_64_fastpath+0x16/0x75
  [  741.183478] Code: 4c 03 05 32 d8 e3 7e 4d 8b 30 49 8b 40 10 4d 85 f6 0f 84 22 01 00 00 48 85 c0 0f 84 19 01 00 00 49 63 47 20 48 8d 4a 01 4d 8b 07 <49> 8b 1c 06 4c 89 f0 65 49 0f c7 08 0f 94 c0 84 c0 74 b9 49 63
  [  741.306817] RIP  [<ffffffff811cc95a>] kmem_cache_alloc_trace+0x7a/0x1f0

  The problem has also been documented by somebody else in the Fedora
  bug tracker at https://bugzilla.redhat.com/show_bug.cgi?id=1254310

  This behaviour is 100% reproducible. I have asked the fuse-devel
  mailinglist for advice, but up to this point with no success:


  We are still investigating if this issue is also happening with 4.0
  and will add the information to this bug report once we have it. Any
  help on debugging will be greatly appreciated.

To manage notifications about this bug go to: