Hi!

> From: Pieter Jansen van Vuuren <[email protected]>
> 
> [ Upstream commit cb07d915bf278a7a3938b983bbcb4921366b5eff ]
> 
> Add rcu locks when accessing netdev when processing route request
> and tunnel keep alive messages received from hardware.

>       /* Get the neighbour entry for the lookup */
>       n = dst_neigh_lookup(&rt->dst, &flow.daddr);
>       ip_rt_put(rt);
>       if (!n)
> -             goto route_fail_warning;
> -     nfp_tun_write_neigh(n->dev, app, &flow, n, GFP_KERNEL);
> +             goto fail_rcu_unlock;
> +     nfp_tun_write_neigh(n->dev, app, &flow, n, GFP_ATOMIC);
>       neigh_release(n);
> +     rcu_read_unlock();
>       return;


This will make allocations more likely to fail. I thought it is okay to sleep in
rcu lock critical sections...?
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Reply via email to