On 06/17/2016 05:56 PM, Phil Sutter wrote:
This big patch was compiled by vimgrepping for memset calls and changing
to C99 initializer if applicable.

Calls to memset for struct rtattr pointer fields for parse_rtattr*()
were just dropped since they are not needed.

The changes here allowed the compiler to discover some unused variables,
so get rid of them, too.

Signed-off-by: Phil Sutter <p...@nwl.cc>
---
  bridge/fdb.c     |  29 +++++++------
  bridge/link.c    |  16 +++----
  bridge/mdb.c     |  19 ++++-----
  bridge/vlan.c    |  19 ++++-----
  genl/ctrl.c      |  48 +++++++++------------
  ip/ip6tunnel.c   |  10 ++---
  ip/ipaddress.c   |  31 ++++++--------
  ip/ipaddrlabel.c |  23 +++++-----
  ip/iplink.c      |  67 ++++++++++++++---------------
  ip/iplink_can.c  |   4 +-
  ip/ipmaddr.c     |  27 +++++-------
  ip/ipmroute.c    |   8 +---
  ip/ipneigh.c     |  36 ++++++++--------
  ip/ipnetconf.c   |  12 +++---
  ip/ipnetns.c     |  45 ++++++++++---------
  ip/ipntable.c    |  27 +++++-------
  ip/iproute.c     |  85 ++++++++++++++++--------------------
  ip/iprule.c      |  26 +++++------
  ip/iptoken.c     |  21 ++++-----
  ip/iptunnel.c    |  31 ++++----------
  ip/ipxfrm.c      |  26 +++--------
  ip/link_gre.c    |  22 +++++-----
  ip/link_gre6.c   |  22 +++++-----
  ip/link_ip6tnl.c |  29 ++++++-------
  ip/link_iptnl.c  |  26 +++++------
  ip/link_vti.c    |  22 +++++-----
  ip/link_vti6.c   |  22 +++++-----
  ip/xfrm_policy.c | 110 ++++++++++++++++++++++-------------------------
  ip/xfrm_state.c  | 128 +++++++++++++++++++++++++++----------------------------
  lib/libnetlink.c |  74 ++++++++++++++------------------
  lib/ll_map.c     |   1 -
  misc/arpd.c      |  68 ++++++++++++++---------------
  misc/ss.c        |  41 ++++++++----------
  tc/e_bpf.c       |   7 +--
  tc/em_cmp.c      |   4 +-
  tc/em_ipset.c    |   4 +-
  tc/em_meta.c     |   4 +-
  tc/em_nbyte.c    |   4 +-
  tc/em_u32.c      |   4 +-
  tc/f_flow.c      |   3 --
  tc/f_flower.c    |   3 +-
  tc/f_fw.c        |   6 +--
  tc/f_route.c     |   3 --
  tc/f_rsvp.c      |   6 +--
  tc/f_u32.c       |  12 ++----
  tc/m_action.c    |  51 +++++++++-------------
  tc/m_bpf.c       |   5 +--
  tc/m_csum.c      |   4 +-
  tc/m_ematch.c    |   4 +-
  tc/m_gact.c      |   5 +--
  tc/m_ife.c       |   5 +--
  tc/m_mirred.c    |   7 +--
  tc/m_nat.c       |   4 +-
  tc/m_pedit.c     |   8 +---
  tc/m_police.c    |   5 +--
  tc/q_atm.c       |   3 +-
  tc/q_cbq.c       |  22 +++-------
  tc/q_choke.c     |   4 +-
  tc/q_codel.c     |   3 +-
  tc/q_dsmark.c    |   1 -
  tc/q_fifo.c      |   4 +-
  tc/q_fq_codel.c  |   3 +-
  tc/q_hfsc.c      |  13 ++----
  tc/q_htb.c       |  15 +++----
  tc/q_netem.c     |  16 +++----
  tc/q_red.c       |   4 +-
  tc/q_sfb.c       |  17 ++++----
  tc/q_sfq.c       |   4 +-
  tc/q_tbf.c       |   4 +-
  tc/tc_bpf.c      |  96 +++++++++++++++++------------------------
  tc/tc_class.c    |  33 ++++++--------
  tc/tc_exec.c     |   3 +-
  tc/tc_filter.c   |  35 ++++++---------
  tc/tc_qdisc.c    |  35 ++++++---------
  tc/tc_stab.c     |   4 +-
  tc/tc_util.c     |   3 +-
  76 files changed, 699 insertions(+), 956 deletions(-)
[...]

Hmm, seems like a lot of stuff ...

[...]
diff --git a/tc/tc_bpf.c b/tc/tc_bpf.c
index 86c6069b68ec4..8a264531dcdd4 100644
--- a/tc/tc_bpf.c
+++ b/tc/tc_bpf.c
@@ -86,13 +86,12 @@ static int bpf(int cmd, union bpf_attr *attr, unsigned int 
size)
  static int bpf_map_update(int fd, const void *key, const void *value,
                          uint64_t flags)
  {
-       union bpf_attr attr;
-
-       memset(&attr, 0, sizeof(attr));
-       attr.map_fd = fd;
-       attr.key = bpf_ptr_to_u64(key);
-       attr.value = bpf_ptr_to_u64(value);
-       attr.flags = flags;
+       union bpf_attr attr = {
+               .map_fd = fd,
+               .key = bpf_ptr_to_u64(key),
+               .value = bpf_ptr_to_u64(value),
+               .flags = flags
+       };

        return bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr));
[...]

Please have a look at commit 8f80d450c3cb ("tc: fix compilation with old gcc (< 
4.6)") ...

Your changes effectively revert them again. Here, and some other parts of the 
bpf frontend
code bits.

Thanks,
Daniel

Reply via email to