Re: : Emit event stream compat iw_point objects correctly.
From: David Miller <davem@davemloft.net>
Date: 2007-12-27 08:57:26
Also in:
linux-wireless
From: David Miller <davem@davemloft.net>
Date: 2007-12-27 08:57:26
Also in:
linux-wireless
From: Masakazu Mokuno <redacted> Date: Thu, 27 Dec 2007 17:51:49 +0900
Hi On Fri, 21 Dec 2007 20:58:08 -0800 (PST) David Miller [off-list ref] wrote:quoted
@@ -520,7 +530,7 @@ iwe_stream_add_point(char * stream, /* Stream of events */ memcpy(stream + IW_EV_LCP_LEN, ((char *) iwe) + IW_EV_LCP_LEN + IW_EV_POINT_OFF, IW_EV_POINT_PK_LEN - IW_EV_LCP_PK_LEN);As the alignment of 64bit platforms may be defferent from 32bit one, should it be like the following?
IW_EV_LCP_LEN is the same on both 32-bit and 64-bit platforms, it is just the size of the "len" and "cmd" portions of struct iw_event. Those are both __u16, so IW_EV_LCP_LEN always evaluates to "4", try it if you do not believe me. :-) The iwreq_data size is invariant across the calculations. If it's bigger on 64-bit, more will be subtracted in the calculation performed by IW_EV_LCP_LEN. So my patches are correct as-is and we do not need to be mindful of compat'ness wrt. IW_EV_LCP_LEN.