[Intel-gfx] [PATCH] drm/i915: taint kernel when force probing unsupported devices

Rodrigo Vivi rodrigo.vivi at kernel.org
Wed May 3 13:47:53 UTC 2023


On Wed, May 03, 2023 at 12:48:26PM +0300, Jani Nikula 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>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

Are you planing to send the xe version of this to intel-xe ml as well?

> ---
>  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
> 


More information about the Intel-gfx mailing list