Search Linux Wireless

Re: [PATCH 2/2] mac80211: mesh_plink: use get_unaligned_le16 instead of memcpy

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

 



[+CC linux-wireless]
On Sat, Jun 28, 2014 at 04:35:26PM -0400, Bob Copeland wrote:
> Use get_unaligned_le16 to access llid/plid.
> 
> Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx>
> ---
>  net/mac80211/mesh_plink.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/net/mac80211/mesh_plink.c b/net/mac80211/mesh_plink.c
> index c47194d..421ec06 100644
> --- a/net/mac80211/mesh_plink.c
> +++ b/net/mac80211/mesh_plink.c
> @@ -1004,7 +1004,6 @@ mesh_process_plink_frame(struct ieee80211_sub_if_data *sdata,
>  	enum ieee80211_self_protected_actioncode ftype;
>  	u32 changed = 0;
>  	u8 ie_len = elems->peering_len;
> -	__le16 _plid, _llid;
>  	u16 plid, llid = 0;
>  
>  	if (!elems->peering) {
> @@ -1039,13 +1038,10 @@ mesh_process_plink_frame(struct ieee80211_sub_if_data *sdata,
>  	/* Note the lines below are correct, the llid in the frame is the plid
>  	 * from the point of view of this host.
>  	 */
> -	memcpy(&_plid, PLINK_GET_LLID(elems->peering), sizeof(__le16));
> -	plid = le16_to_cpu(_plid);
> +	plid = get_unaligned_le16(PLINK_GET_LLID(elems->peering));
>  	if (ftype == WLAN_SP_MESH_PEERING_CONFIRM ||
> -	    (ftype == WLAN_SP_MESH_PEERING_CLOSE && ie_len == 8)) {
> -		memcpy(&_llid, PLINK_GET_PLID(elems->peering), sizeof(__le16));
> -		llid = le16_to_cpu(_llid);
> -	}
> +	    (ftype == WLAN_SP_MESH_PEERING_CLOSE && ie_len == 8))
> +		llid = get_unaligned_le16(PLINK_GET_PLID(elems->peering));
>  
>  	/* WARNING: Only for sta pointer, is dropped & re-acquired */
>  	rcu_read_lock();
> -- 
> 2.0.0.rc2
> 

-- 
Bob Copeland %% www.bobcopeland.com
--
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 Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux