Le 11/12/2012 19:40, Thomas Graf a écrit :
On 12/11/12 at 04:03pm, Nicolas Dichtel wrote:
quoted
In fact, it seems not so easy because most users of nlmsg_new() calculate
the exact needed length, thus if we add an unpredicted attribute,
the message will be too small.
True, we would either need to fix the calculations by accounting
for an additional 4 bytes for each 64bit arg or just reserve an
additional fixed amount for padding per message in nlmsg_new().
I would say that reserving additional space is better, because we also
need to align attributes that contain u64 fields:
struct attribute_foo {
__u32 bar;
__u32 bar2;
__u64 foo;
};
I wonder if it is better to align all attribute on 64-bits or only u64 and
add a new function nla_put_align64() for attribute with u64 fields.