On Fri, Nov 13, 2020 at 12:11:30PM +0100, laniel_fran...@privacyrequired.com wrote: > From: Francis Laniel <laniel_fran...@privacyrequired.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.
Thanks! This looks good to me. Jakub, does this look ready to you? > > 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 > -- Kees Cook