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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 11 May 2024 23:47:08 +0200
From: Christophe JAILLET <christophe.jaillet@...adoo.fr>
To: Simon Horman <horms@...nel.org>
Cc: gregkh@...uxfoundation.org, davem@...emloft.net, edumazet@...gle.com,
 kuba@...nel.org, pabeni@...hat.com, johannes@...solutions.net,
 philipp.g.hortmann@...il.com, tdavies@...kphysics.net,
 garyrookard@...tmail.org, straube.linux@...il.com,
 linux-staging@...ts.linux.dev, netdev@...r.kernel.org,
 linux-wireless@...r.kernel.org, linux-kernel@...r.kernel.org,
 kernel-janitors@...r.kernel.org
Subject: Re: [PATCH 1/3] lib80211: Handle const struct lib80211_crypto_ops in
 lib80211

Le 11/05/2024 à 22:31, Simon Horman a écrit :
> On Sat, May 11, 2024 at 06:32:38PM +0200, Christophe JAILLET wrote:
>> lib80211_register_crypto_ops() and lib80211_unregister_crypto_ops() don't
>> modify their "struct lib80211_crypto_ops *ops" argument. So, it can be
>> declared as const.
>>
>> Doing so, some adjustments are needed to also constify some date in
>> "struct lib80211_crypt_data", "struct lib80211_crypto_alg" and the
>> return value of lib80211_get_crypto_ops().
>>
>> Signed-off-by: Christophe JAILLET <christophe.jaillet@...adoo.fr>
>> ---
>> Compile tested only.
> 
> Hi Christophe,
> 
> Unfortunately allmodconfig W=1 build on x86_64 with Clang says:
> 
> .../libipw_wx.c:587:6: error: assigning to 'struct lib80211_crypto_ops *' from 'const struct lib80211_crypto_ops *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
>   587 |         ops = lib80211_get_crypto_ops(alg);
>       |             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> .../libipw_wx.c:590:7: error: assigning to 'struct lib80211_crypto_ops *' from 'const struct lib80211_crypto_ops *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
>   590 |                 ops = lib80211_get_crypto_ops(alg);
>       |                     ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 

Hi,

I'll dig more tomorrow, but I don't see this error (with gcc), even with 
W=1.

The following part of the patch is here to avoid the exact compilation 
error that you see.

Strange.

CJ


diff --git a/drivers/staging/rtl8192e/rtllib_wx.c 
b/drivers/staging/rtl8192e/rtllib_wx.c
index fbd4ec824084..c730d921463d 100644
--- a/drivers/staging/rtl8192e/rtllib_wx.c
+++ b/drivers/staging/rtl8192e/rtllib_wx.c
@@ -474,7 +474,7 @@ int rtllib_wx_set_encode_ext(struct rtllib_device *ieee,
  	int i, idx;
  	int group_key = 0;
  	const char *alg, *module;
-	struct lib80211_crypto_ops *ops;
+	const struct lib80211_crypto_ops *ops;
  	struct lib80211_crypt_data **crypt;

  	struct rtllib_security sec = {

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ