[PATCH v2] drm/i915/hwmon: Silence UBSAN uninitialized bool variable warning

Andi Shyti andi.shyti at linux.intel.com
Mon May 15 09:57:19 UTC 2023


Hi Ashutosh,

On Fri, May 12, 2023 at 01:37:35PM -0700, Ashutosh Dixit wrote:
> Loading i915 on UBSAN enabled kernels (CONFIG_UBSAN/CONFIG_UBSAN_BOOL)
> causes the following warning:
> 
>   UBSAN: invalid-load in drivers/gpu/drm/i915/gt/uc/intel_uc.c:558:2
>   load of value 255 is not a valid value for type '_Bool'
>   Call Trace:
>    dump_stack_lvl+0x57/0x7d
>    ubsan_epilogue+0x5/0x40
>    __ubsan_handle_load_invalid_value.cold+0x43/0x48
>    __uc_init_hw+0x76a/0x903 [i915]
>    ...
>    i915_driver_probe+0xfb1/0x1eb0 [i915]
>    i915_pci_probe+0xbe/0x2d0 [i915]
> 
> The warning happens because during probe i915_hwmon is still not available
> which results in the output boolean variable *old remaining
> uninitialized. Silence the warning by initializing the variable to an
> arbitrary value.
> 
> v2: Move variable initialization to the declaration (Andi)
> 
> Signed-off-by: Ashutosh Dixit <ashutosh.dixit at intel.com>
> Reviewed-by: Andi Shyti <andi.shyti at linux.intel.com>
> Reviewed-by: Andrzej Hajda <andrzej.hajda at intel.com>

pushed in drm-intel-gt-next.

Thanks,
Andi

> ---
>  drivers/gpu/drm/i915/gt/uc/intel_uc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc.c b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> index 1381943b8973d..c8b9cbb7ba3a9 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc.c
> @@ -465,7 +465,7 @@ static int __uc_init_hw(struct intel_uc *uc)
>  	struct intel_guc *guc = &uc->guc;
>  	struct intel_huc *huc = &uc->huc;
>  	int ret, attempts;
> -	bool pl1en;
> +	bool pl1en = false;
>  
>  	GEM_BUG_ON(!intel_uc_supports_guc(uc));
>  	GEM_BUG_ON(!intel_uc_wants_guc(uc));
> -- 
> 2.38.0


More information about the dri-devel mailing list