forked from Minki/linux
treewide: rename nla_strlcpy to nla_strscpy.
Calls to nla_strlcpy are now replaced by calls to nla_strscpy which is the new name of this function. Signed-off-by: Francis Laniel <laniel_francis@privacyrequired.com> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
9ca718743a
commit
872f690341
@ -932,7 +932,7 @@ static int nldev_set_doit(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
if (tb[RDMA_NLDEV_ATTR_DEV_NAME]) {
|
if (tb[RDMA_NLDEV_ATTR_DEV_NAME]) {
|
||||||
char name[IB_DEVICE_NAME_MAX] = {};
|
char name[IB_DEVICE_NAME_MAX] = {};
|
||||||
|
|
||||||
nla_strlcpy(name, tb[RDMA_NLDEV_ATTR_DEV_NAME],
|
nla_strscpy(name, tb[RDMA_NLDEV_ATTR_DEV_NAME],
|
||||||
IB_DEVICE_NAME_MAX);
|
IB_DEVICE_NAME_MAX);
|
||||||
if (strlen(name) == 0) {
|
if (strlen(name) == 0) {
|
||||||
err = -EINVAL;
|
err = -EINVAL;
|
||||||
@ -1529,13 +1529,13 @@ static int nldev_newlink(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
!tb[RDMA_NLDEV_ATTR_LINK_TYPE] || !tb[RDMA_NLDEV_ATTR_NDEV_NAME])
|
!tb[RDMA_NLDEV_ATTR_LINK_TYPE] || !tb[RDMA_NLDEV_ATTR_NDEV_NAME])
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
nla_strlcpy(ibdev_name, tb[RDMA_NLDEV_ATTR_DEV_NAME],
|
nla_strscpy(ibdev_name, tb[RDMA_NLDEV_ATTR_DEV_NAME],
|
||||||
sizeof(ibdev_name));
|
sizeof(ibdev_name));
|
||||||
if (strchr(ibdev_name, '%') || strlen(ibdev_name) == 0)
|
if (strchr(ibdev_name, '%') || strlen(ibdev_name) == 0)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
nla_strlcpy(type, tb[RDMA_NLDEV_ATTR_LINK_TYPE], sizeof(type));
|
nla_strscpy(type, tb[RDMA_NLDEV_ATTR_LINK_TYPE], sizeof(type));
|
||||||
nla_strlcpy(ndev_name, tb[RDMA_NLDEV_ATTR_NDEV_NAME],
|
nla_strscpy(ndev_name, tb[RDMA_NLDEV_ATTR_NDEV_NAME],
|
||||||
sizeof(ndev_name));
|
sizeof(ndev_name));
|
||||||
|
|
||||||
ndev = dev_get_by_name(sock_net(skb->sk), ndev_name);
|
ndev = dev_get_by_name(sock_net(skb->sk), ndev_name);
|
||||||
@ -1602,7 +1602,7 @@ static int nldev_get_chardev(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
if (err || !tb[RDMA_NLDEV_ATTR_CHARDEV_TYPE])
|
if (err || !tb[RDMA_NLDEV_ATTR_CHARDEV_TYPE])
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
nla_strlcpy(client_name, tb[RDMA_NLDEV_ATTR_CHARDEV_TYPE],
|
nla_strscpy(client_name, tb[RDMA_NLDEV_ATTR_CHARDEV_TYPE],
|
||||||
sizeof(client_name));
|
sizeof(client_name));
|
||||||
|
|
||||||
if (tb[RDMA_NLDEV_ATTR_DEV_INDEX]) {
|
if (tb[RDMA_NLDEV_ATTR_DEV_INDEX]) {
|
||||||
|
@ -186,7 +186,7 @@ static int vxcan_newlink(struct net *net, struct net_device *dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ifmp && tbp[IFLA_IFNAME]) {
|
if (ifmp && tbp[IFLA_IFNAME]) {
|
||||||
nla_strlcpy(ifname, tbp[IFLA_IFNAME], IFNAMSIZ);
|
nla_strscpy(ifname, tbp[IFLA_IFNAME], IFNAMSIZ);
|
||||||
name_assign_type = NET_NAME_USER;
|
name_assign_type = NET_NAME_USER;
|
||||||
} else {
|
} else {
|
||||||
snprintf(ifname, IFNAMSIZ, DRV_NAME "%%d");
|
snprintf(ifname, IFNAMSIZ, DRV_NAME "%%d");
|
||||||
@ -223,7 +223,7 @@ static int vxcan_newlink(struct net *net, struct net_device *dev,
|
|||||||
|
|
||||||
/* register first device */
|
/* register first device */
|
||||||
if (tb[IFLA_IFNAME])
|
if (tb[IFLA_IFNAME])
|
||||||
nla_strlcpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
|
nla_strscpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
|
||||||
else
|
else
|
||||||
snprintf(dev->name, IFNAMSIZ, DRV_NAME "%%d");
|
snprintf(dev->name, IFNAMSIZ, DRV_NAME "%%d");
|
||||||
|
|
||||||
|
@ -1329,7 +1329,7 @@ static int veth_newlink(struct net *src_net, struct net_device *dev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ifmp && tbp[IFLA_IFNAME]) {
|
if (ifmp && tbp[IFLA_IFNAME]) {
|
||||||
nla_strlcpy(ifname, tbp[IFLA_IFNAME], IFNAMSIZ);
|
nla_strscpy(ifname, tbp[IFLA_IFNAME], IFNAMSIZ);
|
||||||
name_assign_type = NET_NAME_USER;
|
name_assign_type = NET_NAME_USER;
|
||||||
} else {
|
} else {
|
||||||
snprintf(ifname, IFNAMSIZ, DRV_NAME "%%d");
|
snprintf(ifname, IFNAMSIZ, DRV_NAME "%%d");
|
||||||
@ -1379,7 +1379,7 @@ static int veth_newlink(struct net *src_net, struct net_device *dev,
|
|||||||
eth_hw_addr_random(dev);
|
eth_hw_addr_random(dev);
|
||||||
|
|
||||||
if (tb[IFLA_IFNAME])
|
if (tb[IFLA_IFNAME])
|
||||||
nla_strlcpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
|
nla_strscpy(dev->name, tb[IFLA_IFNAME], IFNAMSIZ);
|
||||||
else
|
else
|
||||||
snprintf(dev->name, IFNAMSIZ, DRV_NAME "%%d");
|
snprintf(dev->name, IFNAMSIZ, DRV_NAME "%%d");
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ static inline int nla_put_u64_0pad(struct sk_buff *skb, int attrtype, u64 value)
|
|||||||
nla_get_u64, nla_put_u64_0pad, false)
|
nla_get_u64, nla_put_u64_0pad, false)
|
||||||
#define __str_field(attr_nr, attr_flag, name, maxlen) \
|
#define __str_field(attr_nr, attr_flag, name, maxlen) \
|
||||||
__array(attr_nr, attr_flag, name, NLA_NUL_STRING, char, maxlen, \
|
__array(attr_nr, attr_flag, name, NLA_NUL_STRING, char, maxlen, \
|
||||||
nla_strlcpy, nla_put, false)
|
nla_strscpy, nla_put, false)
|
||||||
#define __bin_field(attr_nr, attr_flag, name, maxlen) \
|
#define __bin_field(attr_nr, attr_flag, name, maxlen) \
|
||||||
__array(attr_nr, attr_flag, name, NLA_BINARY, char, maxlen, \
|
__array(attr_nr, attr_flag, name, NLA_BINARY, char, maxlen, \
|
||||||
nla_memcpy, nla_put, false)
|
nla_memcpy, nla_put, false)
|
||||||
|
@ -142,7 +142,7 @@
|
|||||||
* Attribute Misc:
|
* Attribute Misc:
|
||||||
* nla_memcpy(dest, nla, count) copy attribute into memory
|
* nla_memcpy(dest, nla, count) copy attribute into memory
|
||||||
* nla_memcmp(nla, data, size) compare attribute with memory area
|
* nla_memcmp(nla, data, size) compare attribute with memory area
|
||||||
* nla_strlcpy(dst, nla, size) copy attribute to a sized string
|
* nla_strscpy(dst, nla, size) copy attribute to a sized string
|
||||||
* nla_strcmp(nla, str) compare attribute with string
|
* nla_strcmp(nla, str) compare attribute with string
|
||||||
*
|
*
|
||||||
* Attribute Parsing:
|
* Attribute Parsing:
|
||||||
@ -506,7 +506,7 @@ int __nla_parse(struct nlattr **tb, int maxtype, const struct nlattr *head,
|
|||||||
struct netlink_ext_ack *extack);
|
struct netlink_ext_ack *extack);
|
||||||
int nla_policy_len(const struct nla_policy *, int);
|
int nla_policy_len(const struct nla_policy *, int);
|
||||||
struct nlattr *nla_find(const struct nlattr *head, int len, int attrtype);
|
struct nlattr *nla_find(const struct nlattr *head, int len, int attrtype);
|
||||||
ssize_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dstsize);
|
ssize_t nla_strscpy(char *dst, const struct nlattr *nla, size_t dstsize);
|
||||||
char *nla_strdup(const struct nlattr *nla, gfp_t flags);
|
char *nla_strdup(const struct nlattr *nla, gfp_t flags);
|
||||||
int nla_memcpy(void *dest, const struct nlattr *src, int count);
|
int nla_memcpy(void *dest, const struct nlattr *src, int count);
|
||||||
int nla_memcmp(const struct nlattr *nla, const void *data, size_t size);
|
int nla_memcmp(const struct nlattr *nla, const void *data, size_t size);
|
||||||
|
@ -512,7 +512,7 @@ tcf_change_indev(struct net *net, struct nlattr *indev_tlv,
|
|||||||
char indev[IFNAMSIZ];
|
char indev[IFNAMSIZ];
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
|
|
||||||
if (nla_strlcpy(indev, indev_tlv, IFNAMSIZ) < 0) {
|
if (nla_strscpy(indev, indev_tlv, IFNAMSIZ) < 0) {
|
||||||
NL_SET_ERR_MSG_ATTR(extack, indev_tlv,
|
NL_SET_ERR_MSG_ATTR(extack, indev_tlv,
|
||||||
"Interface name too long");
|
"Interface name too long");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -346,7 +346,7 @@ static int parse(struct nlattr *na, struct cpumask *mask)
|
|||||||
data = kmalloc(len, GFP_KERNEL);
|
data = kmalloc(len, GFP_KERNEL);
|
||||||
if (!data)
|
if (!data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
nla_strlcpy(data, na, len);
|
nla_strscpy(data, na, len);
|
||||||
ret = cpulist_parse(data, mask);
|
ret = cpulist_parse(data, mask);
|
||||||
kfree(data);
|
kfree(data);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -709,7 +709,7 @@ struct nlattr *nla_find(const struct nlattr *head, int len, int attrtype)
|
|||||||
EXPORT_SYMBOL(nla_find);
|
EXPORT_SYMBOL(nla_find);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* nla_strlcpy - Copy string attribute payload into a sized buffer
|
* nla_strscpy - Copy string attribute payload into a sized buffer
|
||||||
* @dst: Where to copy the string to.
|
* @dst: Where to copy the string to.
|
||||||
* @nla: Attribute to copy the string from.
|
* @nla: Attribute to copy the string from.
|
||||||
* @dstsize: Size of destination buffer.
|
* @dstsize: Size of destination buffer.
|
||||||
@ -722,7 +722,7 @@ EXPORT_SYMBOL(nla_find);
|
|||||||
* * -E2BIG - If @dstsize is 0 or greater than U16_MAX or @nla length greater
|
* * -E2BIG - If @dstsize is 0 or greater than U16_MAX or @nla length greater
|
||||||
* than @dstsize.
|
* than @dstsize.
|
||||||
*/
|
*/
|
||||||
ssize_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dstsize)
|
ssize_t nla_strscpy(char *dst, const struct nlattr *nla, size_t dstsize)
|
||||||
{
|
{
|
||||||
size_t srclen = nla_len(nla);
|
size_t srclen = nla_len(nla);
|
||||||
char *src = nla_data(nla);
|
char *src = nla_data(nla);
|
||||||
@ -749,7 +749,7 @@ ssize_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dstsize)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(nla_strlcpy);
|
EXPORT_SYMBOL(nla_strscpy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* nla_strdup - Copy string attribute payload into a newly allocated buffer
|
* nla_strdup - Copy string attribute payload into a newly allocated buffer
|
||||||
|
@ -563,7 +563,7 @@ static int fib_nl2rule(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
|
|
||||||
nlrule->iifindex = -1;
|
nlrule->iifindex = -1;
|
||||||
nla_strlcpy(nlrule->iifname, tb[FRA_IIFNAME], IFNAMSIZ);
|
nla_strscpy(nlrule->iifname, tb[FRA_IIFNAME], IFNAMSIZ);
|
||||||
dev = __dev_get_by_name(net, nlrule->iifname);
|
dev = __dev_get_by_name(net, nlrule->iifname);
|
||||||
if (dev)
|
if (dev)
|
||||||
nlrule->iifindex = dev->ifindex;
|
nlrule->iifindex = dev->ifindex;
|
||||||
@ -573,7 +573,7 @@ static int fib_nl2rule(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
|
|
||||||
nlrule->oifindex = -1;
|
nlrule->oifindex = -1;
|
||||||
nla_strlcpy(nlrule->oifname, tb[FRA_OIFNAME], IFNAMSIZ);
|
nla_strscpy(nlrule->oifname, tb[FRA_OIFNAME], IFNAMSIZ);
|
||||||
dev = __dev_get_by_name(net, nlrule->oifname);
|
dev = __dev_get_by_name(net, nlrule->oifname);
|
||||||
if (dev)
|
if (dev)
|
||||||
nlrule->oifindex = dev->ifindex;
|
nlrule->oifindex = dev->ifindex;
|
||||||
|
@ -1939,7 +1939,7 @@ static const struct rtnl_link_ops *linkinfo_to_kind_ops(const struct nlattr *nla
|
|||||||
if (linfo[IFLA_INFO_KIND]) {
|
if (linfo[IFLA_INFO_KIND]) {
|
||||||
char kind[MODULE_NAME_LEN];
|
char kind[MODULE_NAME_LEN];
|
||||||
|
|
||||||
nla_strlcpy(kind, linfo[IFLA_INFO_KIND], sizeof(kind));
|
nla_strscpy(kind, linfo[IFLA_INFO_KIND], sizeof(kind));
|
||||||
ops = rtnl_link_ops_get(kind);
|
ops = rtnl_link_ops_get(kind);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2953,9 +2953,9 @@ static struct net_device *rtnl_dev_get(struct net *net,
|
|||||||
if (!ifname) {
|
if (!ifname) {
|
||||||
ifname = buffer;
|
ifname = buffer;
|
||||||
if (ifname_attr)
|
if (ifname_attr)
|
||||||
nla_strlcpy(ifname, ifname_attr, IFNAMSIZ);
|
nla_strscpy(ifname, ifname_attr, IFNAMSIZ);
|
||||||
else if (altifname_attr)
|
else if (altifname_attr)
|
||||||
nla_strlcpy(ifname, altifname_attr, ALTIFNAMSIZ);
|
nla_strscpy(ifname, altifname_attr, ALTIFNAMSIZ);
|
||||||
else
|
else
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -2983,7 +2983,7 @@ static int rtnl_setlink(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
goto errout;
|
goto errout;
|
||||||
|
|
||||||
if (tb[IFLA_IFNAME])
|
if (tb[IFLA_IFNAME])
|
||||||
nla_strlcpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
|
nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
|
||||||
else
|
else
|
||||||
ifname[0] = '\0';
|
ifname[0] = '\0';
|
||||||
|
|
||||||
@ -3264,7 +3264,7 @@ replay:
|
|||||||
return err;
|
return err;
|
||||||
|
|
||||||
if (tb[IFLA_IFNAME])
|
if (tb[IFLA_IFNAME])
|
||||||
nla_strlcpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
|
nla_strscpy(ifname, tb[IFLA_IFNAME], IFNAMSIZ);
|
||||||
else
|
else
|
||||||
ifname[0] = '\0';
|
ifname[0] = '\0';
|
||||||
|
|
||||||
@ -3296,7 +3296,7 @@ replay:
|
|||||||
memset(linkinfo, 0, sizeof(linkinfo));
|
memset(linkinfo, 0, sizeof(linkinfo));
|
||||||
|
|
||||||
if (linkinfo[IFLA_INFO_KIND]) {
|
if (linkinfo[IFLA_INFO_KIND]) {
|
||||||
nla_strlcpy(kind, linkinfo[IFLA_INFO_KIND], sizeof(kind));
|
nla_strscpy(kind, linkinfo[IFLA_INFO_KIND], sizeof(kind));
|
||||||
ops = rtnl_link_ops_get(kind);
|
ops = rtnl_link_ops_get(kind);
|
||||||
} else {
|
} else {
|
||||||
kind[0] = '\0';
|
kind[0] = '\0';
|
||||||
|
@ -658,7 +658,7 @@ static int dn_nl_newaddr(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||||||
ifa->ifa_dev = dn_db;
|
ifa->ifa_dev = dn_db;
|
||||||
|
|
||||||
if (tb[IFA_LABEL])
|
if (tb[IFA_LABEL])
|
||||||
nla_strlcpy(ifa->ifa_label, tb[IFA_LABEL], IFNAMSIZ);
|
nla_strscpy(ifa->ifa_label, tb[IFA_LABEL], IFNAMSIZ);
|
||||||
else
|
else
|
||||||
memcpy(ifa->ifa_label, dev->name, IFNAMSIZ);
|
memcpy(ifa->ifa_label, dev->name, IFNAMSIZ);
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ static struct net_device *ieee802154_nl_get_dev(struct genl_info *info)
|
|||||||
if (info->attrs[IEEE802154_ATTR_DEV_NAME]) {
|
if (info->attrs[IEEE802154_ATTR_DEV_NAME]) {
|
||||||
char name[IFNAMSIZ + 1];
|
char name[IFNAMSIZ + 1];
|
||||||
|
|
||||||
nla_strlcpy(name, info->attrs[IEEE802154_ATTR_DEV_NAME],
|
nla_strscpy(name, info->attrs[IEEE802154_ATTR_DEV_NAME],
|
||||||
sizeof(name));
|
sizeof(name));
|
||||||
dev = dev_get_by_name(&init_net, name);
|
dev = dev_get_by_name(&init_net, name);
|
||||||
} else if (info->attrs[IEEE802154_ATTR_DEV_INDEX]) {
|
} else if (info->attrs[IEEE802154_ATTR_DEV_INDEX]) {
|
||||||
|
@ -880,7 +880,7 @@ static struct in_ifaddr *rtm_to_ifaddr(struct net *net, struct nlmsghdr *nlh,
|
|||||||
ifa->ifa_broadcast = nla_get_in_addr(tb[IFA_BROADCAST]);
|
ifa->ifa_broadcast = nla_get_in_addr(tb[IFA_BROADCAST]);
|
||||||
|
|
||||||
if (tb[IFA_LABEL])
|
if (tb[IFA_LABEL])
|
||||||
nla_strlcpy(ifa->ifa_label, tb[IFA_LABEL], IFNAMSIZ);
|
nla_strscpy(ifa->ifa_label, tb[IFA_LABEL], IFNAMSIZ);
|
||||||
else
|
else
|
||||||
memcpy(ifa->ifa_label, dev->name, IFNAMSIZ);
|
memcpy(ifa->ifa_label, dev->name, IFNAMSIZ);
|
||||||
|
|
||||||
|
@ -973,7 +973,7 @@ bool fib_metrics_match(struct fib_config *cfg, struct fib_info *fi)
|
|||||||
char tmp[TCP_CA_NAME_MAX];
|
char tmp[TCP_CA_NAME_MAX];
|
||||||
bool ecn_ca = false;
|
bool ecn_ca = false;
|
||||||
|
|
||||||
nla_strlcpy(tmp, nla, sizeof(tmp));
|
nla_strscpy(tmp, nla, sizeof(tmp));
|
||||||
val = tcp_ca_get_key_by_name(fi->fib_net, tmp, &ecn_ca);
|
val = tcp_ca_get_key_by_name(fi->fib_net, tmp, &ecn_ca);
|
||||||
} else {
|
} else {
|
||||||
if (nla_len(nla) != sizeof(u32))
|
if (nla_len(nla) != sizeof(u32))
|
||||||
|
@ -31,7 +31,7 @@ static int ip_metrics_convert(struct net *net, struct nlattr *fc_mx,
|
|||||||
if (type == RTAX_CC_ALGO) {
|
if (type == RTAX_CC_ALGO) {
|
||||||
char tmp[TCP_CA_NAME_MAX];
|
char tmp[TCP_CA_NAME_MAX];
|
||||||
|
|
||||||
nla_strlcpy(tmp, nla, sizeof(tmp));
|
nla_strscpy(tmp, nla, sizeof(tmp));
|
||||||
val = tcp_ca_get_key_by_name(net, tmp, &ecn_ca);
|
val = tcp_ca_get_key_by_name(net, tmp, &ecn_ca);
|
||||||
if (val == TCP_CA_UNSPEC) {
|
if (val == TCP_CA_UNSPEC) {
|
||||||
NL_SET_ERR_MSG(extack, "Unknown tcp congestion algorithm");
|
NL_SET_ERR_MSG(extack, "Unknown tcp congestion algorithm");
|
||||||
|
@ -226,7 +226,7 @@ hash_netiface4_uadt(struct ip_set *set, struct nlattr *tb[],
|
|||||||
if (e.cidr > HOST_MASK)
|
if (e.cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
}
|
}
|
||||||
nla_strlcpy(e.iface, tb[IPSET_ATTR_IFACE], IFNAMSIZ);
|
nla_strscpy(e.iface, tb[IPSET_ATTR_IFACE], IFNAMSIZ);
|
||||||
|
|
||||||
if (tb[IPSET_ATTR_CADT_FLAGS]) {
|
if (tb[IPSET_ATTR_CADT_FLAGS]) {
|
||||||
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
|
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
|
||||||
@ -443,7 +443,7 @@ hash_netiface6_uadt(struct ip_set *set, struct nlattr *tb[],
|
|||||||
|
|
||||||
ip6_netmask(&e.ip, e.cidr);
|
ip6_netmask(&e.ip, e.cidr);
|
||||||
|
|
||||||
nla_strlcpy(e.iface, tb[IPSET_ATTR_IFACE], IFNAMSIZ);
|
nla_strscpy(e.iface, tb[IPSET_ATTR_IFACE], IFNAMSIZ);
|
||||||
|
|
||||||
if (tb[IPSET_ATTR_CADT_FLAGS]) {
|
if (tb[IPSET_ATTR_CADT_FLAGS]) {
|
||||||
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
|
u32 cadt_flags = ip_set_get_h32(tb[IPSET_ATTR_CADT_FLAGS]);
|
||||||
|
@ -1282,7 +1282,7 @@ static struct nft_chain *nft_chain_lookup(struct net *net,
|
|||||||
if (nla == NULL)
|
if (nla == NULL)
|
||||||
return ERR_PTR(-EINVAL);
|
return ERR_PTR(-EINVAL);
|
||||||
|
|
||||||
nla_strlcpy(search, nla, sizeof(search));
|
nla_strscpy(search, nla, sizeof(search));
|
||||||
|
|
||||||
WARN_ON(!rcu_read_lock_held() &&
|
WARN_ON(!rcu_read_lock_held() &&
|
||||||
!lockdep_commit_lock_is_held(net));
|
!lockdep_commit_lock_is_held(net));
|
||||||
@ -1722,7 +1722,7 @@ static struct nft_hook *nft_netdev_hook_alloc(struct net *net,
|
|||||||
goto err_hook_alloc;
|
goto err_hook_alloc;
|
||||||
}
|
}
|
||||||
|
|
||||||
nla_strlcpy(ifname, attr, IFNAMSIZ);
|
nla_strscpy(ifname, attr, IFNAMSIZ);
|
||||||
dev = __dev_get_by_name(net, ifname);
|
dev = __dev_get_by_name(net, ifname);
|
||||||
if (!dev) {
|
if (!dev) {
|
||||||
err = -ENOENT;
|
err = -ENOENT;
|
||||||
@ -5735,7 +5735,7 @@ struct nft_object *nft_obj_lookup(const struct net *net,
|
|||||||
struct rhlist_head *tmp, *list;
|
struct rhlist_head *tmp, *list;
|
||||||
struct nft_object *obj;
|
struct nft_object *obj;
|
||||||
|
|
||||||
nla_strlcpy(search, nla, sizeof(search));
|
nla_strscpy(search, nla, sizeof(search));
|
||||||
k.name = search;
|
k.name = search;
|
||||||
|
|
||||||
WARN_ON_ONCE(!rcu_read_lock_held() &&
|
WARN_ON_ONCE(!rcu_read_lock_held() &&
|
||||||
|
@ -112,7 +112,7 @@ static int nfnl_acct_new(struct net *net, struct sock *nfnl,
|
|||||||
nfacct->flags = flags;
|
nfacct->flags = flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
nla_strlcpy(nfacct->name, tb[NFACCT_NAME], NFACCT_NAME_MAX);
|
nla_strscpy(nfacct->name, tb[NFACCT_NAME], NFACCT_NAME_MAX);
|
||||||
|
|
||||||
if (tb[NFACCT_BYTES]) {
|
if (tb[NFACCT_BYTES]) {
|
||||||
atomic64_set(&nfacct->bytes,
|
atomic64_set(&nfacct->bytes,
|
||||||
|
@ -146,7 +146,7 @@ nfnl_cthelper_expect_policy(struct nf_conntrack_expect_policy *expect_policy,
|
|||||||
!tb[NFCTH_POLICY_EXPECT_TIMEOUT])
|
!tb[NFCTH_POLICY_EXPECT_TIMEOUT])
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
nla_strlcpy(expect_policy->name,
|
nla_strscpy(expect_policy->name,
|
||||||
tb[NFCTH_POLICY_NAME], NF_CT_HELPER_NAME_LEN);
|
tb[NFCTH_POLICY_NAME], NF_CT_HELPER_NAME_LEN);
|
||||||
expect_policy->max_expected =
|
expect_policy->max_expected =
|
||||||
ntohl(nla_get_be32(tb[NFCTH_POLICY_EXPECT_MAX]));
|
ntohl(nla_get_be32(tb[NFCTH_POLICY_EXPECT_MAX]));
|
||||||
@ -233,7 +233,7 @@ nfnl_cthelper_create(const struct nlattr * const tb[],
|
|||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto err1;
|
goto err1;
|
||||||
|
|
||||||
nla_strlcpy(helper->name,
|
nla_strscpy(helper->name,
|
||||||
tb[NFCTH_NAME], NF_CT_HELPER_NAME_LEN);
|
tb[NFCTH_NAME], NF_CT_HELPER_NAME_LEN);
|
||||||
size = ntohl(nla_get_be32(tb[NFCTH_PRIV_DATA_LEN]));
|
size = ntohl(nla_get_be32(tb[NFCTH_PRIV_DATA_LEN]));
|
||||||
if (size > sizeof_field(struct nf_conn_help, data)) {
|
if (size > sizeof_field(struct nf_conn_help, data)) {
|
||||||
|
@ -990,7 +990,7 @@ static int nft_ct_helper_obj_init(const struct nft_ctx *ctx,
|
|||||||
if (!priv->l4proto)
|
if (!priv->l4proto)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
nla_strlcpy(name, tb[NFTA_CT_HELPER_NAME], sizeof(name));
|
nla_strscpy(name, tb[NFTA_CT_HELPER_NAME], sizeof(name));
|
||||||
|
|
||||||
if (tb[NFTA_CT_HELPER_L3PROTO])
|
if (tb[NFTA_CT_HELPER_L3PROTO])
|
||||||
family = ntohs(nla_get_be16(tb[NFTA_CT_HELPER_L3PROTO]));
|
family = ntohs(nla_get_be16(tb[NFTA_CT_HELPER_L3PROTO]));
|
||||||
|
@ -152,7 +152,7 @@ static int nft_log_init(const struct nft_ctx *ctx,
|
|||||||
priv->prefix = kmalloc(nla_len(nla) + 1, GFP_KERNEL);
|
priv->prefix = kmalloc(nla_len(nla) + 1, GFP_KERNEL);
|
||||||
if (priv->prefix == NULL)
|
if (priv->prefix == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
nla_strlcpy(priv->prefix, nla, nla_len(nla) + 1);
|
nla_strscpy(priv->prefix, nla, nla_len(nla) + 1);
|
||||||
} else {
|
} else {
|
||||||
priv->prefix = (char *)nft_log_null_prefix;
|
priv->prefix = (char *)nft_log_null_prefix;
|
||||||
}
|
}
|
||||||
|
@ -95,7 +95,7 @@ static int netlbl_mgmt_add_common(struct genl_info *info,
|
|||||||
ret_val = -ENOMEM;
|
ret_val = -ENOMEM;
|
||||||
goto add_free_entry;
|
goto add_free_entry;
|
||||||
}
|
}
|
||||||
nla_strlcpy(entry->domain,
|
nla_strscpy(entry->domain,
|
||||||
info->attrs[NLBL_MGMT_A_DOMAIN], tmp_size);
|
info->attrs[NLBL_MGMT_A_DOMAIN], tmp_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1226,7 +1226,7 @@ static int nfc_genl_fw_download(struct sk_buff *skb, struct genl_info *info)
|
|||||||
if (!dev)
|
if (!dev)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
nla_strlcpy(firmware_name, info->attrs[NFC_ATTR_FIRMWARE_NAME],
|
nla_strscpy(firmware_name, info->attrs[NFC_ATTR_FIRMWARE_NAME],
|
||||||
sizeof(firmware_name));
|
sizeof(firmware_name));
|
||||||
|
|
||||||
rc = nfc_fw_download(dev, firmware_name);
|
rc = nfc_fw_download(dev, firmware_name);
|
||||||
|
@ -939,7 +939,7 @@ struct tc_action *tcf_action_init_1(struct net *net, struct tcf_proto *tp,
|
|||||||
NL_SET_ERR_MSG(extack, "TC action kind must be specified");
|
NL_SET_ERR_MSG(extack, "TC action kind must be specified");
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
if (nla_strlcpy(act_name, kind, IFNAMSIZ) < 0) {
|
if (nla_strscpy(act_name, kind, IFNAMSIZ) < 0) {
|
||||||
NL_SET_ERR_MSG(extack, "TC action name too long");
|
NL_SET_ERR_MSG(extack, "TC action name too long");
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
@ -166,7 +166,7 @@ static int __tcf_ipt_init(struct net *net, unsigned int id, struct nlattr *nla,
|
|||||||
if (unlikely(!tname))
|
if (unlikely(!tname))
|
||||||
goto err1;
|
goto err1;
|
||||||
if (tb[TCA_IPT_TABLE] == NULL ||
|
if (tb[TCA_IPT_TABLE] == NULL ||
|
||||||
nla_strlcpy(tname, tb[TCA_IPT_TABLE], IFNAMSIZ) >= IFNAMSIZ)
|
nla_strscpy(tname, tb[TCA_IPT_TABLE], IFNAMSIZ) >= IFNAMSIZ)
|
||||||
strcpy(tname, "mangle");
|
strcpy(tname, "mangle");
|
||||||
|
|
||||||
t = kmemdup(td, td->u.target_size, GFP_KERNEL);
|
t = kmemdup(td, td->u.target_size, GFP_KERNEL);
|
||||||
|
@ -52,7 +52,7 @@ static int alloc_defdata(struct tcf_defact *d, const struct nlattr *defdata)
|
|||||||
d->tcfd_defdata = kzalloc(SIMP_MAX_DATA, GFP_KERNEL);
|
d->tcfd_defdata = kzalloc(SIMP_MAX_DATA, GFP_KERNEL);
|
||||||
if (unlikely(!d->tcfd_defdata))
|
if (unlikely(!d->tcfd_defdata))
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
nla_strlcpy(d->tcfd_defdata, defdata, SIMP_MAX_DATA);
|
nla_strscpy(d->tcfd_defdata, defdata, SIMP_MAX_DATA);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ static int reset_policy(struct tc_action *a, const struct nlattr *defdata,
|
|||||||
spin_lock_bh(&d->tcf_lock);
|
spin_lock_bh(&d->tcf_lock);
|
||||||
goto_ch = tcf_action_set_ctrlact(a, p->action, goto_ch);
|
goto_ch = tcf_action_set_ctrlact(a, p->action, goto_ch);
|
||||||
memset(d->tcfd_defdata, 0, SIMP_MAX_DATA);
|
memset(d->tcfd_defdata, 0, SIMP_MAX_DATA);
|
||||||
nla_strlcpy(d->tcfd_defdata, defdata, SIMP_MAX_DATA);
|
nla_strscpy(d->tcfd_defdata, defdata, SIMP_MAX_DATA);
|
||||||
spin_unlock_bh(&d->tcf_lock);
|
spin_unlock_bh(&d->tcf_lock);
|
||||||
if (goto_ch)
|
if (goto_ch)
|
||||||
tcf_chain_put_by_act(goto_ch);
|
tcf_chain_put_by_act(goto_ch);
|
||||||
|
@ -223,7 +223,7 @@ static inline u32 tcf_auto_prio(struct tcf_proto *tp)
|
|||||||
static bool tcf_proto_check_kind(struct nlattr *kind, char *name)
|
static bool tcf_proto_check_kind(struct nlattr *kind, char *name)
|
||||||
{
|
{
|
||||||
if (kind)
|
if (kind)
|
||||||
return nla_strlcpy(name, kind, IFNAMSIZ) < 0;
|
return nla_strscpy(name, kind, IFNAMSIZ) < 0;
|
||||||
memset(name, 0, IFNAMSIZ);
|
memset(name, 0, IFNAMSIZ);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1170,7 +1170,7 @@ static struct Qdisc *qdisc_create(struct net_device *dev,
|
|||||||
#ifdef CONFIG_MODULES
|
#ifdef CONFIG_MODULES
|
||||||
if (ops == NULL && kind != NULL) {
|
if (ops == NULL && kind != NULL) {
|
||||||
char name[IFNAMSIZ];
|
char name[IFNAMSIZ];
|
||||||
if (nla_strlcpy(name, kind, IFNAMSIZ) >= 0) {
|
if (nla_strscpy(name, kind, IFNAMSIZ) >= 0) {
|
||||||
/* We dropped the RTNL semaphore in order to
|
/* We dropped the RTNL semaphore in order to
|
||||||
* perform the module load. So, even if we
|
* perform the module load. So, even if we
|
||||||
* succeeded in loading the module we have to
|
* succeeded in loading the module we have to
|
||||||
|
@ -696,7 +696,7 @@ static int tipc_nl_compat_link_dump(struct tipc_nl_compat_msg *msg,
|
|||||||
|
|
||||||
link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
|
link_info.dest = nla_get_flag(link[TIPC_NLA_LINK_DEST]);
|
||||||
link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
|
link_info.up = htonl(nla_get_flag(link[TIPC_NLA_LINK_UP]));
|
||||||
nla_strlcpy(link_info.str, link[TIPC_NLA_LINK_NAME],
|
nla_strscpy(link_info.str, link[TIPC_NLA_LINK_NAME],
|
||||||
TIPC_MAX_LINK_NAME);
|
TIPC_MAX_LINK_NAME);
|
||||||
|
|
||||||
return tipc_add_tlv(msg->rep, TIPC_TLV_LINK_INFO,
|
return tipc_add_tlv(msg->rep, TIPC_TLV_LINK_INFO,
|
||||||
|
Loading…
Reference in New Issue
Block a user