From: Boaz H. <bha...@pa...> - 2010-09-29 08:41:43
|
On 09/28/2010 10:57 PM, Linus Torvalds wrote: > On Tue, Sep 28, 2010 at 1:47 PM, Andrew Morton > <ak...@li...> wrote: >> >> And I misread that, assuming that it's just a wrapper around >> eth_mac_addr(). Only it isn't, because it passes eth_mac_addr() the >> MAC address's address directly (with ->sa_data). But eth_mac_addr() >> expects a `struct sockaddr *'. >> >> And for some wtf reason, eth_mac_addr() passes that `struct >> sockaddr *' in a `void *', thus cunningly hiding the bug. >> >> Yeah, please revert it. > > Well, the alternative would be to just fix uml_net_set_mac(). The code > before the patch was clearly crap too, so reverting may make it work, > but gets us back to a stupid situation with two different initializers > for one field. > > So perhaps something like the attached patch would make it work, and > have the locking in place that apparently people think it should have? > > Boaz? > OK I get the picture. We should attempt a proper fixing. Well since I get to test it, then I get to fix it as well, right ;-)? With this I'm now back to my usual: boots fine but half of the times not halting. But I think that's a Fedora12 problem with interaction with uml. (Which I do not have time to investigate) > Linus Thanks, have a good day Boaz |