Thread (18 messages) 18 messages, 4 authors, 2017-03-02

Re: [PATCH 1/2] mac80211_hwsim: Make sure NEW_RADIO contains final name

From: Johannes Berg <johannes@sipsolutions.net>
Date: 2017-02-27 13:24:42

On Fri, 2017-02-24 at 01:08 +0100, Andrew Zaborowski wrote:
On 23 February 2017 at 13:02, Andrew Zaborowski
[off-list ref] wrote:
quoted
ieee80211_alloc_hw_nm will validate the requested name (if any)
before
creating the new device and may use a name different from the one
requested rather than fail.  Make sure the HWSIM_CMD_NEW_RADIO
event/response generated has the final name or userspace will
receive
the wrong name.  Note that mac80211_hwsim_new_radio may now modify
params.
Also related to this I find that the HWSIM_ATTR_RADIO_NAME attributes
emitted contain the name string and are exactly of the right length
while the HWSIM_ATTR_RADIO_NAME attributes received by the kernel are
assumed to be NUL-terminated.  
I'll agree this is a bit strange - I guess it's too late to fix now
though since userspace might assume "length/data" is the string, rather
than "0-terminated" (especially if there's something like python
userspace where strings can trivially contain NUL bytes).

nla_put_string() would have added the NUL byte.
Is there a guarantee that a 0-byte
follows an attribute, or should this be changed for consistency?
        [HWSIM_ATTR_RADIO_NAME] = { .type = NLA_STRING },

enforces that a NUL byte *must* be present when userspace gives us the
information, so we're save - just asymmetric.

Anyway, patch applied.

johannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help