All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Staging: rtl8712: replace memcpy with ether_addr_copy
@ 2015-03-14 13:17 Haneen Mohammed
  2015-03-16 14:47 ` [Outreachy kernel] " Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Haneen Mohammed @ 2015-03-14 13:17 UTC (permalink / raw)
  To: outreachy-kernel; +Cc: Haneen Mohammed

This patch replace memcpy with ethe_addr_copy to address the following
warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy
if the Ethernet addresses are __aligned(2)"

Follwoing is the output of pahole for the relevant datastructures:
1- for  "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data"

struct sockaddr {
        sa_family_t                sa_family;            /*     0     2
*/
        char                       sa_data[14];          /*     2    14
*/

        /* size: 16, cachelines: 1, members: 2 */
        /* last cacheline: 16 bytes */
};

struct iw_event {
        __u16                      len;                  /*     0     2
*/
        __u16                      cmd;                  /*     2     2
*/

        /* XXX 4 bytes hole, try to pack */

        union iwreq_data           u;                    /*     8    16
*/

        /* size: 24, cachelines: 1, members: 3 */
        /* sum members: 20, holes: 1, sum holes: 4 */
        /* last cacheline: 24 bytes */
};

2- for  "pnetwork->network.MacAddress" and "pcur_bss->MacAddress"

struct wlan_network {
        struct list_head           list;                 /*     0    16
*/
        int                        network_type;         /*    16     4
*/
        int                        fixed;                /*    20     4
*/
        unsigned int               last_scanned;         /*    24     4
*/
        int                        aid;                  /*    28     4
*/
        int                        join_res;             /*    32     4
*/
        struct ndis_wlan_bssid_ex  network;              /*    36   884
*/
        /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago --- */

        /* size: 920, cachelines: 15, members: 7 */
        /* last cacheline: 24 bytes */
};

struct ndis_wlan_bssid_ex {
        u32                        Length;               /*     0     4
*/
        unsigned char              MacAddress[6];        /*     4     6
*/
        u8                         Reserved[2];          /*    10     2
*/
        struct ndis_802_11_ssid    Ssid;                 /*    12    36
*/
        u32                        Privacy;              /*    48     4
*/
        s32                        Rssi;                 /*    52     4
*/
        enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;  /*    56     4
*/
        struct NDIS_802_11_CONFIGURATION Configuration;  /*    60    32
*/
        /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */
        enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; /*
92     4 */
        NDIS_802_11_RATES_EX       SupportedRates;       /*    96    16
*/
        u32                        IELength;             /*   112     4
*/
        u8                         IEs[768];             /*   116   768
*/
        /* --- cacheline 13 boundary (832 bytes) was 52 bytes ago --- */

        /* size: 884, cachelines: 14, members: 12 */
        /* last cacheline: 52 bytes */
};

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
---
 drivers/staging/rtl8712/rtl871x_ioctl_linux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
index eacba8c..81f39c3 100644
--- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
+++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
@@ -185,7 +185,7 @@ static inline char *translate_scan(struct _adapter *padapter,
 	/* AP MAC address */
 	iwe.cmd = SIOCGIWAP;
 	iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
-	memcpy(iwe.u.ap_addr.sa_data, pnetwork->network.MacAddress, ETH_ALEN);
+	ether_addr_copy(iwe.u.ap_addr.sa_data, pnetwork->network.MacAddress);
 	start = iwe_stream_add_event(info, start, stop, &iwe, IW_EV_ADDR_LEN);
 	/* Add the ESSID */
 	iwe.cmd = SIOCGIWESSID;
@@ -1117,7 +1117,7 @@ static int r8711_wx_get_wap(struct net_device *dev,
 	wrqu->ap_addr.sa_family = ARPHRD_ETHER;
 	if (check_fwstate(pmlmepriv, _FW_LINKED | WIFI_ADHOC_MASTER_STATE |
 				     WIFI_AP_STATE))
-		memcpy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress, ETH_ALEN);
+		ether_addr_copy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress);
 	else
 		eth_zero_addr(wrqu->ap_addr.sa_data);
 	return 0;
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Outreachy kernel] [PATCH] Staging: rtl8712: replace memcpy with ether_addr_copy
  2015-03-14 13:17 [PATCH] Staging: rtl8712: replace memcpy with ether_addr_copy Haneen Mohammed
@ 2015-03-16 14:47 ` Greg KH
  2015-03-16 15:41   ` [PATCH v2] " Haneen Mohammed
  0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2015-03-16 14:47 UTC (permalink / raw)
  To: Haneen Mohammed; +Cc: outreachy-kernel

On Sat, Mar 14, 2015 at 04:17:04PM +0300, Haneen Mohammed wrote:
> This patch replace memcpy with ethe_addr_copy to address the following
> warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy
> if the Ethernet addresses are __aligned(2)"
> 
> Follwoing is the output of pahole for the relevant datastructures:
> 1- for  "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data"
> 
> struct sockaddr {
>         sa_family_t                sa_family;            /*     0     2
> */
>         char                       sa_data[14];          /*     2    14
> */

Your lines are wrapped here very oddly.  Please fix that up and resend.

thanks,

greg k-h


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2] Staging: rtl8712: replace memcpy with ether_addr_copy
  2015-03-16 14:47 ` [Outreachy kernel] " Greg KH
@ 2015-03-16 15:41   ` Haneen Mohammed
  2015-03-17 15:35     ` [Outreachy kernel] " Jes Sorensen
  0 siblings, 1 reply; 4+ messages in thread
From: Haneen Mohammed @ 2015-03-16 15:41 UTC (permalink / raw)
  To: outreachy-kernel; +Cc: Haneen Mohammed

This patch replace memcpy with ethe_addr_copy to address the following
warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy
if the Ethernet addresses are __aligned(2)"

Follwoing is the output of pahole for the relevant datastructures:
1- for  "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data"

struct sockaddr {
        sa_family_t                sa_family;            /*     0     2 */
        char                       sa_data[14];          /*     2    14 */

        /* size: 16, cachelines: 1, members: 2 */
        /* last cacheline: 16 bytes */
};

struct iw_event {
        __u16                      len;                  /*     0     2 */
        __u16                      cmd;                  /*     2     2 */

        /* XXX 4 bytes hole, try to pack */

        union iwreq_data           u;                    /*     8    16 */

        /* size: 24, cachelines: 1, members: 3 */
        /* sum members: 20, holes: 1, sum holes: 4 */
        /* last cacheline: 24 bytes */
};

2- for  "pnetwork->network.MacAddress" and "pcur_bss->MacAddress"

struct wlan_network {
        struct list_head           list;                 /*     0    16 */
        int                        network_type;         /*    16     4 */
        int                        fixed;                /*    20     4 */
        unsigned int               last_scanned;         /*    24     4 */
        int                        aid;                  /*    28     4 */
        int                        join_res;             /*    32     4 */
        struct ndis_wlan_bssid_ex  network;              /*    36   884 */
        /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago ---   */

        /* size: 920, cachelines: 15, members: 7 */
        /* last cacheline: 24 bytes */
};

struct ndis_wlan_bssid_ex {
        u32                        Length;               /*     0     4 */
        unsigned char              MacAddress[6];        /*     4     6 */
        u8                         Reserved[2];          /*    10     2 */
        struct ndis_802_11_ssid    Ssid;                 /*    12    36 */
        u32                        Privacy;              /*    48     4 */
        s32                        Rssi;                 /*    52     4 */
        enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;  /*    56     4 */
        struct NDIS_802_11_CONFIGURATION Configuration;  /*    60    32 */
        /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */
        enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; /* 92     4 */
        NDIS_802_11_RATES_EX       SupportedRates;       /*    96    16 */
        u32                        IELength;             /*   112     4 */
        u8                         IEs[768];             /*   116   768 */
        /* --- cacheline 13 boundary (832 bytes) was 52 bytes ago --- */

        /* size: 884, cachelines: 14, members: 12 */
        /* last cacheline: 52 bytes */
};

Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
---
v2: fix commit msg

 drivers/staging/rtl8712/rtl871x_ioctl_linux.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
index eacba8c..81f39c3 100644
--- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
+++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
@@ -185,7 +185,7 @@ static inline char *translate_scan(struct _adapter *padapter,
 	/* AP MAC address */
 	iwe.cmd = SIOCGIWAP;
 	iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
-	memcpy(iwe.u.ap_addr.sa_data, pnetwork->network.MacAddress, ETH_ALEN);
+	ether_addr_copy(iwe.u.ap_addr.sa_data, pnetwork->network.MacAddress);
 	start = iwe_stream_add_event(info, start, stop, &iwe, IW_EV_ADDR_LEN);
 	/* Add the ESSID */
 	iwe.cmd = SIOCGIWESSID;
@@ -1117,7 +1117,7 @@ static int r8711_wx_get_wap(struct net_device *dev,
 	wrqu->ap_addr.sa_family = ARPHRD_ETHER;
 	if (check_fwstate(pmlmepriv, _FW_LINKED | WIFI_ADHOC_MASTER_STATE |
 				     WIFI_AP_STATE))
-		memcpy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress, ETH_ALEN);
+		ether_addr_copy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress);
 	else
 		eth_zero_addr(wrqu->ap_addr.sa_data);
 	return 0;
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Outreachy kernel] [PATCH v2] Staging: rtl8712: replace memcpy with ether_addr_copy
  2015-03-16 15:41   ` [PATCH v2] " Haneen Mohammed
@ 2015-03-17 15:35     ` Jes Sorensen
  0 siblings, 0 replies; 4+ messages in thread
From: Jes Sorensen @ 2015-03-17 15:35 UTC (permalink / raw)
  To: Haneen Mohammed, outreachy-kernel

On 03/16/15 11:41, Haneen Mohammed wrote:
> This patch replace memcpy with ethe_addr_copy to address the following
> warning generated by checkpatch.pl: ""Prefer ether_addr_copy over memcpy
> if the Ethernet addresses are __aligned(2)"
> 
> Follwoing is the output of pahole for the relevant datastructures:
> 1- for  "iwe.u.ap_addr.sa_data" and "wrqu->ap_addr.sa_data"
> 
> struct sockaddr {
>         sa_family_t                sa_family;            /*     0     2 */
>         char                       sa_data[14];          /*     2    14 */
> 
>         /* size: 16, cachelines: 1, members: 2 */
>         /* last cacheline: 16 bytes */
> };
> 
> struct iw_event {
>         __u16                      len;                  /*     0     2 */
>         __u16                      cmd;                  /*     2     2 */
> 
>         /* XXX 4 bytes hole, try to pack */
> 
>         union iwreq_data           u;                    /*     8    16 */
> 
>         /* size: 24, cachelines: 1, members: 3 */
>         /* sum members: 20, holes: 1, sum holes: 4 */
>         /* last cacheline: 24 bytes */
> };
> 
> 2- for  "pnetwork->network.MacAddress" and "pcur_bss->MacAddress"
> 
> struct wlan_network {
>         struct list_head           list;                 /*     0    16 */
>         int                        network_type;         /*    16     4 */
>         int                        fixed;                /*    20     4 */
>         unsigned int               last_scanned;         /*    24     4 */
>         int                        aid;                  /*    28     4 */
>         int                        join_res;             /*    32     4 */
>         struct ndis_wlan_bssid_ex  network;              /*    36   884 */
>         /* --- cacheline 14 boundary (896 bytes) was 24 bytes ago ---   */
> 
>         /* size: 920, cachelines: 15, members: 7 */
>         /* last cacheline: 24 bytes */
> };
> 
> struct ndis_wlan_bssid_ex {
>         u32                        Length;               /*     0     4 */
>         unsigned char              MacAddress[6];        /*     4     6 */
>         u8                         Reserved[2];          /*    10     2 */
>         struct ndis_802_11_ssid    Ssid;                 /*    12    36 */
>         u32                        Privacy;              /*    48     4 */
>         s32                        Rssi;                 /*    52     4 */
>         enum NDIS_802_11_NETWORK_TYPE NetworkTypeInUse;  /*    56     4 */
>         struct NDIS_802_11_CONFIGURATION Configuration;  /*    60    32 */
>         /* --- cacheline 1 boundary (64 bytes) was 28 bytes ago --- */
>         enum NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; /* 92     4 */
>         NDIS_802_11_RATES_EX       SupportedRates;       /*    96    16 */
>         u32                        IELength;             /*   112     4 */
>         u8                         IEs[768];             /*   116   768 */
>         /* --- cacheline 13 boundary (832 bytes) was 52 bytes ago --- */
> 
>         /* size: 884, cachelines: 14, members: 12 */
>         /* last cacheline: 52 bytes */
> };
> 
> Signed-off-by: Haneen Mohammed <hamohammed.sa@gmail.com>
> ---
> v2: fix commit msg
> 
>  drivers/staging/rtl8712/rtl871x_ioctl_linux.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

This looks good!

Jes

> diff --git a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> index eacba8c..81f39c3 100644
> --- a/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> +++ b/drivers/staging/rtl8712/rtl871x_ioctl_linux.c
> @@ -185,7 +185,7 @@ static inline char *translate_scan(struct _adapter *padapter,
>  	/* AP MAC address */
>  	iwe.cmd = SIOCGIWAP;
>  	iwe.u.ap_addr.sa_family = ARPHRD_ETHER;
> -	memcpy(iwe.u.ap_addr.sa_data, pnetwork->network.MacAddress, ETH_ALEN);
> +	ether_addr_copy(iwe.u.ap_addr.sa_data, pnetwork->network.MacAddress);
>  	start = iwe_stream_add_event(info, start, stop, &iwe, IW_EV_ADDR_LEN);
>  	/* Add the ESSID */
>  	iwe.cmd = SIOCGIWESSID;
> @@ -1117,7 +1117,7 @@ static int r8711_wx_get_wap(struct net_device *dev,
>  	wrqu->ap_addr.sa_family = ARPHRD_ETHER;
>  	if (check_fwstate(pmlmepriv, _FW_LINKED | WIFI_ADHOC_MASTER_STATE |
>  				     WIFI_AP_STATE))
> -		memcpy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress, ETH_ALEN);
> +		ether_addr_copy(wrqu->ap_addr.sa_data, pcur_bss->MacAddress);
>  	else
>  		eth_zero_addr(wrqu->ap_addr.sa_data);
>  	return 0;
> 



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-03-17 15:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-14 13:17 [PATCH] Staging: rtl8712: replace memcpy with ether_addr_copy Haneen Mohammed
2015-03-16 14:47 ` [Outreachy kernel] " Greg KH
2015-03-16 15:41   ` [PATCH v2] " Haneen Mohammed
2015-03-17 15:35     ` [Outreachy kernel] " Jes Sorensen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.