** 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 : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp