[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpVEDq2iTURYYvUgr1vOgmZtRJ8-brD0gvZvBRw+OWjUKg@mail.gmail.com>
Date: Thu, 20 Jul 2017 16:42:38 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Linux Kernel Network Developers <netdev@...r.kernel.org>
Cc: Andrey Konovalov <andreyknvl@...gle.com>,
Cong Wang <xiyou.wangcong@...il.com>,
Jiri Pirko <jiri@...nulli.us>
Subject: Re: [Patch net] team: use a larger struct for mac address
On Thu, Jul 20, 2017 at 4:06 PM, Cong Wang <xiyou.wangcong@...il.com> wrote:
> IPv6 tunnels use sizeof(struct in6_addr) as dev->addr_len,
> but in many places especially bonding, we use struct sockaddr
> to copy and set mac addr, this could lead to stack out-of-bounds
> access.
>
> Fix it by using a larger address storage like bonding.
>
> Reported-by: Andrey Konovalov <andreyknvl@...gle.com>
> Cc: Jiri Pirko <jiri@...nulli.us>
> Signed-off-by: Cong Wang <xiyou.wangcong@...il.com>
For DaveM:
This patch depends on my previous patch "net: check mac
address length for dev_set_mac_address()", otherwise
dev_set_mac_address() doesn't accept struct sockaddr_storage.
I can add a cast there if you feel this is easier for backport, but
I think we need to backport both.
Sorry for any confusion.
Powered by blists - more mailing lists