Thread (5 messages) flat view 5 messages, 2 authors, 2016-06-17

Re: [iproute PATCH 1/3] Use C99 style initializers everywhere

From: Daniel Borkmann <daniel@iogearbox.net>
Date: 2016-06-17 16:09:29

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 <phil@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 ...

[...]
quoted hunk ↗ jump to hunk
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help