From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
To: Thomas Graf <tgraf@suug.ch>
Cc: David Miller <davem@davemloft.net>,
David.Laight@ACULAB.COM, netdev@vger.kernel.org
Subject: Re: [PATCH net-next 0/7] Allow to monitor multicast cache event via rtnetlink
Date: Thu, 06 Dec 2012 22:49:43 +0100 [thread overview]
Message-ID: <50C112F7.1010000@6wind.com> (raw)
In-Reply-To: <20121206174905.GC16122@casper.infradead.org>
Le 06/12/2012 18:49, Thomas Graf a écrit :
> On 12/06/12 at 09:43am, Nicolas Dichtel wrote:
>> Le 05/12/2012 18:54, David Miller a écrit :
>>> From: "David Laight" <David.Laight@ACULAB.COM>
>>> Date: Wed, 5 Dec 2012 11:41:33 -0000
>>>
>>>> Probably worth commenting that the 64bit items might only be 32bit aligned.
>>>> Just to stop anyone trying to read/write them with pointer casts.
>>>
>>> Rather, let's not create this situation at all.
>>>
>>> It's totally inappropriate to have special code to handle every single
>>> time we want to put 64-bit values into netlink messages.
>>>
>>> We need a real solution to this issue.
>>>
>> The easiest way is to update *_ALIGNTO values (maybe we can keep
>> NLMSG_ALIGNTO to 4). But I think that many userland apps have these
>> values hardcoded and, the most important thing, this may increase
>> size of many netlink messages. Hence we need probably to find
>> something better.
>
> We can't do this, as you say, ALIGNTO is compiled into all the
> binaries.
>
> A simple backwards compatible workaround would be to include an
> unknown, empty padding attribute if needed. That would be 4 bytes
> in size and could be used to include padding as needed.
>
> We could use nla_type = 0 as it is a reserved value that should
> be available in all protocols. All readers (kernel and user space)
> must ignore such an attribute just like any other unknown
> attribute they encounter.
>
> We could easily extend nla_put_u64() and variants to automatically
> include such a padding attribute as needed.
>
> The only situation that I can think of where this would not work
> is if we have code like this:
>
> foo = nla_nest_start();
> for ([..])
> nla_put_u64([...])
> nla_nest_end([...])
>
> and a reader would stupidly do a nla_for_each_attr() in user space
> and assume all attributes found must be NLA_U64 without even
> checking the length of the attribute.
>
> I would say we take that risk and let such code die horribly.
>
Ok, I can work to a patch next week if you want (I will be off until Tuesday).
next prev parent reply other threads:[~2012-12-06 21:49 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-04 11:13 [PATCH net-next 0/7] Allow to monitor multicast cache event via rtnetlink Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 1/7] netconf: advertise mc_forwarding status Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 2/7] ip6mr: use nla_nest_* helpers Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 3/7] ipmr/ip6mr: advertise mfc stats via rtnetlink Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 4/7] ipmr/ip6mr: report origin of mfc entry into rtnl msg Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 5/7] ipmr/ip6mr: allow to get unresolved cache via netlink Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 6/7] ipmr: advertise new mfc entries via rtnl Nicolas Dichtel
2012-12-04 11:13 ` [PATCH net-next 7/7] ip6mr: " Nicolas Dichtel
2012-12-04 18:09 ` [PATCH net-next 0/7] Allow to monitor multicast cache event via rtnetlink David Miller
2012-12-04 20:02 ` Nicolas Dichtel
2012-12-05 11:02 ` Nicolas Dichtel
2012-12-05 11:41 ` David Laight
2012-12-05 17:54 ` David Miller
2012-12-06 8:43 ` Nicolas Dichtel
2012-12-06 17:49 ` Thomas Graf
2012-12-06 21:49 ` Nicolas Dichtel [this message]
2012-12-07 10:38 ` David Laight
2012-12-07 10:58 ` Thomas Graf
2012-12-11 15:03 ` Nicolas Dichtel
2012-12-11 18:40 ` Thomas Graf
2012-12-12 17:30 ` Nicolas Dichtel
2012-12-14 13:16 ` [PATCH] netlink: align attributes on 64-bits Nicolas Dichtel
2012-12-14 15:49 ` Ben Hutchings
2012-12-14 16:04 ` Nicolas Dichtel
2012-12-17 16:49 ` [PATCH v2] " Nicolas Dichtel
2012-12-17 17:06 ` David Laight
2012-12-17 17:35 ` Nicolas Dichtel
2012-12-18 9:19 ` David Laight
2012-12-18 10:18 ` Nicolas Dichtel
2012-12-18 12:57 ` Thomas Graf
2012-12-18 16:23 ` Nicolas Dichtel
2012-12-18 16:50 ` David Laight
2012-12-18 17:11 ` Thomas Graf
2012-12-19 9:17 ` David Laight
2012-12-19 17:20 ` Thomas Graf
2012-12-20 9:37 ` David Laight
2012-12-20 9:40 ` David Laight
2012-12-18 17:08 ` Thomas Graf
2012-12-18 22:07 ` Nicolas Dichtel
2012-12-19 11:22 ` Nicolas Dichtel
2012-12-19 17:09 ` Thomas Graf
2012-12-19 18:07 ` Nicolas Dichtel
2012-12-17 9:59 ` [PATCH] " David Laight
2012-12-17 16:53 ` Nicolas Dichtel
2012-12-05 17:53 ` [PATCH net-next 0/7] Allow to monitor multicast cache event via rtnetlink David Miller
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=50C112F7.1010000@6wind.com \
--to=nicolas.dichtel@6wind.com \
--cc=David.Laight@ACULAB.COM \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=tgraf@suug.ch \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.