[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201113111133.15011-1-laniel_francis@privacyrequired.com>
Date: Fri, 13 Nov 2020 12:11:30 +0100
From: laniel_francis@...vacyrequired.com
To: linux-hardening@...r.kernel.org, netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, keescook@...omium.org,
Francis Laniel <laniel_francis@...vacyrequired.com>
Subject: [PATCH v5 0/3] Fix inefficiences and rename nla_strlcpy
From: Francis Laniel <laniel_francis@...vacyrequired.com>
Hi.
I hope you are all fine and the same for your relatives.
This patch set answers to first three issues listed in:
https://github.com/KSPP/linux/issues/110
To sum up, the patch contributions are the following:
1. the first patch fixes an inefficiency where some bytes in dst were written
twice, one with 0 the other with src content.
2. 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.
It also modifies code that calls nla_strlcpy and checks for its return value.
3. The third renames nla_strlcpy to nla_strscpy.
Unfortunately, I did not find how to create struct nlattr objects so I tested
my modifications on simple char* and with GDB using tc to get to
tcf_proto_check_kind.
If you see any way to improve the code or have any remark, feel free to comment.
Best regards and take care of yourselves.
Francis Laniel (3):
Fix unefficient call to memset before memcpu in nla_strlcpy.
Modify return value of nla_strlcpy to match that of strscpy.
treewide: 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