lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 17 Dec 2016 15:22:47 -0600
From:   Larry Finger <Larry.Finger@...inger.net>
To:     Jannik Becher <becher.jannik@...il.com>
Cc:     devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: rtl8712: changed struct members to __le32

On 12/17/2016 01:39 PM, Jannik Becher wrote:
> Fixed sparse warning "cast to restricted __le32".
> struct recv_stat and struct phy_stat have always little endian members.
>
> Signed-off-by: Jannik Becher <becher.jannik@...il.com>
> ---
>  drivers/staging/rtl8712/rtl8712_recv.h | 28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/staging/rtl8712/rtl8712_recv.h b/drivers/staging/rtl8712/rtl8712_recv.h
> index 0b0c273..0352e6f 100644
> --- a/drivers/staging/rtl8712/rtl8712_recv.h
> +++ b/drivers/staging/rtl8712/rtl8712_recv.h
> @@ -50,12 +50,12 @@
>  #define REORDER_WAIT_TIME	30 /* (ms)*/
>
>  struct recv_stat {
> -	unsigned int rxdw0;
> -	unsigned int rxdw1;
> -	unsigned int rxdw2;
> -	unsigned int rxdw3;
> -	unsigned int rxdw4;
> -	unsigned int rxdw5;
> +	__le32 rxdw0;
> +	__le32 rxdw1;
> +	__le32 rxdw2;
> +	__le32 rxdw3;
> +	__le32 rxdw4;
> +	__le32 rxdw5;
>  };
>
>  struct phy_cck_rx_status {
> @@ -69,14 +69,14 @@ struct phy_cck_rx_status {
>  };
>
>  struct phy_stat {
> -	unsigned int phydw0;
> -	unsigned int phydw1;
> -	unsigned int phydw2;
> -	unsigned int phydw3;
> -	unsigned int phydw4;
> -	unsigned int phydw5;
> -	unsigned int phydw6;
> -	unsigned int phydw7;
> +	__le32 phydw0;
> +	__le32 phydw1;
> +	__le32 phydw2;
> +	__le32 phydw3;
> +	__le32 phydw4;
> +	__le32 phydw5;
> +	__le32 phydw6;
> +	__le32 phydw7;
>  };
>  #define PHY_STAT_GAIN_TRSW_SHT 0
>  #define PHY_STAT_PWDB_ALL_SHT 4
>

Recent changes in the kernel source has turned on endian checking, which exposes 
a number of new Sparse warnings. If you plan on fixing more of them, please send 
the patches to me first. They should also be sent privately. That way I can test 
them on big-endian hardware. On LE hardware, the transformations all compile 
away and you cannot test if the patches break anything. If you do not plan to 
fix the other warnings, please let me know so that I can do it.

I have tested this patch and found it to be OK. My only complaint is that you 
should send the patch to Greg Kroah-Hartman <gregkh@...uxfoundation.org>. He 
handles changes to the staging tree.

Thanks,

Larry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ