ipv4: Convert call_rcu() to kfree_rcu(), drop opt_kfree_rcu
The call_rcu() in do_ip_setsockopt() invokes opt_kfree_rcu(), which just calls kfree(). So convert the call_rcu() to kfree_rcu(), which allows opt_kfree_rcu() to be eliminated. Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: David S. Miller <davem@davemloft.net> Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> Cc: James Morris <jmorris@namei.org> Cc: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Cc: Patrick McHardy <kaber@trash.net> Cc: netdev@vger.kernel.org
This commit is contained in:
parent
4f9c8c1b09
commit
605b4afec8
1 changed files with 1 additions and 6 deletions
|
@ -445,11 +445,6 @@ out:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void opt_kfree_rcu(struct rcu_head *head)
|
|
||||||
{
|
|
||||||
kfree(container_of(head, struct ip_options_rcu, rcu));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Socket option code for IP. This is the end of the line after any
|
* Socket option code for IP. This is the end of the line after any
|
||||||
* TCP,UDP etc options on an IP socket.
|
* TCP,UDP etc options on an IP socket.
|
||||||
|
@ -525,7 +520,7 @@ static int do_ip_setsockopt(struct sock *sk, int level,
|
||||||
}
|
}
|
||||||
rcu_assign_pointer(inet->inet_opt, opt);
|
rcu_assign_pointer(inet->inet_opt, opt);
|
||||||
if (old)
|
if (old)
|
||||||
call_rcu(&old->rcu, opt_kfree_rcu);
|
kfree_rcu(old, rcu);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IP_PKTINFO:
|
case IP_PKTINFO:
|
||||||
|
|
Loading…
Add table
Reference in a new issue