** Description changed:

+ [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)?

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1783746

Title:
  ipmmu is always registered

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1783746/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to