|
@@ -203,7 +203,7 @@ int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate)
|
|
|
{
|
|
|
const struct lwtunnel_encap_ops *ops;
|
|
|
struct nlattr *nest;
|
|
|
- int ret = -EINVAL;
|
|
|
+ int ret;
|
|
|
|
|
|
if (!lwtstate)
|
|
|
return 0;
|
|
@@ -212,10 +212,11 @@ int lwtunnel_fill_encap(struct sk_buff *skb, struct lwtunnel_state *lwtstate)
|
|
|
lwtstate->type > LWTUNNEL_ENCAP_MAX)
|
|
|
return 0;
|
|
|
|
|
|
- ret = -EOPNOTSUPP;
|
|
|
nest = nla_nest_start(skb, RTA_ENCAP);
|
|
|
if (!nest)
|
|
|
- goto nla_put_failure;
|
|
|
+ return -EMSGSIZE;
|
|
|
+
|
|
|
+ ret = -EOPNOTSUPP;
|
|
|
rcu_read_lock();
|
|
|
ops = rcu_dereference(lwtun_encaps[lwtstate->type]);
|
|
|
if (likely(ops && ops->fill_encap))
|