ipmr: convert /proc handlers to rcu_read_lock()

We can use standard rcu_read_lock(), to get rid
of last read_lock(&mrt_lock) call points.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Eric Dumazet 2022-06-23 04:34:47 +00:00 committed by David S. Miller
parent 194366b28b
commit b96ef16d2f
2 changed files with 8 additions and 8 deletions

View File

@ -2895,7 +2895,7 @@ out:
*/ */
static void *ipmr_vif_seq_start(struct seq_file *seq, loff_t *pos) static void *ipmr_vif_seq_start(struct seq_file *seq, loff_t *pos)
__acquires(mrt_lock) __acquires(RCU)
{ {
struct mr_vif_iter *iter = seq->private; struct mr_vif_iter *iter = seq->private;
struct net *net = seq_file_net(seq); struct net *net = seq_file_net(seq);
@ -2907,14 +2907,14 @@ static void *ipmr_vif_seq_start(struct seq_file *seq, loff_t *pos)
iter->mrt = mrt; iter->mrt = mrt;
read_lock(&mrt_lock); rcu_read_lock();
return mr_vif_seq_start(seq, pos); return mr_vif_seq_start(seq, pos);
} }
static void ipmr_vif_seq_stop(struct seq_file *seq, void *v) static void ipmr_vif_seq_stop(struct seq_file *seq, void *v)
__releases(mrt_lock) __releases(RCU)
{ {
read_unlock(&mrt_lock); rcu_read_unlock();
} }
static int ipmr_vif_seq_show(struct seq_file *seq, void *v) static int ipmr_vif_seq_show(struct seq_file *seq, void *v)

View File

@ -404,7 +404,7 @@ static void ip6mr_free_table(struct mr_table *mrt)
*/ */
static void *ip6mr_vif_seq_start(struct seq_file *seq, loff_t *pos) static void *ip6mr_vif_seq_start(struct seq_file *seq, loff_t *pos)
__acquires(mrt_lock) __acquires(RCU)
{ {
struct mr_vif_iter *iter = seq->private; struct mr_vif_iter *iter = seq->private;
struct net *net = seq_file_net(seq); struct net *net = seq_file_net(seq);
@ -416,14 +416,14 @@ static void *ip6mr_vif_seq_start(struct seq_file *seq, loff_t *pos)
iter->mrt = mrt; iter->mrt = mrt;
read_lock(&mrt_lock); rcu_read_lock();
return mr_vif_seq_start(seq, pos); return mr_vif_seq_start(seq, pos);
} }
static void ip6mr_vif_seq_stop(struct seq_file *seq, void *v) static void ip6mr_vif_seq_stop(struct seq_file *seq, void *v)
__releases(mrt_lock) __releases(RCU)
{ {
read_unlock(&mrt_lock); rcu_read_unlock();
} }
static int ip6mr_vif_seq_show(struct seq_file *seq, void *v) static int ip6mr_vif_seq_show(struct seq_file *seq, void *v)