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-
bionic' to 'verification-done-bionic'. If the problem still exists,
change the tag 'verification-needed-bionic' to 'verification-failed-
bionic'.

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-bionic

-- 
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/1783746

Title:
  ipmmu is always registered

Status in linux package in Ubuntu:
  Confirmed
Status in linux source package in Bionic:
  Fix Committed

Bug description:
  [Impact]

  The ipmmu-vmsa driver registers itself to the system via an initcall()
  to ipmmu_init(), and in case it's the first (or the only) iommu
  driver, it registers its iommu ops to the platform bus - in the tegra2
  case, there's no iommu hardware, so all drivers bail out, except for
  the ipmmu-vmsa.

  Later on, during boot, when the Tegra host1x is probing
  (drivers/gpu/host1x/dev.c::host1x_probe()), it checks if an iommu
  device is present (drivers/iommu/iommu.c::iommu_present() that does so
  by identifying if any iommu ops were registered) and attach to the
  supposedly present device, incurring in a null pointer dereference.

  Upstream quickly acknowledged the problem, and rolled a patch to
  restrict the ipmmu-vmsa driver to register if and only if a compatible
  device is present.

  The fix appared initially in 4.19, and was later backported via stable
  to 4.18.x, and this is a clean cherry pick of that commit.

  [Fix]

  Apply the attached patch and recompile.

  [How to test]

  Try to boot a patched kernel on a Tegra2 board.

  [Regession potential]

  None, the fix is trivial.

  --

  Original bug:

  Hi,

  booting the bionic kernel (4.15.0-29-generic) on my Tegra20 device (no
  iommu), I found it crashes during display driver setup. The bootlog
  (and crash) is attached. Asking on Tegra IRC channel, digetx found
  that this is caused by the IPMMU-VMSA driver which is always
  registered via initcall. Adding "initcall_blacklist=ipmmu_init" to the
  kernel parameters makes it boot fine.

  Maybe this buggy driver should be disabled in the config (or fixed
  somehow)?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1783746/+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