From: Josef Bacik <jba...@fb.com> Date: Tue, 20 Dec 2016 15:07:00 -0500
> The only difference between inet6_csk_bind_conflict and inet_csk_bind_conflict > is how they check the rcv_saddr. Since we want to be able to check the saddr > in > other places just drop the protocol specific ->bind_conflict and replace it > with > ->rcv_saddr_equal, then make inet_csk_bind_conflict the one true bind conflict > function. > > Signed-off-by: Josef Bacik <jba...@fb.com> This may be a nice cleanup and all, but realize that if we do actually have to traverse a lot of sockets this code has become significantly slower. We now have to execute a hard to predict indirect call for every socket we process on the list. This is almost certainly why we had two seperate functions expanded rather than having an AF-specific helper execute in the inner loop of a generic function.