On 1/17/17 3:04 AM, Robert Shearman wrote: > Is it safe to release the rtnl lock here? E.g. neither fib_get_nhs nor > fib_create_info take a reference on the device and further up > inet_rtm_newroute has a pointer to the struct fib_table without taking a > reference.
fib tables can not be deleted so that reference is safe. You are right about the dev reference in the IPv4 path but the thing is build_state does not need the device reference. Roopa: do you recall why dev is passed to build_state? Nothing about the encap should require a device reference and none of the current encaps use it. > > Unfortunately, I think more invasive changes are required to solve this. I'm > happy to work on solving this. I have a patch that removes passing dev to build_state. Walking the remainder of the code I do not see any more references that would be affected by dropping rtnl here on the add path. Still looking at the delete path.