From: Johannes Berg <johannes@sipsolutions.net>
To: Michal Kubecek <mkubecek@suse.cz>
Cc: David Miller <davem@davemloft.net>,
linux-wireless@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [RFC v2 1/2] netlink: add NLA_REJECT policy type
Date: Wed, 12 Sep 2018 21:37:53 +0200 [thread overview]
Message-ID: <1536781073.3678.38.camel@sipsolutions.net> (raw)
In-Reply-To: <20180912192925.GD29691@unicorn.suse.cz>
On Wed, 2018-09-12 at 21:29 +0200, Michal Kubecek wrote:
> > 3) eventually replace nlmsg_parse() calls by nlmsg_parse_strict() and
> > see what breaks? :-) We won't be able to rely on that any time soon
> > though (unless userspace first checks with a guaranteed rejected
> > attribute, e.g. one that has NLA_REJECT, perhaps the u64 pad
> > attributes could be marked such since the kernel can't assume
> > alignment anyway)
>
> I'm not so sure we (eventually) want to reject unknown attributes
> everywhere. I don't have any concrete example in mind but I think there
> will be use cases where we want to ignore unrecognized attributes
> (probably per parse call). But it makes sense to require caller to
> explicitely declare this is the case.
Yeah, I think nla_parse() vs. nla_parse_strict() - along with
remembering in review to say "perhaps you should prefer
nla_parse_strict() for this new thing" might be all we want (or
realistically can do).
> > While we're talking about wishlist, I'm also toying with the idea of
> > having some sort of generic mechanism to convert netlink attributes
> > to/from structs, for internal kernel representation; so far though I
> > haven't been able to come up with anything useful.
>
> I was also thinking about something like this. One motivation was to
> design extensible version of ethtool_ops, the other was allowing complex
> data types (structures, arrays) for ethtool tunables. But I have nothing
> more than a vague idea so far.
I played with macros a bit, but ultimately that wasn't so readable.
There's no way to do upper-casing in the preprocessor :-) Realistically,
I ended up with something that would require either a lot of boiler-
plate code estill, or perhaps double-including a header file (though I
never really finished the latter thought.)
This is what I toyed with earlier today:
https://p.sipsolutions.net/35e260d7debaa406.txt
johannes
prev parent reply other threads:[~2018-09-13 0:44 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-12 8:36 [RFC v2 1/2] netlink: add NLA_REJECT policy type Johannes Berg
2018-09-12 8:36 ` [RFC v2 2/2] netlink: add ethernet address policy types Johannes Berg
2018-09-12 8:49 ` Arend van Spriel
2018-09-12 8:50 ` Johannes Berg
2018-09-12 8:38 ` [RFC v2 1/2] netlink: add NLA_REJECT policy type Johannes Berg
2018-09-12 18:15 ` David Miller
2018-09-12 18:34 ` Johannes Berg
2018-09-12 19:29 ` Michal Kubecek
2018-09-12 19:37 ` Johannes Berg [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1536781073.3678.38.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=davem@davemloft.net \
--cc=linux-wireless@vger.kernel.org \
--cc=mkubecek@suse.cz \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).