Activity log for bug #1783746

Date Who What changed Old value New value Message
2018-07-26 10:21:38 Marc Dietrich bug added bug
2018-07-26 10:21:38 Marc Dietrich attachment added bootlog https://bugs.launchpad.net/bugs/1783746/+attachment/5168044/+files/paste_1035175
2018-07-26 10:30:06 Ubuntu Kernel Bot linux (Ubuntu): status New Incomplete
2018-07-26 10:30:07 Ubuntu Kernel Bot tags bionic
2018-07-26 10:47:10 Marc Dietrich linux (Ubuntu): status Incomplete Confirmed
2018-07-27 15:44:36 Joseph Salisbury linux (Ubuntu): importance Undecided Medium
2018-07-27 15:44:39 Joseph Salisbury linux (Ubuntu): status Confirmed Incomplete
2018-08-01 09:22:50 Marc Dietrich linux (Ubuntu): status Incomplete Confirmed
2018-08-21 14:39:22 Paolo Pisati linux (Ubuntu): assignee Paolo Pisati (p-pisati)
2018-09-11 10:39:08 Paolo Pisati description 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)? [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)?
2018-09-11 10:53:28 Paolo Pisati nominated for series Ubuntu Bionic
2018-09-12 07:50:11 Stefan Bader bug task added linux (Ubuntu Bionic)
2018-10-01 13:05:59 Stefan Bader linux (Ubuntu Bionic): status New Fix Committed
2018-10-03 17:33:51 Brad Figg tags bionic bionic verification-needed-bionic
2018-10-04 17:39:15 Marc Dietrich tags bionic verification-needed-bionic bionic verification-done-bionic
2018-10-22 15:58:43 Launchpad Janitor linux (Ubuntu Bionic): status Fix Committed Fix Released
2018-10-25 13:39:22 Paolo Pisati linux (Ubuntu): status Confirmed Invalid