[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201020164707.30402-1-laniel_francis@privacyrequired.com>
Date: Tue, 20 Oct 2020 18:47:04 +0200
From: laniel_francis@...vacyrequired.com
To: linux-hardening@...r.kernel.org, netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org,
Francis Laniel <laniel_francis@...vacyrequired.com>
Subject: [RFC][PATCH v3 0/3] Fix inefficiences and rename nla_strlcpy
From: Francis Laniel <laniel_francis@...vacyrequired.com>
Hi.
I hope your relatives and yourselves are fine.
This patch set answers to first three issues listed in:
https://github.com/KSPP/linux/issues/110
To sum up, the first patch fixes an inefficiency where some bytes in dst were
written twice, one with 0 the other with src content.
The second one modifies nla_strlcpy to return the same value as strscpy,
i.e. number of bytes written or -E2BIG if src was truncated.
The third rename nla_strlcpy to nla_strscpy.
The name nla_strscpy should be discussed and agreed to find a representative
name (nla_strscpy_pad, nla_strcpy, nla_strzcpy, etc.).
Unfortunately, I did not find how to create struct nlattr objects so I tested
my modifications on simple char* and withing GDB with tc to get to
tcf_proto_check_kind.
This is why I tagged this patch set as RFC.
If you see any way to improve the code or have any remark, feel free to comment.
Best regards.
Francis Laniel (3):
Fix unefficient call to memset before memcpu in nla_strlcpy.
Modify return value of nla_strlcpy to match that of strscpy.
Rename nla_strlcpy to nla_strscpy.
drivers/infiniband/core/nldev.c | 10 +++---
drivers/net/can/vxcan.c | 4 +--
drivers/net/veth.c | 4 +--
include/linux/genl_magic_struct.h | 2 +-
include/net/netlink.h | 4 +--
include/net/pkt_cls.h | 2 +-
kernel/taskstats.c | 2 +-
lib/nlattr.c | 42 ++++++++++++++--------
net/core/fib_rules.c | 4 +--
net/core/rtnetlink.c | 12 +++----
net/decnet/dn_dev.c | 2 +-
net/ieee802154/nl-mac.c | 2 +-
net/ipv4/devinet.c | 2 +-
net/ipv4/fib_semantics.c | 2 +-
net/ipv4/metrics.c | 2 +-
net/netfilter/ipset/ip_set_hash_netiface.c | 4 +--
net/netfilter/nf_tables_api.c | 6 ++--
net/netfilter/nfnetlink_acct.c | 2 +-
net/netfilter/nfnetlink_cthelper.c | 4 +--
net/netfilter/nft_ct.c | 2 +-
net/netfilter/nft_log.c | 2 +-
net/netlabel/netlabel_mgmt.c | 2 +-
net/nfc/netlink.c | 2 +-
net/sched/act_api.c | 2 +-
net/sched/act_ipt.c | 2 +-
net/sched/act_simple.c | 4 +--
net/sched/cls_api.c | 2 +-
net/sched/sch_api.c | 2 +-
net/tipc/netlink_compat.c | 2 +-
29 files changed, 73 insertions(+), 61 deletions(-)
--
2.20.1
Powered by blists - more mailing lists