RE: [PATCH net-next 5/7] s390/qeth: improve endianness handling

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

 



From: Ursula Braun
> Sent: 05 April 2017 09:40
> From: Hans Wippel <hwippel@xxxxxxxxxxxxxxxxxx>
> 
> Avoid endianness warnings reported by sparse by (1) using endianness
> conversions for assigning and using network packet fields, and (2)
> removing unnecessary endianness conversions from qeth_l3_rebuild_skb. No
> functional changes.
> 
> Signed-off-by: Hans Wippel <hwippel@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Ursula Braun <ubraun@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/s390/net/qeth_core.h      |  4 ++--
>  drivers/s390/net/qeth_core_main.c | 11 +++++-----
>  drivers/s390/net/qeth_l3_main.c   | 46 +++++++++++++++++++--------------------
>  drivers/s390/net/qeth_l3_sys.c    |  4 ++--
>  4 files changed, 33 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h
> index 22aa2cd..6764ab9 100644
> --- a/drivers/s390/net/qeth_core.h
> +++ b/drivers/s390/net/qeth_core.h
> @@ -844,9 +844,9 @@ static inline int qeth_get_ip_version(struct sk_buff *skb)
>  {
>  	__be16 *p = &((struct ethhdr *)skb->data)->h_proto;
> 
> -	if (*p == ETH_P_8021Q)
> +	if (be16_to_cpu(*p) == ETH_P_8021Q)
>  		p += 2;
> -	switch (*p) {
> +	switch (be16_to_cpu(*p)) {
>  	case ETH_P_IPV6:

These are definitely 'functional changes' on LE systems.

Also it is generally better to byteswap the constants.

	David

--
To unsubscribe from this list: send the line "unsubscribe linux-s390" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux