Re: [PATCH] allow setting wiphy.perm_addr after driver probe
From: Daniel Gimpelevich <hidden>
Date: 2014-08-11 20:40:53
Also in:
lkml, netdev
On Mon, 2014-08-11 at 13:25 -0700, Marcel Holtmann wrote:
isn't this dangerous to just allow writing to wiphy.perm_addr via sysfs. We ran into the same issue with Bluetooth and ROM only devices that have to unique address. Doing this via sysfs seems the wrong approach. It is messy and full of potential race conditions. I clearly opted against the sysfs solution for Bluetooth. Instead we build an infrastructure that allowed doing it cleanly via the Bluetooth mgmt API. Controllers that have no unique address are brought up as unconfigured and userspace clearly knows that it has to take steps to get an address programmed into the controller.
My inclination is to agree; however, this does not exist for WiFi and implementing it would require modifying every single driver.
And I think something similar should be done for WiFi. It might be better to not create the initial wlan0 netdev interface if the hardware has not a single unique address available. That way the supplicant can just either get one from the flash filesystem or make up a proper random one before creating the netdev interface.
The initial wlan0 netdev interface is *not* created, but the PHY records a MAC address that cannot be overriden at the level that this sysfs node reads. Perhaps a compromise would be to create a single new syscall to write to it?