fs/proc/array.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
task_sig() already wraps the SigQ rlimit read in an explicit RCU
read-side critical section. Drop the stale FIXME comment and keep using
task_ucounts() for the ucounts access.
No functional change.
Signed-off-by: Jaime Saguillo Revilla <jaime.saguillo@gmail.com>
---
fs/proc/array.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/proc/array.c b/fs/proc/array.c
index f447e734612a..90fb0c6b5f99 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -280,7 +280,7 @@ static inline void task_sig(struct seq_file *m, struct task_struct *p)
blocked = p->blocked;
collect_sigign_sigcatch(p, &ignored, &caught);
num_threads = get_nr_threads(p);
- rcu_read_lock(); /* FIXME: is this correct? */
+ rcu_read_lock();
qsize = get_rlimit_value(task_ucounts(p), UCOUNT_RLIMIT_SIGPENDING);
rcu_read_unlock();
qlim = task_rlimit(p, RLIMIT_SIGPENDING);
--
2.34.1
On 02/15, Jaime Saguillo Revilla wrote: > task_sig() already wraps the SigQ rlimit read in an explicit RCU > read-side critical section. Drop the stale FIXME comment and keep using > task_ucounts() for the ucounts access. > > No functional change. > > Signed-off-by: Jaime Saguillo Revilla <jaime.saguillo@gmail.com> > --- > fs/proc/array.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/proc/array.c b/fs/proc/array.c > index f447e734612a..90fb0c6b5f99 100644 > --- a/fs/proc/array.c > +++ b/fs/proc/array.c > @@ -280,7 +280,7 @@ static inline void task_sig(struct seq_file *m, struct task_struct *p) > blocked = p->blocked; > collect_sigign_sigcatch(p, &ignored, &caught); > num_threads = get_nr_threads(p); > - rcu_read_lock(); /* FIXME: is this correct? */ > + rcu_read_lock(); > qsize = get_rlimit_value(task_ucounts(p), UCOUNT_RLIMIT_SIGPENDING); I think that task_ucounts/rcu interaction need cleanups, I'll try to do this next week(s)... But as for this change I agree: the code is correct and "FIXME' adds the unnecessary confusion. Acked-by: Oleg Nesterov <oleg@redhat.com>
Thanks, Oleg, for the review and Ack. I’ll watch for the task_ucounts/RCU cleanup. Thanks, Jaime On Sun, 15 Feb 2026 at 15:55, Oleg Nesterov <oleg@redhat.com> wrote: > > On 02/15, Jaime Saguillo Revilla wrote: > > task_sig() already wraps the SigQ rlimit read in an explicit RCU > > read-side critical section. Drop the stale FIXME comment and keep using > > task_ucounts() for the ucounts access. > > > > No functional change. > > > > Signed-off-by: Jaime Saguillo Revilla <jaime.saguillo@gmail.com> > > --- > > fs/proc/array.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/fs/proc/array.c b/fs/proc/array.c > > index f447e734612a..90fb0c6b5f99 100644 > > --- a/fs/proc/array.c > > +++ b/fs/proc/array.c > > @@ -280,7 +280,7 @@ static inline void task_sig(struct seq_file *m, struct task_struct *p) > > blocked = p->blocked; > > collect_sigign_sigcatch(p, &ignored, &caught); > > num_threads = get_nr_threads(p); > > - rcu_read_lock(); /* FIXME: is this correct? */ > > + rcu_read_lock(); > > qsize = get_rlimit_value(task_ucounts(p), UCOUNT_RLIMIT_SIGPENDING); > > I think that task_ucounts/rcu interaction need cleanups, I'll try to do > this next week(s)... > > But as for this change I agree: the code is correct and "FIXME' adds the > unnecessary confusion. > > Acked-by: Oleg Nesterov <oleg@redhat.com> >
© 2016 - 2026 Red Hat, Inc.