ipmmu is always registered
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Medium
|
Paolo Pisati | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned |
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/
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_
Maybe this buggy driver should be disabled in the config (or fixed somehow)?
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
Changed in linux (Ubuntu): | |
assignee: | nobody → Paolo Pisati (p-pisati) |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
status: | New → Fix Committed |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
Changed in linux (Ubuntu): | |
status: | Confirmed → Invalid |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1783746
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.