mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
net: convert to nla_get_*_default()
Most of the original conversion is from the spatch below,
but I edited some and left out other instances that were
either buggy after conversion (where default values don't
fit into the type) or just looked strange.
@@
expression attr, def;
expression val;
identifier fn =~ "^nla_get_.*";
fresh identifier dfn = fn ## "_default";
@@
(
-if (attr)
- val = fn(attr);
-else
- val = def;
+val = dfn(attr, def);
|
-if (!attr)
- val = def;
-else
- val = fn(attr);
+val = dfn(attr, def);
|
-if (!attr)
- return def;
-return fn(attr);
+return dfn(attr, def);
|
-attr ? fn(attr) : def
+dfn(attr, def)
|
-!attr ? def : fn(attr)
+dfn(attr, def)
)
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Toke Høiland-Jørgensen <toke@kernel.org>
Link: https://patch.msgid.link/20241108114145.0580b8684e7f.I740beeaa2f70ebfc19bfca1045a24d6151992790@changeid
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
7f4b3960e5
commit
a885a6b2d3
@@ -3206,15 +3206,11 @@ static int amt_newlink(struct net *net, struct net_device *dev,
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (data[IFLA_AMT_RELAY_PORT])
|
||||
amt->relay_port = nla_get_be16(data[IFLA_AMT_RELAY_PORT]);
|
||||
else
|
||||
amt->relay_port = htons(IANA_AMT_UDP_PORT);
|
||||
amt->relay_port = nla_get_be16_default(data[IFLA_AMT_RELAY_PORT],
|
||||
htons(IANA_AMT_UDP_PORT));
|
||||
|
||||
if (data[IFLA_AMT_GATEWAY_PORT])
|
||||
amt->gw_port = nla_get_be16(data[IFLA_AMT_GATEWAY_PORT]);
|
||||
else
|
||||
amt->gw_port = htons(IANA_AMT_UDP_PORT);
|
||||
amt->gw_port = nla_get_be16_default(data[IFLA_AMT_GATEWAY_PORT],
|
||||
htons(IANA_AMT_UDP_PORT));
|
||||
|
||||
if (!amt->relay_port) {
|
||||
NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_AMT_DISCOVERY_IP],
|
||||
|
||||
@@ -1491,10 +1491,8 @@ static int gtp_newlink(struct net *src_net, struct net_device *dev,
|
||||
}
|
||||
gtp->role = role;
|
||||
|
||||
if (!data[IFLA_GTP_RESTART_COUNT])
|
||||
gtp->restart_count = 0;
|
||||
else
|
||||
gtp->restart_count = nla_get_u8(data[IFLA_GTP_RESTART_COUNT]);
|
||||
gtp->restart_count = nla_get_u8_default(data[IFLA_GTP_RESTART_COUNT],
|
||||
0);
|
||||
|
||||
gtp->net = src_net;
|
||||
|
||||
@@ -1829,10 +1827,7 @@ static struct pdp_ctx *gtp_pdp_add(struct gtp_dev *gtp, struct sock *sk,
|
||||
|
||||
version = nla_get_u32(info->attrs[GTPA_VERSION]);
|
||||
|
||||
if (info->attrs[GTPA_FAMILY])
|
||||
family = nla_get_u8(info->attrs[GTPA_FAMILY]);
|
||||
else
|
||||
family = AF_INET;
|
||||
family = nla_get_u8_default(info->attrs[GTPA_FAMILY], AF_INET);
|
||||
|
||||
#if !IS_ENABLED(CONFIG_IPV6)
|
||||
if (family == AF_INET6)
|
||||
@@ -2069,10 +2064,7 @@ static struct pdp_ctx *gtp_find_pdp_by_link(struct net *net,
|
||||
struct gtp_dev *gtp;
|
||||
int family;
|
||||
|
||||
if (nla[GTPA_FAMILY])
|
||||
family = nla_get_u8(nla[GTPA_FAMILY]);
|
||||
else
|
||||
family = AF_INET;
|
||||
family = nla_get_u8_default(nla[GTPA_FAMILY], AF_INET);
|
||||
|
||||
gtp = gtp_find_dev(net, nla);
|
||||
if (!gtp)
|
||||
|
||||
@@ -4299,9 +4299,9 @@ static int macsec_validate_attr(struct nlattr *tb[], struct nlattr *data[],
|
||||
}
|
||||
}
|
||||
|
||||
es = data[IFLA_MACSEC_ES] ? nla_get_u8(data[IFLA_MACSEC_ES]) : false;
|
||||
sci = data[IFLA_MACSEC_INC_SCI] ? nla_get_u8(data[IFLA_MACSEC_INC_SCI]) : false;
|
||||
scb = data[IFLA_MACSEC_SCB] ? nla_get_u8(data[IFLA_MACSEC_SCB]) : false;
|
||||
es = nla_get_u8_default(data[IFLA_MACSEC_ES], false);
|
||||
sci = nla_get_u8_default(data[IFLA_MACSEC_INC_SCI], false);
|
||||
scb = nla_get_u8_default(data[IFLA_MACSEC_SCB], false);
|
||||
|
||||
if ((sci && (scb || es)) || (scb && es))
|
||||
return -EINVAL;
|
||||
|
||||
@@ -1232,10 +1232,7 @@ static int vxlan_fdb_parse(struct nlattr *tb[], struct vxlan_dev *vxlan,
|
||||
*ifindex = 0;
|
||||
}
|
||||
|
||||
if (tb[NDA_NH_ID])
|
||||
*nhid = nla_get_u32(tb[NDA_NH_ID]);
|
||||
else
|
||||
*nhid = 0;
|
||||
*nhid = nla_get_u32_default(tb[NDA_NH_ID], 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -161,10 +161,8 @@ static int vlan_newlink(struct net *src_net, struct net_device *dev,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (data[IFLA_VLAN_PROTOCOL])
|
||||
proto = nla_get_be16(data[IFLA_VLAN_PROTOCOL]);
|
||||
else
|
||||
proto = htons(ETH_P_8021Q);
|
||||
proto = nla_get_be16_default(data[IFLA_VLAN_PROTOCOL],
|
||||
htons(ETH_P_8021Q));
|
||||
|
||||
vlan->vlan_proto = proto;
|
||||
vlan->vlan_id = nla_get_u16(data[IFLA_VLAN_ID]);
|
||||
|
||||
@@ -558,8 +558,7 @@ static int fib_nl2rule(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
nlrule->pref = fib_default_rule_pref(ops);
|
||||
}
|
||||
|
||||
nlrule->proto = tb[FRA_PROTOCOL] ?
|
||||
nla_get_u8(tb[FRA_PROTOCOL]) : RTPROT_UNSPEC;
|
||||
nlrule->proto = nla_get_u8_default(tb[FRA_PROTOCOL], RTPROT_UNSPEC);
|
||||
|
||||
if (tb[FRA_IIFNAME]) {
|
||||
struct net_device *dev;
|
||||
|
||||
@@ -2940,10 +2940,7 @@ static int do_setlink(const struct sk_buff *skb, struct net_device *dev,
|
||||
const char *pat = ifname[0] ? ifname : NULL;
|
||||
int new_ifindex;
|
||||
|
||||
if (tb[IFLA_NEW_IFINDEX])
|
||||
new_ifindex = nla_get_s32(tb[IFLA_NEW_IFINDEX]);
|
||||
else
|
||||
new_ifindex = 0;
|
||||
new_ifindex = nla_get_s32_default(tb[IFLA_NEW_IFINDEX], 0);
|
||||
|
||||
err = __dev_change_net_namespace(dev, tgt_net, pat, new_ifindex);
|
||||
if (err)
|
||||
|
||||
@@ -531,10 +531,8 @@ int devlink_nl_reload_doit(struct sk_buff *skb, struct genl_info *info)
|
||||
return err;
|
||||
}
|
||||
|
||||
if (info->attrs[DEVLINK_ATTR_RELOAD_ACTION])
|
||||
action = nla_get_u8(info->attrs[DEVLINK_ATTR_RELOAD_ACTION]);
|
||||
else
|
||||
action = DEVLINK_RELOAD_ACTION_DRIVER_REINIT;
|
||||
action = nla_get_u8_default(info->attrs[DEVLINK_ATTR_RELOAD_ACTION],
|
||||
DEVLINK_RELOAD_ACTION_DRIVER_REINIT);
|
||||
|
||||
if (!devlink_reload_action_is_supported(devlink, action)) {
|
||||
NL_SET_ERR_MSG(info->extack, "Requested reload action is not supported by the driver");
|
||||
|
||||
@@ -82,10 +82,7 @@ static int hsr_newlink(struct net *src_net, struct net_device *dev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!data[IFLA_HSR_MULTICAST_SPEC])
|
||||
multicast_spec = 0;
|
||||
else
|
||||
multicast_spec = nla_get_u8(data[IFLA_HSR_MULTICAST_SPEC]);
|
||||
multicast_spec = nla_get_u8_default(data[IFLA_HSR_MULTICAST_SPEC], 0);
|
||||
|
||||
if (data[IFLA_HSR_PROTOCOL])
|
||||
proto = nla_get_u8(data[IFLA_HSR_PROTOCOL]);
|
||||
|
||||
@@ -202,10 +202,7 @@ int ieee802154_associate_req(struct sk_buff *skb, struct genl_info *info)
|
||||
addr.pan_id = nla_get_shortaddr(
|
||||
info->attrs[IEEE802154_ATTR_COORD_PAN_ID]);
|
||||
|
||||
if (info->attrs[IEEE802154_ATTR_PAGE])
|
||||
page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]);
|
||||
else
|
||||
page = 0;
|
||||
page = nla_get_u8_default(info->attrs[IEEE802154_ATTR_PAGE], 0);
|
||||
|
||||
ret = ieee802154_mlme_ops(dev)->assoc_req(dev, &addr,
|
||||
nla_get_u8(info->attrs[IEEE802154_ATTR_CHANNEL]),
|
||||
@@ -338,10 +335,7 @@ int ieee802154_start_req(struct sk_buff *skb, struct genl_info *info)
|
||||
blx = nla_get_u8(info->attrs[IEEE802154_ATTR_BAT_EXT]);
|
||||
coord_realign = nla_get_u8(info->attrs[IEEE802154_ATTR_COORD_REALIGN]);
|
||||
|
||||
if (info->attrs[IEEE802154_ATTR_PAGE])
|
||||
page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]);
|
||||
else
|
||||
page = 0;
|
||||
page = nla_get_u8_default(info->attrs[IEEE802154_ATTR_PAGE], 0);
|
||||
|
||||
if (addr.short_addr == cpu_to_le16(IEEE802154_ADDR_BROADCAST)) {
|
||||
ieee802154_nl_start_confirm(dev, IEEE802154_NO_SHORT_ADDRESS);
|
||||
@@ -388,10 +382,7 @@ int ieee802154_scan_req(struct sk_buff *skb, struct genl_info *info)
|
||||
channels = nla_get_u32(info->attrs[IEEE802154_ATTR_CHANNELS]);
|
||||
duration = nla_get_u8(info->attrs[IEEE802154_ATTR_DURATION]);
|
||||
|
||||
if (info->attrs[IEEE802154_ATTR_PAGE])
|
||||
page = nla_get_u8(info->attrs[IEEE802154_ATTR_PAGE]);
|
||||
else
|
||||
page = 0;
|
||||
page = nla_get_u8_default(info->attrs[IEEE802154_ATTR_PAGE], 0);
|
||||
|
||||
ret = ieee802154_mlme_ops(dev)->scan_req(dev, type, channels,
|
||||
page, duration);
|
||||
|
||||
@@ -1438,22 +1438,18 @@ static int nl802154_trigger_scan(struct sk_buff *skb, struct genl_info *info)
|
||||
}
|
||||
|
||||
/* Use current page by default */
|
||||
if (info->attrs[NL802154_ATTR_PAGE])
|
||||
request->page = nla_get_u8(info->attrs[NL802154_ATTR_PAGE]);
|
||||
else
|
||||
request->page = wpan_phy->current_page;
|
||||
request->page = nla_get_u8_default(info->attrs[NL802154_ATTR_PAGE],
|
||||
wpan_phy->current_page);
|
||||
|
||||
/* Scan all supported channels by default */
|
||||
if (info->attrs[NL802154_ATTR_SCAN_CHANNELS])
|
||||
request->channels = nla_get_u32(info->attrs[NL802154_ATTR_SCAN_CHANNELS]);
|
||||
else
|
||||
request->channels = wpan_phy->supported.channels[request->page];
|
||||
request->channels =
|
||||
nla_get_u32_default(info->attrs[NL802154_ATTR_SCAN_CHANNELS],
|
||||
wpan_phy->supported.channels[request->page]);
|
||||
|
||||
/* Use maximum duration order by default */
|
||||
if (info->attrs[NL802154_ATTR_SCAN_DURATION])
|
||||
request->duration = nla_get_u8(info->attrs[NL802154_ATTR_SCAN_DURATION]);
|
||||
else
|
||||
request->duration = IEEE802154_MAX_SCAN_DURATION;
|
||||
request->duration =
|
||||
nla_get_u8_default(info->attrs[NL802154_ATTR_SCAN_DURATION],
|
||||
IEEE802154_MAX_SCAN_DURATION);
|
||||
|
||||
err = rdev_trigger_scan(rdev, request);
|
||||
if (err) {
|
||||
@@ -1598,10 +1594,8 @@ nl802154_send_beacons(struct sk_buff *skb, struct genl_info *info)
|
||||
request->wpan_phy = wpan_phy;
|
||||
|
||||
/* Use maximum duration order by default */
|
||||
if (info->attrs[NL802154_ATTR_BEACON_INTERVAL])
|
||||
request->interval = nla_get_u8(info->attrs[NL802154_ATTR_BEACON_INTERVAL]);
|
||||
else
|
||||
request->interval = IEEE802154_MAX_SCAN_DURATION;
|
||||
request->interval = nla_get_u8_default(info->attrs[NL802154_ATTR_BEACON_INTERVAL],
|
||||
IEEE802154_MAX_SCAN_DURATION);
|
||||
|
||||
err = rdev_send_beacons(rdev, request);
|
||||
if (err) {
|
||||
|
||||
@@ -926,8 +926,7 @@ static struct in_ifaddr *inet_rtm_to_ifa(struct net *net, struct nlmsghdr *nlh,
|
||||
|
||||
ifa->ifa_prefixlen = ifm->ifa_prefixlen;
|
||||
ifa->ifa_mask = inet_make_mask(ifm->ifa_prefixlen);
|
||||
ifa->ifa_flags = tb[IFA_FLAGS] ? nla_get_u32(tb[IFA_FLAGS]) :
|
||||
ifm->ifa_flags;
|
||||
ifa->ifa_flags = nla_get_u32_default(tb[IFA_FLAGS], ifm->ifa_flags);
|
||||
ifa->ifa_scope = ifm->ifa_scope;
|
||||
ifa->ifa_local = nla_get_in_addr(tb[IFA_LOCAL]);
|
||||
ifa->ifa_address = nla_get_in_addr(tb[IFA_ADDRESS]);
|
||||
|
||||
@@ -2546,9 +2546,9 @@ static int ipmr_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
|
||||
if (err < 0)
|
||||
goto errout;
|
||||
|
||||
src = tb[RTA_SRC] ? nla_get_in_addr(tb[RTA_SRC]) : 0;
|
||||
grp = tb[RTA_DST] ? nla_get_in_addr(tb[RTA_DST]) : 0;
|
||||
tableid = tb[RTA_TABLE] ? nla_get_u32(tb[RTA_TABLE]) : 0;
|
||||
src = nla_get_in_addr_default(tb[RTA_SRC], 0);
|
||||
grp = nla_get_in_addr_default(tb[RTA_DST], 0);
|
||||
tableid = nla_get_u32_default(tb[RTA_TABLE], 0);
|
||||
|
||||
mrt = ipmr_get_table(net, tableid ? tableid : RT_TABLE_DEFAULT);
|
||||
if (!mrt) {
|
||||
|
||||
@@ -3247,12 +3247,8 @@ static int nh_valid_get_del_req(const struct nlmsghdr *nlh,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (op_flags) {
|
||||
if (tb[NHA_OP_FLAGS])
|
||||
*op_flags = nla_get_u32(tb[NHA_OP_FLAGS]);
|
||||
else
|
||||
*op_flags = 0;
|
||||
}
|
||||
if (op_flags)
|
||||
*op_flags = nla_get_u32_default(tb[NHA_OP_FLAGS], 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -3433,10 +3429,7 @@ static int nh_valid_dump_req(const struct nlmsghdr *nlh,
|
||||
if (err < 0)
|
||||
return err;
|
||||
|
||||
if (tb[NHA_OP_FLAGS])
|
||||
filter->op_flags = nla_get_u32(tb[NHA_OP_FLAGS]);
|
||||
else
|
||||
filter->op_flags = 0;
|
||||
filter->op_flags = nla_get_u32_default(tb[NHA_OP_FLAGS], 0);
|
||||
|
||||
return __nh_valid_dump_req(nlh, tb, filter, cb->extack);
|
||||
}
|
||||
|
||||
@@ -3231,10 +3231,10 @@ static int inet_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
|
||||
return err;
|
||||
|
||||
rtm = nlmsg_data(nlh);
|
||||
src = tb[RTA_SRC] ? nla_get_in_addr(tb[RTA_SRC]) : 0;
|
||||
dst = tb[RTA_DST] ? nla_get_in_addr(tb[RTA_DST]) : 0;
|
||||
iif = tb[RTA_IIF] ? nla_get_u32(tb[RTA_IIF]) : 0;
|
||||
mark = tb[RTA_MARK] ? nla_get_u32(tb[RTA_MARK]) : 0;
|
||||
src = nla_get_in_addr_default(tb[RTA_SRC], 0);
|
||||
dst = nla_get_in_addr_default(tb[RTA_DST], 0);
|
||||
iif = nla_get_u32_default(tb[RTA_IIF], 0);
|
||||
mark = nla_get_u32_default(tb[RTA_MARK], 0);
|
||||
if (tb[RTA_UID])
|
||||
uid = make_kuid(current_user_ns(), nla_get_u32(tb[RTA_UID]));
|
||||
else
|
||||
@@ -3260,7 +3260,7 @@ static int inet_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
|
||||
fl4.daddr = dst;
|
||||
fl4.saddr = src;
|
||||
fl4.flowi4_tos = rtm->rtm_tos & INET_DSCP_MASK;
|
||||
fl4.flowi4_oif = tb[RTA_OIF] ? nla_get_u32(tb[RTA_OIF]) : 0;
|
||||
fl4.flowi4_oif = nla_get_u32_default(tb[RTA_OIF], 0);
|
||||
fl4.flowi4_mark = mark;
|
||||
fl4.flowi4_uid = uid;
|
||||
if (sport)
|
||||
|
||||
@@ -4793,7 +4793,7 @@ inet6_rtm_deladdr(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
if (!pfx)
|
||||
return -EINVAL;
|
||||
|
||||
ifa_flags = tb[IFA_FLAGS] ? nla_get_u32(tb[IFA_FLAGS]) : ifm->ifa_flags;
|
||||
ifa_flags = nla_get_u32_default(tb[IFA_FLAGS], ifm->ifa_flags);
|
||||
|
||||
/* We ignore other flags so far. */
|
||||
ifa_flags &= IFA_F_MANAGETEMPADDR;
|
||||
@@ -5018,10 +5018,7 @@ inet6_rtm_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh,
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
if (tb[IFA_FLAGS])
|
||||
cfg.ifa_flags = nla_get_u32(tb[IFA_FLAGS]);
|
||||
else
|
||||
cfg.ifa_flags = ifm->ifa_flags;
|
||||
cfg.ifa_flags = nla_get_u32_default(tb[IFA_FLAGS], ifm->ifa_flags);
|
||||
|
||||
/* We ignore other flags so far. */
|
||||
cfg.ifa_flags &= IFA_F_NODAD | IFA_F_HOMEADDRESS |
|
||||
|
||||
@@ -105,16 +105,11 @@ static int parse_nl_config(struct genl_info *info,
|
||||
xp->ip.locator_match.v64 = (__force __be64)nla_get_u64(
|
||||
info->attrs[ILA_ATTR_LOCATOR_MATCH]);
|
||||
|
||||
if (info->attrs[ILA_ATTR_CSUM_MODE])
|
||||
xp->ip.csum_mode = nla_get_u8(info->attrs[ILA_ATTR_CSUM_MODE]);
|
||||
else
|
||||
xp->ip.csum_mode = ILA_CSUM_NO_ACTION;
|
||||
xp->ip.csum_mode = nla_get_u8_default(info->attrs[ILA_ATTR_CSUM_MODE],
|
||||
ILA_CSUM_NO_ACTION);
|
||||
|
||||
if (info->attrs[ILA_ATTR_IDENT_TYPE])
|
||||
xp->ip.ident_type = nla_get_u8(
|
||||
info->attrs[ILA_ATTR_IDENT_TYPE]);
|
||||
else
|
||||
xp->ip.ident_type = ILA_ATYPE_USE_FORMAT;
|
||||
xp->ip.ident_type = nla_get_u8_default(info->attrs[ILA_ATTR_IDENT_TYPE],
|
||||
ILA_ATYPE_USE_FORMAT);
|
||||
|
||||
if (info->attrs[ILA_ATTR_IFINDEX])
|
||||
xp->ifindex = nla_get_s32(info->attrs[ILA_ATTR_IFINDEX]);
|
||||
|
||||
@@ -135,15 +135,11 @@ static int ioam6_genl_addns(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
ns->id = id;
|
||||
|
||||
if (!info->attrs[IOAM6_ATTR_NS_DATA])
|
||||
data32 = IOAM6_U32_UNAVAILABLE;
|
||||
else
|
||||
data32 = nla_get_u32(info->attrs[IOAM6_ATTR_NS_DATA]);
|
||||
data32 = nla_get_u32_default(info->attrs[IOAM6_ATTR_NS_DATA],
|
||||
IOAM6_U32_UNAVAILABLE);
|
||||
|
||||
if (!info->attrs[IOAM6_ATTR_NS_DATA_WIDE])
|
||||
data64 = IOAM6_U64_UNAVAILABLE;
|
||||
else
|
||||
data64 = nla_get_u64(info->attrs[IOAM6_ATTR_NS_DATA_WIDE]);
|
||||
data64 = nla_get_u64_default(info->attrs[IOAM6_ATTR_NS_DATA_WIDE],
|
||||
IOAM6_U64_UNAVAILABLE);
|
||||
|
||||
ns->data = cpu_to_be32(data32);
|
||||
ns->data_wide = cpu_to_be64(data64);
|
||||
|
||||
@@ -142,10 +142,8 @@ static int ioam6_build_state(struct net *net, struct nlattr *nla,
|
||||
}
|
||||
}
|
||||
|
||||
if (!tb[IOAM6_IPTUNNEL_MODE])
|
||||
mode = IOAM6_IPTUNNEL_MODE_INLINE;
|
||||
else
|
||||
mode = nla_get_u8(tb[IOAM6_IPTUNNEL_MODE]);
|
||||
mode = nla_get_u8_default(tb[IOAM6_IPTUNNEL_MODE],
|
||||
IOAM6_IPTUNNEL_MODE_INLINE);
|
||||
|
||||
if (tb[IOAM6_IPTUNNEL_SRC] && mode == IOAM6_IPTUNNEL_MODE_INLINE) {
|
||||
NL_SET_ERR_MSG(extack, "no tunnel src expected with this mode");
|
||||
|
||||
@@ -2560,7 +2560,7 @@ static int ip6mr_rtm_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh,
|
||||
src = nla_get_in6_addr(tb[RTA_SRC]);
|
||||
if (tb[RTA_DST])
|
||||
grp = nla_get_in6_addr(tb[RTA_DST]);
|
||||
tableid = tb[RTA_TABLE] ? nla_get_u32(tb[RTA_TABLE]) : 0;
|
||||
tableid = nla_get_u32_default(tb[RTA_TABLE], 0);
|
||||
|
||||
mrt = ip6mr_get_table(net, tableid ?: RT_TABLE_DEFAULT);
|
||||
if (!mrt) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user