On Tue, Oct 02, 2018 at 01:06:14PM +0200, Jiri Benc wrote: > On Mon, 1 Oct 2018 17:28:29 -0700, David Ahern wrote: > > Add a new flag, NLM_F_DUMP_PROPER_HDR, for userspace to indicate to the > > kernel that it believes it is sending the right header struct for the > > dump message type (ifinfomsg, ifaddrmsg, rtmsg, fib_rule_hdr, ...). > > Why is this limited to dumps? Other kind of netlink messages contain > the common struct, too. When introducing such mechanism, please make it > generic. > > Last time when we were discussing strict checking in netlink, it was > suggested to add a socket option instead of adding NLM flags[1].
I didn't find this in the linked thread. What I find interesting and convincing is one of Dave's points: "I'm beginning to wonder if we can just change this unilaterally to not ignore unrecognized attributes. I am increasingly certain that things that would "break" we wouldn't want to succeed anyways." [1] :) But a socket option or this header flag both sound acceptable to me. Was there any more detail on how a socket option would look like, i.e. an api proposal or something? [1]: https://marc.info/?l=linux-netdev&m=144522081220166&w=2 > It makes a lot of sense: the number of flags is very limited and we'd > run out of them pretty fast. It's not just the header structure that > is currently checked sloppily. It's also attributes, flags in > attributes, etc. We can't assign a flag to all of them. > > You should also consider a different name for the flag: it should > reflect what the effect of the flag is. "Proper header" is not an > effect, it's a requirement for the message to pass. The effect is > enforced strict checking of the header. > > Jiri > > [1] https://marc.info/?l=linux-netdev&m=144492718118955