[PATCH -next] posix-clock: Fix missing put_clock_desc()

Jinjie Ruan posted 1 patch 1 month, 1 week ago
kernel/time/posix-clock.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH -next] posix-clock: Fix missing put_clock_desc()
Posted by Jinjie Ruan 1 month, 1 week ago
After get_clock_desc(), it should call put_clock_desc()
if timespec64_valid_strict() check fails, put it ahead to avoid this.

Fixes: d8794ac20a29 ("posix-clock: Fix missing timespec64 check in pc_clock_settime()")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
---
 kernel/time/posix-clock.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/time/posix-clock.c b/kernel/time/posix-clock.c
index 316a4e8c97d3..1af0bb2cc45c 100644
--- a/kernel/time/posix-clock.c
+++ b/kernel/time/posix-clock.c
@@ -309,6 +309,9 @@ static int pc_clock_settime(clockid_t id, const struct timespec64 *ts)
 	struct posix_clock_desc cd;
 	int err;
 
+	if (!timespec64_valid_strict(ts))
+		return -EINVAL;
+
 	err = get_clock_desc(id, &cd);
 	if (err)
 		return err;
@@ -318,9 +321,6 @@ static int pc_clock_settime(clockid_t id, const struct timespec64 *ts)
 		goto out;
 	}
 
-	if (!timespec64_valid_strict(ts))
-		return -EINVAL;
-
 	if (cd.clk->ops.clock_settime)
 		err = cd.clk->ops.clock_settime(cd.clk, ts);
 	else
-- 
2.34.1
Re: [PATCH -next] posix-clock: Fix missing put_clock_desc()
Posted by Anna-Maria Behnsen 1 month, 1 week ago
Hi,

Jinjie Ruan <ruanjinjie@huawei.com> writes:

> After get_clock_desc(), it should call put_clock_desc()
> if timespec64_valid_strict() check fails, put it ahead to avoid this.

Can you please rewrite the commit message so that it uses full sentences
and shortly explain the problem why get/put pair is required here? For
the subject I would propose to change it to: "posix-clock: Fix
unbalanced locking in pc_clock_settime()'.

The patch is no longer against next, as the change is already part of
linus tree.

The change itself looks good.

Thanks,

	Anna-Maria
Re: [PATCH -next] posix-clock: Fix missing put_clock_desc()
Posted by Richard Cochran 1 month, 1 week ago
On Thu, Oct 17, 2024 at 09:32:49PM +0800, Jinjie Ruan wrote:
> After get_clock_desc(), it should call put_clock_desc()
> if timespec64_valid_strict() check fails, put it ahead to avoid this.
> 
> Fixes: d8794ac20a29 ("posix-clock: Fix missing timespec64 check in pc_clock_settime()")
> Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>

Nice catch!

Acked-by: Richard Cochran <richardcochran@gmail.com>