[Intel-gfx] [PATCH] drm/i915: taint kernel when force probing unsupported devices
Daniel Vetter
daniel at ffwll.ch
Wed May 3 10:35:46 UTC 2023
On Wed, 3 May 2023 at 11:48, Jani Nikula <jani.nikula at intel.com> wrote:
>
> For development and testing purposes, the i915.force_probe module
> parameter and DRM_I915_FORCE_PROBE kconfig option allow probing of
> devices that aren't supported by the driver.
>
> The i915.force_probe module parameter is "unsafe" and setting it taints
> the kernel. However, using the kconfig option does not.
>
> Always taint the kernel when force probing a device that is not
> supported.
>
> Fixes: 7ef5ef5cdead ("drm/i915: add force_probe module parameter to replace alpha_support")
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: Dave Airlie <airlied at gmail.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
Acked-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/Kconfig | 13 ++++++++-----
> drivers/gpu/drm/i915/i915_pci.c | 6 ++++++
> 2 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 06a0ca157e89..12ba19da9bc3 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -58,14 +58,16 @@ config DRM_I915
> config DRM_I915_FORCE_PROBE
> string "Force probe i915 for selected Intel hardware IDs"
> depends on DRM_I915
> + depends on EXPERT
> help
> This is the default value for the i915.force_probe module
> parameter. Using the module parameter overrides this option.
>
> - Force probe the i915 for Intel graphics devices that are
> - recognized but not properly supported by this kernel version. It is
> - recommended to upgrade to a kernel version with proper support as soon
> - as it is available.
> + Force probe the i915 driver for Intel graphics devices that are
> + recognized but not properly supported by this kernel version. Force
> + probing an unsupported device taints the kernel. It is recommended to
> + upgrade to a kernel version with proper support as soon as it is
> + available.
>
> It can also be used to block the probe of recognized and fully
> supported devices.
> @@ -75,7 +77,8 @@ config DRM_I915_FORCE_PROBE
> Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
> devices. For example, "4500" or "4500,4571".
>
> - Use "*" to force probe the driver for all known devices.
> + Use "*" to force probe the driver for all known devices. Not
> + recommended.
>
> Use "!" right before the ID to block the probe of the device. For
> example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 5fcc9cfed671..c509ea4aa70f 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -1346,6 +1346,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> return -ENODEV;
> }
>
> + if (intel_info->require_force_probe) {
> + dev_info(&pdev->dev, "Force probing unsupported Device ID %04x, tainting kernel\n",
> + pdev->device);
> + add_taint(TAINT_USER, LOCKDEP_STILL_OK);
> + }
> +
> /* Only bind to function 0 of the device. Early generations
> * used function 1 as a placeholder for multi-head. This causes
> * us confusion instead, especially on the systems where both
> --
> 2.39.2
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list