Search Linux Wireless

Re: wext 64-bit: network manager and wpa_supplicant

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux