← Back to team overview

kernel-packages team mailing list archive

[Bug 1534647] Re: Collateral damage due to kernel configuration change enabling CONFIG_ZONE_DEVICE (Kernel 4.4 amd64)


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

linux (4.4.0-6.21) xenial; urgency=low

  [ Tim Gardner ]

  * Release Tracking Bug
    - LP: #1546283

  *  Naples/Zen, NTB Driver  (LP: #1542071)
    - [Config] CONFIG_NTB_AMD=m
    - NTB: Add support for AMD PCI-Express Non-Transparent Bridge

  * [Hyper-V] kernel panic occurs when installing Ubuntu Server x32 (LP: #1495983)
    - SAUCE: storvsc: use small sg_tablesize on x86

  * Enable arm64 emulation of removed ARMv7 instructions (LP: #1545542)

  * Surelock-GA2:kernel panic/ exception @ pcibios_set_pcie_reset_state+0x118/0x280 + cxl_reset+0x5c/0xc0 (LP: #1545037)
    - powerpc/eeh: Fix stale cached primary bus

  * Miscellaneous Ubuntu changes
    - SAUCE: fs: Add user namesapace member to struct super_block
    - SAUCE: fs: Limit file caps to the user namespace of the super block
    - SAUCE: Smack: Add support for unprivileged mounts from user namespaces
    - SAUCE: block_dev: Support checking inode permissions in lookup_bdev()
    - SAUCE: block_dev: Check permissions towards block device inode when mounting
    - SAUCE: fs: Treat foreign mounts as nosuid
    - SAUCE: selinux: Add support for unprivileged mounts from user namespaces
    - SAUCE: userns: Replace in_userns with current_in_userns
    - SAUCE: Smack: Handle labels consistently in untrusted mounts
    - SAUCE: fs: Check for invalid i_uid in may_follow_link()
    - SAUCE: cred: Reject inodes with invalid ids in set_create_file_as()
    - SAUCE: fs: Refuse uid/gid changes which don't map into s_user_ns
    - SAUCE: fs: Update posix_acl support to handle user namespace mounts
    - SAUCE: fs: Ensure the mounter of a filesystem is privileged towards its inodes
    - SAUCE: fs: Don't remove suid for CAP_FSETID in s_user_ns
    - SAUCE: fs: Allow superblock owner to access do_remount_sb()
    - SAUCE: capabilities: Allow privileged user in s_user_ns to set security.* xattrs
    - SAUCE: fuse: Add support for pid namespaces
    - SAUCE: fuse: Support fuse filesystems outside of init_user_ns
    - SAUCE: fuse: Restrict allow_other to the superblock's namespace or a descendant
    - SAUCE: fuse: Allow user namespace mounts
    - SAUCE: mtd: Check permissions towards mtd block device inode when mounting
    - SAUCE: fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns
    - SAUCE: quota: Convert ids relative to s_user_ns
    - SAUCE: evm: Translate user/group ids relative to s_user_ns when computing HMAC
    - SAUCE: fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw filesystems
    - SAUCE: quota: Treat superblock owner as privilged
    - SAUCE: ima/evm: Allow root in s_user_ns to set xattrs
    - SAUCE: block_dev: Forbid unprivileged mounting when device is opened for writing
    - SAUCE: ext4: Add support for unprivileged mounts from user namespaces
    - SAUCE: ext4: Add module parameter to enable user namespace mounts
    - SAUCE: fuse: Add module parameter to enable user namespace mounts

  * Miscellaneous upstream changes
    - megaraid: Fix possible NULL pointer deference in mraid_mm_ioctl
    - libahci: Implement the capability to override the generic ahci interrupt handler.
    - ata: Remove the AHCI_HFLAG_EDGE_IRQ support from libahci.
    - ahci_xgene: Implement the workaround to fix the missing of the edge interrupt for the HOST_IRQ_STAT.

 -- Tim Gardner <tim.gardner@xxxxxxxxxxxxx>  Fri, 12 Feb 2016 09:49:05

** 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.

  Collateral damage due to kernel configuration change enabling
  CONFIG_ZONE_DEVICE (Kernel 4.4 amd64)

Status in linux package in Ubuntu:
  Fix Released
Status in mudita24 package in Ubuntu:
Status in linux source package in Xenial:
  Fix Released
Status in mudita24 source package in Xenial:

Bug description:
  Late in the kernel 4.4 RC (Release Candidate) cycle (between rc7 and
  rc8), Ubuntu implemented an amd64 kernel configuration change enabling

  The related email: https://lists.ubuntu.com/archives/kernel-

  The commit message does mention collateral damage: "In effect, this precludes devices that can only DMA from memory addresses below 16MB".
  Indeed we already have a complaint about a sound card that doesn't work as of kernel 4.4-rc8.

  If CONFIG_ZONE_DEVICE is enabled, then CONFIG_ZONE_DMA is forced to disabled, which in turn forces these devices, all are sound cards, and their derivative devices, to be disabled:
  Avance Logic ALS300/ALS300+
  ALi M5451 PCI Audio Controller
  Aztech AZF3328 / PCI168
  Emu10k1 (SB Live!, Audigy, E-mu APS)
  Emu10k1X (Dell OEM Version)
  ESS ES1938/1946/1969 (Solo-1)
  ESS ES1968/1978 (Maestro-1/2/2E)
  ICEnsemble ICE1712 (Envy24)
  ESS Allegro/Maestro3
  S3 SonicVibes
  Trident 4D-Wave DX/NX; SiS 7018.

  References: linux/mm/Kconfig; linux/sound/pci/Kconfig

  One test done (suggested by apw on IRC) was to remove the dependency of ZONE_DEVICE on !ZONE_DMA, but that causes:
  "#error ZONES_SHIFT -- too many zones configured adjust calculation", as apw predicted.
  In a mindless way, I tried to allow more zones in linux/include/linux/page-flags-layout.h, but that caused a bunch of "shifting by too many bits type errors. Anyway it seems that MAX_NR_ZONES is, at least partially, hard coded to 4 in some array definitions and such.

  Please do not ask me to do "apport-collect" for this bug report as it
  is not needed, nor relevant.

To manage notifications about this bug go to: