Linux wireless drivers development
 help / color / mirror / Atom feed
* ieee80211_wep_encrypt_data_fix_unaligned_access.patch
@ 2008-11-21 22:46 Ivan Kuten
  2008-11-22 17:18 ` ieee80211_wep_encrypt_data_fix_unaligned_access.patch Johannes Berg
  2008-11-22 17:59 ` ieee80211_wep_encrypt_data_fix_unaligned_access.patch Johannes Berg
  0 siblings, 2 replies; 4+ messages in thread
From: Ivan Kuten @ 2008-11-21 22:46 UTC (permalink / raw)
  To: linux-wireless

Hello, 

Please review the following patch which is supposed to fix unaligned access
on Blackfin architecture.
In function net/mac80211/wep.c ieee80211_wep_encrypt_data:
__le32 *icv;
icv = (__le32 *)(data + data_len); 

after the operation above icv pointer may become unaligned. 
The patch below fixes this issue:


--- linux-2.6.28-rc3/net/mac80211/wep.c 2008-11-20 00:04:58.000000000 -0500
+++ linux-2.6.86-rc3.new/net/mac80211/wep.c     2008-11-22
00:37:53.000000000 -0500
@@ -123,10 +123,10 @@
 {
        struct blkcipher_desc desc = { .tfm = tfm };
        struct scatterlist sg;
-       __le32 *icv;
+       __le32 icv;

-       icv = (__le32 *)(data + data_len);
-       *icv = cpu_to_le32(~crc32_le(~0, data, data_len));
+       icv = cpu_to_le32(~crc32_le(~0, data, data_len));
+       put_unaligned(icv, (__le32 *)(data + data_len));

        crypto_blkcipher_setkey(tfm, rc4key, klen);
        sg_init_one(&sg, data, data_len + WEP_ICV_LEN);


Comments?

Regards,
Ivan



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

end of thread, other threads:[~2008-11-22 17:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-21 22:46 ieee80211_wep_encrypt_data_fix_unaligned_access.patch Ivan Kuten
2008-11-22 17:18 ` ieee80211_wep_encrypt_data_fix_unaligned_access.patch Johannes Berg
2008-11-22 17:58   ` ieee80211_wep_encrypt_data_fix_unaligned_access.patch Johannes Berg
2008-11-22 17:59 ` ieee80211_wep_encrypt_data_fix_unaligned_access.patch Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox