lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <fefe8b7a-3264-333a-bab3-7e0dd82efed1@gmail.com> Date: Sun, 14 May 2017 16:14:16 -0600 From: David Ahern <dsahern@...il.com> To: Johannes Berg <johannes@...solutions.net>, Jan Moskyto Matejka <mq@....cz> Cc: David Miller <davem@...emloft.net>, mq@....cz, netdev@...r.kernel.org, roopa <roopa@...ulusnetworks.com> Subject: Re: [PATCH] net: ipv6: Truncate single route when it doesn't fit into dump buffer. On 5/14/17 3:00 PM, Johannes Berg wrote: > On Sat, 2017-05-13 at 19:29 +0200, Jan Moskyto Matejka wrote: >> >>> When adding a route to the skb, track whether it contains at least >>> 1 >>> route. If not, it means the next route in the dump is larger than >>> the >>> given buffer. Detect this condition and error out of the dump - >>> returning an error to the user (-ENOSPC? or EMSGSIZE?) >> >> EMSGSIZE seems OK for me. > > If we return an error here, and consequently allow for userspace > changes to pick this up, perhaps we could also consider allowing to > split the dump between nexthops, so that arbitrary such things can be > returned. Returning an error should not impact existing userspace; it should already be checking for an error response in the message. Splitting the dump between nexthops across multiple messages will have repercussions on userspace. I think (at least for rtnetlink and links, addresses, routes) userspace needs to provide a buffer large enough for a complete object. If we limit the number of nexthops to something reasonable (e.g., 256), then ipv4 for example will be ~ 3kB + lwt encap size we are talking on the order of an 8kb maybe 16kB buffer. That is a reasonable request for the API.
Powered by blists - more mailing lists