aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2019-04-29 11:46:55 -0400
committerMoyster <oysterized@gmail.com>2019-08-13 18:26:28 +0200
commitc11a9346cfa7de34444873677ba7b02ab6df25d6 (patch)
treeed753bdf21cb287baead23e0f9a8c2a7e6bba9bb /tools
parent9206dfdb810301d9ee42555b1c581937ddfa100b (diff)
packet: in recvmsg msg_name return at least sizeof sockaddr_ll
commit b2cf86e1563e33a14a1c69b3e508d15dc12f804c upstream. Packet send checks that msg_name is at least sizeof sockaddr_ll. Packet recv must return at least this length, so that its output can be passed unmodified to packet send. This ceased to be true since adding support for lladdr longer than sll_addr. Since, the return value uses true address length. Always return at least sizeof sockaddr_ll, even if address length is shorter. Zero the padding bytes. Change v1->v2: do not overwrite zeroed padding again. use copy_len. Fixes: 0fb375fb9b93 ("[AF_PACKET]: Allow for > 8 byte hardware addresses.") Change-Id: I79749bc43e8dab934165e8ff13c2d3bf883287ff Suggested-by: David Laight <David.Laight@aculab.com> Signed-off-by: Willem de Bruijn <willemb@google.com> Signed-off-by: David S. Miller <davem@davemloft.net> [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions