diff options
author | Edward Adam Davis <eadavis@qq.com> | 2023-11-07 16:00:40 +0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-11-08 18:47:07 -0800 |
commit | b714ca2ccf6a90733f6ceb14abb6ce914f8832c3 (patch) | |
tree | e594f02b1a2cd81e1fc59b0671a622c64ed4f199 /drivers/ptp | |
parent | 9b818a340c0024f8b8f36a5f8e8b4eea3afa9a77 (diff) |
ptp: ptp_read should not release queue
Firstly, queue is not the memory allocated in ptp_read;
Secondly, other processes may block at ptp_read and wait for conditions to be
met to perform read operations.
Acked-by: Richard Cochran <richardcochran@gmail.com>
Reported-and-tested-by: syzbot+df3f3ef31f60781fa911@syzkaller.appspotmail.com
Fixes: 8f5de6fb2453 ("ptp: support multiple timestamp event readers")
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Link: https://lore.kernel.org/r/tencent_18747D76F1675A3C633772960237544AAA09@qq.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/ptp')
-rw-r--r-- | drivers/ptp/ptp_chardev.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/ptp/ptp_chardev.c b/drivers/ptp/ptp_chardev.c index 282cd7d24077..27c1ef493617 100644 --- a/drivers/ptp/ptp_chardev.c +++ b/drivers/ptp/ptp_chardev.c @@ -585,7 +585,5 @@ ssize_t ptp_read(struct posix_clock_context *pccontext, uint rdflags, free_event: kfree(event); exit: - if (result < 0) - ptp_release(pccontext); return result; } |