On Wed, 2007-09-26 at 16:51 -0700, Jean Tourrilhes wrote: > The patch I sent to Jouni was not a wpa_supplicant, but the > Wireless Tools patch. The complete fix is across multiple Wireless > Tools versions, and mixed with other stuff, this patch highlight > clearly the changes. > The patch probably does not have enough context to figure out > everything, but at least point in the right direction. It's > documentated, but feel free to ask questions. I also have tests > vectors that you can use on i386. I give up. I don't understand this structure packing at all nor do I really want to. All the "cmd implies which event structure to use" and "iw_point is defined as {pointer, length, flags} but used as {length, flags}"... If there were at least proper structures defined :( > I personally don't like much the parser used in > wpa_supplicant, and it's somewhat different from my code. You will > find it in those two functions : If I were to venture a guess I'd say that Jouni would accept a (sane) replacement if you were to license it under dual BSD/GPL as the rest of wpa_supplicant/hostapd. Could you try wpa_supplicant with kernel patch below on your 32-bit machine? I think this should make the problem show up on 32-bit machines. Not having a 64-bit machine needn't stop you from fixing the alignment problems :) I can then verify that it works and didn't break 64/64 setups if you want. johannes --- include/linux/wireless.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- linux-2.6-git.orig/include/linux/wireless.h 2007-10-08 14:21:47.119641377 +0200 +++ linux-2.6-git/include/linux/wireless.h 2007-10-08 14:23:17.136641377 +0200 @@ -664,7 +664,10 @@ struct iw_param */ struct iw_point { - void __user *pointer; /* Pointer to the data (in user space) */ + union { + void __user *pointer; /* Pointer to the data (in user space) */ + u64 on_64_bit_machines_the_pointer_is_64bits; + }; __u16 length; /* number of fields or size in bytes */ __u16 flags; /* Optional params */ }; - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html