** Changed in: linux (Ubuntu Bionic)
Status: New => 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/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 : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp