From: ZhaoJinming Date: Thu, 21 May 2026 13:08:48 +0000 (+0800) Subject: platform/x86/intel/tpmi: convert mutex in mem_write() to guard X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=6736b1801908acfa64ef2b651c5bb78389a8a4c6;p=thirdparty%2Fkernel%2Flinux.git platform/x86/intel/tpmi: convert mutex in mem_write() to guard Convert the explicit mutex_lock/mutex_unlock pair in mem_write() into a cleanup.h guard(mutex)() scope-based lock acquisition. This removes the remaining goto-based cleanup path and keeps the lock held until the end of the mem_write() scope. Suggested-by: Ilpo Järvinen Signed-off-by: ZhaoJinming Link: https://patch.msgid.link/20260521130848.2860219-2-zhaojinming@uniontech.com Reviewed-by: Ilpo Järvinen Signed-off-by: Ilpo Järvinen --- diff --git a/drivers/platform/x86/intel/vsec_tpmi.c b/drivers/platform/x86/intel/vsec_tpmi.c index 3b76cccb975f6..0153dd57838e7 100644 --- a/drivers/platform/x86/intel/vsec_tpmi.c +++ b/drivers/platform/x86/intel/vsec_tpmi.c @@ -504,24 +504,17 @@ static ssize_t mem_write(struct file *file, const char __user *userbuf, size_t l if (addr >= size) return -EINVAL; - mutex_lock(&tpmi_dev_lock); + guard(mutex)(&tpmi_dev_lock); mem = ioremap(pfs->vsec_offset + punit * size, size); - if (!mem) { - ret = -ENOMEM; - goto unlock_mem_write; - } + if (!mem) + return -ENOMEM; writel(value, mem + addr); iounmap(mem); - ret = len; - -unlock_mem_write: - mutex_unlock(&tpmi_dev_lock); - - return ret; + return len; } static int mem_write_show(struct seq_file *s, void *unused)