* [BUG] fs/f2fs: a possible sleep-in-atomic bug in f2fs_trace_pid
@ 2017-12-12 0:59 Jia-Ju Bai
2017-12-12 2:00 ` Chao Yu
0 siblings, 1 reply; 3+ messages in thread
From: Jia-Ju Bai @ 2017-12-12 0:59 UTC (permalink / raw)
To: jaegeuk, yuchao0; +Cc: linux-f2fs-devel, Linux Kernel Mailing List
According to fs/f2fs/trace.c, the kernel module may sleep under a spinlock.
The function call path is:
f2fs_trace_pid (acquire the spinlock)
f2fs_radix_tree_insert
cond_resched --> may sleep
I do not find a good way to fix it, so I only report.
This possible bug is found by my static analysis tool (DSAC) and my code
review.
Thanks,
Jia-Ju Bai
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [BUG] fs/f2fs: a possible sleep-in-atomic bug in f2fs_trace_pid
2017-12-12 0:59 [BUG] fs/f2fs: a possible sleep-in-atomic bug in f2fs_trace_pid Jia-Ju Bai
@ 2017-12-12 2:00 ` Chao Yu
0 siblings, 0 replies; 3+ messages in thread
From: Chao Yu @ 2017-12-12 2:00 UTC (permalink / raw)
To: Jia-Ju Bai, jaegeuk; +Cc: linux-f2fs-devel, Linux Kernel Mailing List
Hi Jia-Ju,
Thanks for your report. :)
On 2017/12/12 8:59, Jia-Ju Bai wrote:
> According to fs/f2fs/trace.c, the kernel module may sleep under a spinlock.
> The function call path is:
> f2fs_trace_pid (acquire the spinlock)
> f2fs_radix_tree_insert
> cond_resched --> may sleep
>
> I do not find a good way to fix it, so I only report.
> This possible bug is found by my static analysis tool (DSAC) and my code
> review.
That's a known issue, and there are other problems in IO trace related codes,
so I want to refactor the code directly, you could check the code in below link:
https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=f2fs-dev&id=d895154be1733e2bd29c9e64b57e4e201f0e8a0c
But the patch still needs debugging so far. Since the IO trace feature is off
by default, I expect the impaction is limited, so I pend the debug job on this
patch.
Anyway, I think this issue you reported should be fixed first, let me make the
fixing part independent from original patch for fixing.
Thanks,
>
>
> Thanks,
> Jia-Ju Bai
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [BUG] fs/f2fs: a possible sleep-in-atomic bug in f2fs_trace_pid
@ 2017-12-12 2:00 ` Chao Yu
0 siblings, 0 replies; 3+ messages in thread
From: Chao Yu @ 2017-12-12 2:00 UTC (permalink / raw)
To: Jia-Ju Bai, jaegeuk; +Cc: linux-f2fs-devel, Linux Kernel Mailing List
Hi Jia-Ju,
Thanks for your report. :)
On 2017/12/12 8:59, Jia-Ju Bai wrote:
> According to fs/f2fs/trace.c, the kernel module may sleep under a spinlock.
> The function call path is:
> f2fs_trace_pid (acquire the spinlock)
> f2fs_radix_tree_insert
> cond_resched --> may sleep
>
> I do not find a good way to fix it, so I only report.
> This possible bug is found by my static analysis tool (DSAC) and my code
> review.
That's a known issue, and there are other problems in IO trace related codes,
so I want to refactor the code directly, you could check the code in below link:
https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=f2fs-dev&id=d895154be1733e2bd29c9e64b57e4e201f0e8a0c
But the patch still needs debugging so far. Since the IO trace feature is off
by default, I expect the impaction is limited, so I pend the debug job on this
patch.
Anyway, I think this issue you reported should be fixed first, let me make the
fixing part independent from original patch for fixing.
Thanks,
>
>
> Thanks,
> Jia-Ju Bai
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-12-12 2:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-12 0:59 [BUG] fs/f2fs: a possible sleep-in-atomic bug in f2fs_trace_pid Jia-Ju Bai
2017-12-12 2:00 ` Chao Yu
2017-12-12 2:00 ` Chao Yu
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.