On Sun, 2025-09-07 at 15:42 +0200, Christophe JAILLET wrote: > Use devm_mutex_init() instead of hand-writing it. > > This saves some LoC, improves readability and saves some space in the > generated .o file. > > Before: > ====== > text data bss dec hex filename > 36884 10296 64 47244 b88c drivers/gpu/drm/xe/xe_hwmon.o > > After: > ===== > text data bss dec hex filename > 36651 10224 64 46939 b75b drivers/gpu/drm/xe/xe_hwmon.o > > Signed-off-by: Christophe JAILLET <christophe.jail...@wanadoo.fr> > --- > drivers/gpu/drm/xe/xe_hwmon.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_hwmon.c > b/drivers/gpu/drm/xe/xe_hwmon.c > index 32a76ae6e9dc..e65382d4426a 100644 > --- a/drivers/gpu/drm/xe/xe_hwmon.c > +++ b/drivers/gpu/drm/xe/xe_hwmon.c > @@ -1294,13 +1294,6 @@ xe_hwmon_get_preregistration_info(struct > xe_hwmon *hwmon) > xe_hwmon_fan_input_read(hwmon, channel, > &fan_speed); > } > > -static void xe_hwmon_mutex_destroy(void *arg) > -{ > - struct xe_hwmon *hwmon = arg; > - > - mutex_destroy(&hwmon->hwmon_lock); > -} > - > int xe_hwmon_register(struct xe_device *xe) > { > struct device *dev = xe->drm.dev; > @@ -1319,8 +1312,7 @@ int xe_hwmon_register(struct xe_device *xe) > if (!hwmon) > return -ENOMEM; > > - mutex_init(&hwmon->hwmon_lock); > - ret = devm_add_action_or_reset(dev, xe_hwmon_mutex_destroy, > hwmon); > + ret = devm_mutex_init(dev, &hwmon->hwmon_lock);
Thanks for the patch! Yes I agree this looks better. And we don't want to use drmm_mutex_init() here because, as was detailed in an earlier fix here, we can't mix devm_kzalloc with drmm_mutex_init or risk a uaf. Reviewed-by: Stuart Summers <stuart.summ...@intel.com> > if (ret) > return ret; >