net/sched: act_tunnel_key: disambiguate metadata dst error cases
Metadata may be NULL for one of two reasons: * Missing user input * Failure to allocate the metadata dst Disambiguate these case by returning -EINVAL for the former and -ENOMEM for the latter rather than -EINVAL for both cases. This is in preparation for using extended ack to provide more information to users when parsing their input. Signed-off-by: Simon Horman <simon.horman@netronome.com> Reviewed-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c90d160487
commit
a1165b5919
|
@ -143,10 +143,13 @@ static int tunnel_key_init(struct net *net, struct nlattr *nla,
|
|||
metadata = __ipv6_tun_set_dst(&saddr, &daddr, 0, 0, dst_port,
|
||||
0, flags,
|
||||
key_id, 0);
|
||||
} else {
|
||||
ret = -EINVAL;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
if (!metadata) {
|
||||
ret = -EINVAL;
|
||||
ret = -ENOMEM;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue