Subject: Re: [RFC net-next 1/4] net: ipv6: Make inet6addr_validator a blocking notifier

From: Ido Schimmel <[email-masked]>
Date: Wed, 11 Oct 2017 16:08:45 +0300

On Tue, Oct 10, 2017 at 09:41:02AM -0700, David Ahern wrote:
> inet6addr_validator chain was added by commit 3ad7d2468f79f ("Ipvlan
> should return an error when an address is already in use") to allow
> address validation before changes are committed and to be able to
> fail the address change with an error back to the user. The address
> validation is not done for addresses received from router
> advertisements.
> 
> Handling RAs in softirq context is the only reason for the notifier
> chain to be atomic versus blocking. Since the only current user, ipvlan,
> of the validator chain ignores softirq context, the notifier can be made
> blocking and simply not invoked for softirq path.
> 
> The blocking option is needed by spectrum for example to validate
> resources for an adding an address to an interface.
> 
> Signed-off-by: David Ahern <[email-masked]>

With the fixup posted later:

Reviewed-by: Ido Schimmel <[email-masked]>

BTW, the in_softirq() check in ipvlan_addr6_validator_event() can be
removed after this patch.