Commit 01713f0d authored by Ivan Safonov's avatar Ivan Safonov Committed by Greg Kroah-Hartman

staging: r8188eu: use proper type for second argiment of rtw_(aes|tkip|wep)_(decrypt|encrypt)

rtw_aes_decrypt, rtw_tkip_decrypt, rtw_wep_decrypt, rtw_aes_encrypt,
rtw_tkip_encrypt, rtw_wep_encrypt are takes (u8 *) second argiment and
always uses it as (struct recv_frame *) or (struct xmit_frame *).
This is causes a lot of unnecessary type casts
and complicates refactoring.
Signed-off-by: default avatarIvan Safonov <insafonov@gmail.com>
Link: https://lore.kernel.org/r/20200726210246.68633-1-insafonov@gmail.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8750d02d
...@@ -870,7 +870,7 @@ static void issue_auth(struct adapter *padapter, struct sta_info *psta, ...@@ -870,7 +870,7 @@ static void issue_auth(struct adapter *padapter, struct sta_info *psta,
pattrib->last_txcmdsz = pattrib->pktlen; pattrib->last_txcmdsz = pattrib->pktlen;
rtw_wep_encrypt(padapter, (u8 *)pmgntframe); rtw_wep_encrypt(padapter, pmgntframe);
DBG_88E("%s\n", __func__); DBG_88E("%s\n", __func__);
dump_mgntframe(padapter, pmgntframe); dump_mgntframe(padapter, pmgntframe);
} }
......
...@@ -384,13 +384,13 @@ static struct recv_frame *decryptor(struct adapter *padapter, ...@@ -384,13 +384,13 @@ static struct recv_frame *decryptor(struct adapter *padapter,
switch (prxattrib->encrypt) { switch (prxattrib->encrypt) {
case _WEP40_: case _WEP40_:
case _WEP104_: case _WEP104_:
res = rtw_wep_decrypt(padapter, (u8 *)precv_frame); res = rtw_wep_decrypt(padapter, precv_frame);
break; break;
case _TKIP_: case _TKIP_:
res = rtw_tkip_decrypt(padapter, (u8 *)precv_frame); res = rtw_tkip_decrypt(padapter, precv_frame);
break; break;
case _AES_: case _AES_:
res = rtw_aes_decrypt(padapter, (u8 *)precv_frame); res = rtw_aes_decrypt(padapter, precv_frame);
break; break;
default: default:
break; break;
......
...@@ -129,12 +129,12 @@ static __le32 getcrc32(u8 *buf, int len) ...@@ -129,12 +129,12 @@ static __le32 getcrc32(u8 *buf, int len)
/* /*
Need to consider the fragment situation Need to consider the fragment situation
*/ */
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) void rtw_wep_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
{ {
int curfragnum, length; int curfragnum, length;
u8 *pframe; u8 *pframe;
u8 hw_hdr_offset = 0; u8 hw_hdr_offset = 0;
struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; struct pkt_attrib *pattrib = &pxmitframe->attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv; struct security_priv *psecuritypriv = &padapter->securitypriv;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
const int keyindex = psecuritypriv->dot11PrivacyKeyIndex; const int keyindex = psecuritypriv->dot11PrivacyKeyIndex;
...@@ -142,16 +142,16 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) ...@@ -142,16 +142,16 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
struct sk_buff *skb; struct sk_buff *skb;
struct lib80211_crypto_ops *crypto_ops; struct lib80211_crypto_ops *crypto_ops;
if (((struct xmit_frame *)pxmitframe)->buf_addr == NULL) if (pxmitframe->buf_addr == NULL)
return; return;
if ((pattrib->encrypt != _WEP40_) && (pattrib->encrypt != _WEP104_)) if ((pattrib->encrypt != _WEP40_) && (pattrib->encrypt != _WEP104_))
return; return;
hw_hdr_offset = TXDESC_SIZE + hw_hdr_offset = TXDESC_SIZE +
(((struct xmit_frame *)pxmitframe)->pkt_offset * PACKET_OFFSET_SZ); (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; pframe = pxmitframe->buf_addr + hw_hdr_offset;
crypto_ops = lib80211_get_crypto_ops("WEP"); crypto_ops = lib80211_get_crypto_ops("WEP");
...@@ -198,13 +198,13 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) ...@@ -198,13 +198,13 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe)
crypto_ops->deinit(crypto_private); crypto_ops->deinit(crypto_private);
} }
int rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe) int rtw_wep_decrypt(struct adapter *padapter, struct recv_frame *precvframe)
{ {
struct rx_pkt_attrib *prxattrib = &(((struct recv_frame *)precvframe)->attrib); struct rx_pkt_attrib *prxattrib = &precvframe->attrib;
if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) { if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) {
struct security_priv *psecuritypriv = &padapter->securitypriv; struct security_priv *psecuritypriv = &padapter->securitypriv;
struct sk_buff *skb = ((struct recv_frame *)precvframe)->pkt; struct sk_buff *skb = precvframe->pkt;
u8 *pframe = skb->data; u8 *pframe = skb->data;
void *crypto_private = NULL; void *crypto_private = NULL;
int status = _SUCCESS; int status = _SUCCESS;
...@@ -572,7 +572,7 @@ static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16) ...@@ -572,7 +572,7 @@ static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16)
} }
/* The hlen isn't include the IV */ /* The hlen isn't include the IV */
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) u32 rtw_tkip_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
{ /* exclude ICV */ { /* exclude ICV */
u16 pnl; u16 pnl;
u32 pnh; u32 pnh;
...@@ -586,17 +586,17 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) ...@@ -586,17 +586,17 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
u8 *pframe, *payload, *iv, *prwskey; u8 *pframe, *payload, *iv, *prwskey;
union pn48 dot11txpn; union pn48 dot11txpn;
struct sta_info *stainfo; struct sta_info *stainfo;
struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; struct pkt_attrib *pattrib = &pxmitframe->attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv; struct security_priv *psecuritypriv = &padapter->securitypriv;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
u32 res = _SUCCESS; u32 res = _SUCCESS;
if (((struct xmit_frame *)pxmitframe)->buf_addr == NULL) if (pxmitframe->buf_addr == NULL)
return _FAIL; return _FAIL;
hw_hdr_offset = TXDESC_SIZE + hw_hdr_offset = TXDESC_SIZE +
(((struct xmit_frame *)pxmitframe)->pkt_offset * PACKET_OFFSET_SZ); (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; pframe = pxmitframe->buf_addr + hw_hdr_offset;
/* 4 start to encrypt each fragment */ /* 4 start to encrypt each fragment */
if (pattrib->encrypt == _TKIP_) { if (pattrib->encrypt == _TKIP_) {
if (pattrib->psta) if (pattrib->psta)
...@@ -653,7 +653,7 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) ...@@ -653,7 +653,7 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe)
} }
/* The hlen isn't include the IV */ /* The hlen isn't include the IV */
u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) u32 rtw_tkip_decrypt(struct adapter *padapter, struct recv_frame *precvframe)
{ /* exclude ICV */ { /* exclude ICV */
u16 pnl; u16 pnl;
u32 pnh; u32 pnh;
...@@ -666,12 +666,12 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) ...@@ -666,12 +666,12 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
u8 *pframe, *payload, *iv, *prwskey; u8 *pframe, *payload, *iv, *prwskey;
union pn48 dot11txpn; union pn48 dot11txpn;
struct sta_info *stainfo; struct sta_info *stainfo;
struct rx_pkt_attrib *prxattrib = &((struct recv_frame *)precvframe)->attrib; struct rx_pkt_attrib *prxattrib = &precvframe->attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv; struct security_priv *psecuritypriv = &padapter->securitypriv;
u32 res = _SUCCESS; u32 res = _SUCCESS;
pframe = (unsigned char *)((struct recv_frame *)precvframe)->pkt->data; pframe = (unsigned char *)precvframe->pkt->data;
/* 4 start to decrypt recvframe */ /* 4 start to decrypt recvframe */
if (prxattrib->encrypt == _TKIP_) { if (prxattrib->encrypt == _TKIP_) {
...@@ -691,7 +691,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) ...@@ -691,7 +691,7 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe)
iv = pframe + prxattrib->hdrlen; iv = pframe + prxattrib->hdrlen;
payload = pframe + prxattrib->iv_len + prxattrib->hdrlen; payload = pframe + prxattrib->iv_len + prxattrib->hdrlen;
length = ((struct recv_frame *)precvframe)->pkt->len - prxattrib->hdrlen - prxattrib->iv_len; length = precvframe->pkt->len - prxattrib->hdrlen - prxattrib->iv_len;
GET_TKIP_PN(iv, dot11txpn); GET_TKIP_PN(iv, dot11txpn);
...@@ -1214,7 +1214,7 @@ static int aes_cipher(u8 *key, uint hdrlen, u8 *pframe, uint plen) ...@@ -1214,7 +1214,7 @@ static int aes_cipher(u8 *key, uint hdrlen, u8 *pframe, uint plen)
return _SUCCESS; return _SUCCESS;
} }
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) u32 rtw_aes_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
{ /* exclude ICV */ { /* exclude ICV */
/*static*/ /*static*/
...@@ -1225,20 +1225,20 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) ...@@ -1225,20 +1225,20 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
u8 *pframe, *prwskey; /* *payload,*iv */ u8 *pframe, *prwskey; /* *payload,*iv */
u8 hw_hdr_offset = 0; u8 hw_hdr_offset = 0;
struct sta_info *stainfo; struct sta_info *stainfo;
struct pkt_attrib *pattrib = &((struct xmit_frame *)pxmitframe)->attrib; struct pkt_attrib *pattrib = &pxmitframe->attrib;
struct security_priv *psecuritypriv = &padapter->securitypriv; struct security_priv *psecuritypriv = &padapter->securitypriv;
struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv;
/* uint offset = 0; */ /* uint offset = 0; */
u32 res = _SUCCESS; u32 res = _SUCCESS;
if (((struct xmit_frame *)pxmitframe)->buf_addr == NULL) if (pxmitframe->buf_addr == NULL)
return _FAIL; return _FAIL;
hw_hdr_offset = TXDESC_SIZE + hw_hdr_offset = TXDESC_SIZE +
(((struct xmit_frame *)pxmitframe)->pkt_offset * PACKET_OFFSET_SZ); (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; pframe = pxmitframe->buf_addr + hw_hdr_offset;
/* 4 start to encrypt each fragment */ /* 4 start to encrypt each fragment */
if (pattrib->encrypt == _AES_) { if (pattrib->encrypt == _AES_) {
...@@ -1276,9 +1276,9 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) ...@@ -1276,9 +1276,9 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe)
return res; return res;
} }
u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) u32 rtw_aes_decrypt(struct adapter *padapter, struct recv_frame *precvframe)
{ {
struct rx_pkt_attrib *prxattrib = &((struct recv_frame *)precvframe)->attrib; struct rx_pkt_attrib *prxattrib = &precvframe->attrib;
u32 res = _SUCCESS; u32 res = _SUCCESS;
/* 4 start to encrypt each fragment */ /* 4 start to encrypt each fragment */
...@@ -1288,7 +1288,7 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) ...@@ -1288,7 +1288,7 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
if (stainfo != NULL) { if (stainfo != NULL) {
int key_idx; int key_idx;
const int key_length = 16, iv_len = 8, icv_len = 8; const int key_length = 16, iv_len = 8, icv_len = 8;
struct sk_buff *skb = ((struct recv_frame *)precvframe)->pkt; struct sk_buff *skb = precvframe->pkt;
void *crypto_private = NULL; void *crypto_private = NULL;
u8 *key, *pframe = skb->data; u8 *key, *pframe = skb->data;
struct lib80211_crypto_ops *crypto_ops = lib80211_get_crypto_ops("CCMP"); struct lib80211_crypto_ops *crypto_ops = lib80211_get_crypto_ops("CCMP");
......
...@@ -713,13 +713,13 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi ...@@ -713,13 +713,13 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi
switch (pattrib->encrypt) { switch (pattrib->encrypt) {
case _WEP40_: case _WEP40_:
case _WEP104_: case _WEP104_:
rtw_wep_encrypt(padapter, (u8 *)pxmitframe); rtw_wep_encrypt(padapter, pxmitframe);
break; break;
case _TKIP_: case _TKIP_:
rtw_tkip_encrypt(padapter, (u8 *)pxmitframe); rtw_tkip_encrypt(padapter, pxmitframe);
break; break;
case _AES_: case _AES_:
rtw_aes_encrypt(padapter, (u8 *)pxmitframe); rtw_aes_encrypt(padapter, pxmitframe);
break; break;
default: default:
break; break;
......
...@@ -292,11 +292,11 @@ void rtw_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes); ...@@ -292,11 +292,11 @@ void rtw_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes);
void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst); void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst);
void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len, void rtw_seccalctkipmic(u8 *key, u8 *header, u8 *data, u32 data_len,
u8 *Miccode, u8 priority); u8 *Miccode, u8 priority);
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe); u32 rtw_aes_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe);
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe); u32 rtw_tkip_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe);
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe); void rtw_wep_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe);
u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe); u32 rtw_aes_decrypt(struct adapter *padapter, struct recv_frame *precvframe);
u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe); u32 rtw_tkip_decrypt(struct adapter *padapter, struct recv_frame *precvframe);
int rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe); int rtw_wep_decrypt(struct adapter *padapter, struct recv_frame *precvframe);
#endif /* __RTL871X_SECURITY_H_ */ #endif /* __RTL871X_SECURITY_H_ */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment