On 2/25/19 9:39 AM, Eric Dumazet wrote: > > > On 02/25/2019 12:17 AM, Hangbin Liu wrote: >> On Sun, Feb 24, 2019 at 08:24:51PM -0800, Eric Dumazet wrote: >>> >>> >>> On 02/24/2019 08:12 PM, Hangbin Liu wrote: >>>> ipv6_mod_enabled() is more safe and gentle to check if ipv6 is disabled >>>> at running time. >>>> >>> >>> >>> Why is it better exactly ? >>> >>> IPv6 can be enabled on the host, but disabled per device >>> >>> /proc/sys/net/ipv6/conf/{name}/disable_ipv6 >> >> Sorry, it looks I didn't make it clear in the commit description. >> This issue only occurs when IPv6 is disabled at boot time as there is >> no IPv6 route entry. Disable ipv6 on specific interface is not affected. >> So check ipv6_mod_enabled() is enough and we don't need to worry about >> the rcu_read_lock or the dev status. >> >> Should I update the commit description? > > Certainly. Are you telling us skb->dev could be NULL here ? > > Because rcu_read_lock() should already be asserted. >
Same response as geneve. The existing check is more appropriate and relevant for the code path: is ipv6 enabled on this device versus is ipv6 enabled at all.