Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] liveupdate: use scoped_guard for mutex in session operations
@ 2026-08-14  9:55 Chenghao Duan
  2026-08-14 14:10 ` Pratyush Yadav
  0 siblings, 1 reply; 3+ messages in thread
From: Chenghao Duan @ 2026-08-14  9:55 UTC (permalink / raw)
  To: pasha.tatashin, rppt, pratyush, graf, linux-kernel, linux-mm,
	kexec
  Cc: jianghaoran, duanchenghao

Replace manually paired mutex_lock/unlock with scoped_guard to align
with the coding style of the rest of the codebase and simplify locking
paths.

Signed-off-by: Chenghao Duan <duanchenghao@kylinos.cn>
---
 kernel/liveupdate/luo_session.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/kernel/liveupdate/luo_session.c b/kernel/liveupdate/luo_session.c
index f38b5b18f3f8..06307868a44e 100644
--- a/kernel/liveupdate/luo_session.c
+++ b/kernel/liveupdate/luo_session.c
@@ -290,9 +290,8 @@ static int luo_session_retrieve_fd(struct luo_session *session,
 	if (argp->fd < 0)
 		return argp->fd;
 
-	mutex_lock(&session->mutex);
-	err = luo_retrieve_file(&session->file_set, argp->token, &file);
-	mutex_unlock(&session->mutex);
+	scoped_guard(mutex, &session->mutex)
+		err = luo_retrieve_file(&session->file_set, argp->token, &file);
 	if (err < 0)
 		goto err_put_fd;
 
@@ -478,9 +477,8 @@ int luo_session_create(const char *name, struct file **filep)
 	if (err)
 		goto err_free;
 
-	mutex_lock(&session->mutex);
-	err = luo_session_getfile(session, filep);
-	mutex_unlock(&session->mutex);
+	scoped_guard(mutex, &session->mutex)
+		err = luo_session_getfile(session, filep);
 	if (err)
 		goto err_remove;
 	up_read(&luo_session_serialize_rwsem);
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] liveupdate: use scoped_guard for mutex in session operations
  2026-08-14  9:55 [PATCH] liveupdate: use scoped_guard for mutex in session operations Chenghao Duan
@ 2026-08-14 14:10 ` Pratyush Yadav
  2026-08-17  2:51   ` Chenghao Duan
  0 siblings, 1 reply; 3+ messages in thread
From: Pratyush Yadav @ 2026-08-14 14:10 UTC (permalink / raw)
  To: Chenghao Duan
  Cc: pasha.tatashin, rppt, pratyush, graf, linux-kernel, linux-mm,
	kexec, jianghaoran

On Fri, Aug 14 2026, Chenghao Duan wrote:

> Replace manually paired mutex_lock/unlock with scoped_guard to align
> with the coding style of the rest of the codebase and simplify locking
> paths.

No. This is done explicitly because we don't want to mix gotos with the
automatic cleanup-style locking. I don't think we should change this.

[...]

-- 
Regards,
Pratyush Yadav


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] liveupdate: use scoped_guard for mutex in session operations
  2026-08-14 14:10 ` Pratyush Yadav
@ 2026-08-17  2:51   ` Chenghao Duan
  0 siblings, 0 replies; 3+ messages in thread
From: Chenghao Duan @ 2026-08-17  2:51 UTC (permalink / raw)
  To: Pratyush Yadav
  Cc: pasha.tatashin, rppt, graf, linux-kernel, linux-mm, kexec,
	jianghaoran

On Fri, Aug 14, 2026 at 04:10:34PM +0200, Pratyush Yadav wrote:
> On Fri, Aug 14 2026, Chenghao Duan wrote:
> 
> > Replace manually paired mutex_lock/unlock with scoped_guard to align
> > with the coding style of the rest of the codebase and simplify locking
> > paths.
> 
> No. This is done explicitly because we don't want to mix gotos with the
> automatic cleanup-style locking. I don't think we should change this.
> 

Thank you for the clarification. I understand your concern about mixing
`goto`-based error handling with automatic cleanup-style locking.

I was wondering if these particular cases might still be suitable for
using `scoped_guard()`. The patch only changes two manually paired mutex
lock/unlock instances, and in both cases, the guard scope is limited to
the operation that requires the mutex. The lock is released before the
subsequent error-handling logic is executed, so the `goto` paths do not
cross the scope of the guard.

We could also use an explicit `scoped_guard { ... }` scope to make the
lifetime of the guard more obvious and easier to review.

Of course, I may be missing some broader considerations. If there are
other reasons why these cases should retain the explicit lock/unlock
pattern, I would be happy to follow your guidance.

Regards,
Chenghao

> [...]
> 
> -- 
> Regards,
> Pratyush Yadav


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-17  2:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-14  9:55 [PATCH] liveupdate: use scoped_guard for mutex in session operations Chenghao Duan
2026-08-14 14:10 ` Pratyush Yadav
2026-08-17  2:51   ` Chenghao Duan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox