Message ID | 1345184349-5849-1-git-send-email-fan.du@windriver.com |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
I already applied your patch, as I told you here: http://marc.info/?l=linux-netdev&m=134517122805719&w=2 This means you are submitting a patch which doesn't not even apply to the net-next tree. Instead of continuing to dig yourself deeper and deeper, take a break, take a deep breath, and work slowly and carefully. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 2012年08月17日 14:24, David Miller wrote: > > I already applied your patch, as I told you here: > > http://marc.info/?l=linux-netdev&m=134517122805719&w=2 > > This means you are submitting a patch which doesn't not even apply > to the net-next tree. > > Instead of continuing to dig yourself deeper and deeper, take a > break, take a deep breath, and work slowly and carefully. > OK, thanks for your kind guidance :)
On Thu, 2012-08-16 at 23:24 -0700, David Miller wrote: > I already applied your patch, as I told you here: > > http://marc.info/?l=linux-netdev&m=134517122805719&w=2 > > This means you are submitting a patch which doesn't not even apply > to the net-next tree. > > Instead of continuing to dig yourself deeper and deeper, take a > break, take a deep breath, and work slowly and carefully. > -- BTW, we (incorrectly ?) mix RCU and RCU_BH in this file, and since we use synchronize_rcu() anyway, we should/could use rcu_read_lock() everywhere we can, as this is less expensive (currently inlined at least on x86) than rcu_read_lock_bh() I'll send a cleanup patch on a separate thread -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index 5ad4d2c..6405764 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c @@ -2501,11 +2501,11 @@ static void __net_init xfrm_dst_ops_init(struct net *net) struct xfrm_policy_afinfo *afinfo; rcu_read_lock_bh(); - afinfo = rcu_dereference(xfrm_policy_afinfo[AF_INET]); + afinfo = rcu_dereference_bh(xfrm_policy_afinfo[AF_INET]); if (afinfo) net->xfrm.xfrm4_dst_ops = *afinfo->dst_ops; #if IS_ENABLED(CONFIG_IPV6) - afinfo = rcu_dereference(xfrm_policy_afinfo[AF_INET6]); + afinfo = rcu_dereference_bh(xfrm_policy_afinfo[AF_INET6]); if (afinfo) net->xfrm.xfrm6_dst_ops = *afinfo->dst_ops; #endif