[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e7ec6202-7d4b-8dc1-1b25-76325129ba6f@gmail.com>
Date: Thu, 27 Sep 2018 14:24:36 -0600
From: David Ahern <dsahern@...il.com>
To: Christian Brauner <christian@...uner.io>, jbenc@...hat.com,
davem@...emloft.net, stephen@...workplumber.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 0/7] rtnetlink: add RTM_GETADDR2
On 9/27/18 11:58 AM, Christian Brauner wrote:
> Various userspace programs (e.g. iproute2) have sent RTM_GETADDR
> requests with struct ifinfomsg. This is wrong and should have been
> struct ifaddrmsg all along as mandated by the manpages. However, dump
> requests so far didn't parse the netlink message that was sent and
> succeeded even when a wrong struct was passed along.
...
> The correct solution at this point seems to me to introduce a new
> RTM_GETADDR2 request. This way we can parse the message and fail hard if
> the struct is not struct ifaddrmsg and can safely extend it in the
> future. Userspace tools that rely on the buggy RTM_GETADDR API will
> still keep working without even having to see any log messages and new
> userspace tools that want to make user of new features can make use of
> the new RTM_GETADDR2 requests.
First, I think this is the wrong precedent when all we need is a single
bit flag that userspace can use to tell the kernel "I have a clue and I
am passing in the proper header for this dump request".
Second, you are not addressing the problems of the past by requiring the
proper header and checking values passed in it.
I have another idea. I'll send an RFC patch soon.
Powered by blists - more mailing lists