All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Fabio M. De Francesco" <fmdefrancesco@gmail.com>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Cc: kbuild-all@lists.01.org,
	"Fabio M. De Francesco" <fmdefrancesco@gmail.com>
Subject: Re: [PATCH] staging: rtl8188eu: Replace a custom function with crc32_le()
Date: Sat, 10 Jul 2021 08:25:12 +0800	[thread overview]
Message-ID: <202107100829.RxcC1tei-lkp@intel.com> (raw)
In-Reply-To: <20210701133809.26534-1-fmdefrancesco@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5721 bytes --]

Hi "Fabio,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/Fabio-M-De-Francesco/staging-rtl8188eu-Replace-a-custom-function-with-crc32_le/20210701-213922
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 77ad1f0e99bd00af024e650b862cfda3137af660
config: powerpc64-randconfig-s032-20210709 (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/c296b1e11db85710adc1831c4cdb2295192e447f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Fabio-M-De-Francesco/staging-rtl8188eu-Replace-a-custom-function-with-crc32_le/20210701-213922
        git checkout c296b1e11db85710adc1831c4cdb2295192e447f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/staging/rtl8188eu/core/rtw_security.c:597:58: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] @@     got unsigned int @@
   drivers/staging/rtl8188eu/core/rtw_security.c:597:58: sparse:     expected restricted __le32 [usertype]
   drivers/staging/rtl8188eu/core/rtw_security.c:597:58: sparse:     got unsigned int
   drivers/staging/rtl8188eu/core/rtw_security.c:604:58: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] @@     got unsigned int @@
   drivers/staging/rtl8188eu/core/rtw_security.c:604:58: sparse:     expected restricted __le32 [usertype]
   drivers/staging/rtl8188eu/core/rtw_security.c:604:58: sparse:     got unsigned int
   drivers/staging/rtl8188eu/core/rtw_security.c:671:42: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] @@     got unsigned int @@
   drivers/staging/rtl8188eu/core/rtw_security.c:671:42: sparse:     expected restricted __le32 [usertype]
   drivers/staging/rtl8188eu/core/rtw_security.c:671:42: sparse:     got unsigned int

vim +597 drivers/staging/rtl8188eu/core/rtw_security.c

   544	
   545	/* The hlen isn't include the IV */
   546	u32	rtw_tkip_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
   547	{																	/*  exclude ICV */
   548		u16	pnl;
   549		u32	pnh;
   550		u8	rc4key[16];
   551		u8   ttkey[16];
   552		u8	crc[4];
   553		u8   hw_hdr_offset = 0;
   554		struct arc4context mycontext;
   555		int			curfragnum, length;
   556	
   557		u8	*pframe, *payload, *iv, *prwskey;
   558		union pn48 dot11txpn;
   559		struct	sta_info		*stainfo;
   560		struct	pkt_attrib	 *pattrib = &pxmitframe->attrib;
   561		struct	security_priv	*psecuritypriv = &padapter->securitypriv;
   562		struct	xmit_priv		*pxmitpriv = &padapter->xmitpriv;
   563		u32	res = _SUCCESS;
   564	
   565		if (!pxmitframe->buf_addr)
   566			return _FAIL;
   567	
   568		hw_hdr_offset = TXDESC_SIZE +
   569			 (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
   570		pframe = pxmitframe->buf_addr + hw_hdr_offset;
   571		/* 4 start to encrypt each fragment */
   572		if (pattrib->encrypt == _TKIP_) {
   573			if (pattrib->psta)
   574				stainfo = pattrib->psta;
   575			else
   576				stainfo = rtw_get_stainfo(&padapter->stapriv, &pattrib->ra[0]);
   577	
   578			if (stainfo) {
   579				if (is_multicast_ether_addr(pattrib->ra))
   580					prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey;
   581				else
   582					prwskey = &stainfo->dot118021x_UncstKey.skey[0];
   583	
   584				for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) {
   585					iv = pframe + pattrib->hdrlen;
   586					payload = pframe + pattrib->iv_len + pattrib->hdrlen;
   587	
   588					GET_TKIP_PN(iv, dot11txpn);
   589	
   590					pnl = (u16)(dot11txpn.val);
   591					pnh = (u32)(dot11txpn.val >> 16);
   592					phase1((u16 *)&ttkey[0], prwskey, &pattrib->ta[0], pnh);
   593					phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl);
   594	
   595					if ((curfragnum + 1) == pattrib->nr_frags) {	/* 4 the last fragment */
   596						length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
 > 597						*((__le32 *)crc) = ~crc32_le(~0, payload, length);
   598	
   599						arcfour_init(&mycontext, rc4key, 16);
   600						arcfour_encrypt(&mycontext, payload, payload, length);
   601						arcfour_encrypt(&mycontext, payload + length, crc, 4);
   602					} else {
   603						length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
   604						*((__le32 *)crc) = ~crc32_le(~0, payload, length);
   605	
   606						arcfour_init(&mycontext, rc4key, 16);
   607						arcfour_encrypt(&mycontext, payload, payload, length);
   608						arcfour_encrypt(&mycontext, payload + length, crc, 4);
   609	
   610						pframe += pxmitpriv->frag_len;
   611						pframe = (u8 *)round_up((size_t)(pframe), 4);
   612					}
   613				}
   614			} else {
   615				res = _FAIL;
   616			}
   617		}
   618		return res;
   619	}
   620	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40008 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH] staging: rtl8188eu: Replace a custom function with crc32_le()
Date: Sat, 10 Jul 2021 08:25:12 +0800	[thread overview]
Message-ID: <202107100829.RxcC1tei-lkp@intel.com> (raw)
In-Reply-To: <20210701133809.26534-1-fmdefrancesco@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5843 bytes --]

Hi "Fabio,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on staging/staging-testing]

url:    https://github.com/0day-ci/linux/commits/Fabio-M-De-Francesco/staging-rtl8188eu-Replace-a-custom-function-with-crc32_le/20210701-213922
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 77ad1f0e99bd00af024e650b862cfda3137af660
config: powerpc64-randconfig-s032-20210709 (attached as .config)
compiler: powerpc64le-linux-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/0day-ci/linux/commit/c296b1e11db85710adc1831c4cdb2295192e447f
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Fabio-M-De-Francesco/staging-rtl8188eu-Replace-a-custom-function-with-crc32_le/20210701-213922
        git checkout c296b1e11db85710adc1831c4cdb2295192e447f
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/staging/rtl8188eu/core/rtw_security.c:597:58: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] @@     got unsigned int @@
   drivers/staging/rtl8188eu/core/rtw_security.c:597:58: sparse:     expected restricted __le32 [usertype]
   drivers/staging/rtl8188eu/core/rtw_security.c:597:58: sparse:     got unsigned int
   drivers/staging/rtl8188eu/core/rtw_security.c:604:58: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] @@     got unsigned int @@
   drivers/staging/rtl8188eu/core/rtw_security.c:604:58: sparse:     expected restricted __le32 [usertype]
   drivers/staging/rtl8188eu/core/rtw_security.c:604:58: sparse:     got unsigned int
   drivers/staging/rtl8188eu/core/rtw_security.c:671:42: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le32 [usertype] @@     got unsigned int @@
   drivers/staging/rtl8188eu/core/rtw_security.c:671:42: sparse:     expected restricted __le32 [usertype]
   drivers/staging/rtl8188eu/core/rtw_security.c:671:42: sparse:     got unsigned int

vim +597 drivers/staging/rtl8188eu/core/rtw_security.c

   544	
   545	/* The hlen isn't include the IV */
   546	u32	rtw_tkip_encrypt(struct adapter *padapter, struct xmit_frame *pxmitframe)
   547	{																	/*  exclude ICV */
   548		u16	pnl;
   549		u32	pnh;
   550		u8	rc4key[16];
   551		u8   ttkey[16];
   552		u8	crc[4];
   553		u8   hw_hdr_offset = 0;
   554		struct arc4context mycontext;
   555		int			curfragnum, length;
   556	
   557		u8	*pframe, *payload, *iv, *prwskey;
   558		union pn48 dot11txpn;
   559		struct	sta_info		*stainfo;
   560		struct	pkt_attrib	 *pattrib = &pxmitframe->attrib;
   561		struct	security_priv	*psecuritypriv = &padapter->securitypriv;
   562		struct	xmit_priv		*pxmitpriv = &padapter->xmitpriv;
   563		u32	res = _SUCCESS;
   564	
   565		if (!pxmitframe->buf_addr)
   566			return _FAIL;
   567	
   568		hw_hdr_offset = TXDESC_SIZE +
   569			 (pxmitframe->pkt_offset * PACKET_OFFSET_SZ);
   570		pframe = pxmitframe->buf_addr + hw_hdr_offset;
   571		/* 4 start to encrypt each fragment */
   572		if (pattrib->encrypt == _TKIP_) {
   573			if (pattrib->psta)
   574				stainfo = pattrib->psta;
   575			else
   576				stainfo = rtw_get_stainfo(&padapter->stapriv, &pattrib->ra[0]);
   577	
   578			if (stainfo) {
   579				if (is_multicast_ether_addr(pattrib->ra))
   580					prwskey = psecuritypriv->dot118021XGrpKey[psecuritypriv->dot118021XGrpKeyid].skey;
   581				else
   582					prwskey = &stainfo->dot118021x_UncstKey.skey[0];
   583	
   584				for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) {
   585					iv = pframe + pattrib->hdrlen;
   586					payload = pframe + pattrib->iv_len + pattrib->hdrlen;
   587	
   588					GET_TKIP_PN(iv, dot11txpn);
   589	
   590					pnl = (u16)(dot11txpn.val);
   591					pnh = (u32)(dot11txpn.val >> 16);
   592					phase1((u16 *)&ttkey[0], prwskey, &pattrib->ta[0], pnh);
   593					phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl);
   594	
   595					if ((curfragnum + 1) == pattrib->nr_frags) {	/* 4 the last fragment */
   596						length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
 > 597						*((__le32 *)crc) = ~crc32_le(~0, payload, length);
   598	
   599						arcfour_init(&mycontext, rc4key, 16);
   600						arcfour_encrypt(&mycontext, payload, payload, length);
   601						arcfour_encrypt(&mycontext, payload + length, crc, 4);
   602					} else {
   603						length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len;
   604						*((__le32 *)crc) = ~crc32_le(~0, payload, length);
   605	
   606						arcfour_init(&mycontext, rc4key, 16);
   607						arcfour_encrypt(&mycontext, payload, payload, length);
   608						arcfour_encrypt(&mycontext, payload + length, crc, 4);
   609	
   610						pframe += pxmitpriv->frag_len;
   611						pframe = (u8 *)round_up((size_t)(pframe), 4);
   612					}
   613				}
   614			} else {
   615				res = _FAIL;
   616			}
   617		}
   618		return res;
   619	}
   620	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40008 bytes --]

  parent reply	other threads:[~2021-07-10  0:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-01 13:38 [PATCH] staging: rtl8188eu: Replace a custom function with crc32_le() Fabio M. De Francesco
2021-07-01 14:52 ` David Laight
2021-07-01 15:23   ` Fabio M. De Francesco
2021-07-01 15:54     ` David Laight
2021-07-01 16:10       ` Fabio M. De Francesco
2021-07-10  0:25 ` kernel test robot [this message]
2021-07-10  0:25   ` kernel test robot
2021-07-10 14:38   ` Fabio M. De Francesco
2021-07-10 14:38     ` Fabio M. De Francesco
2021-07-10 20:42     ` David Laight
2021-07-10 20:42       ` David Laight
2021-07-13 12:50 ` Greg Kroah-Hartman
2021-07-13 17:52   ` Fabio M. De Francesco

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202107100829.RxcC1tei-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=fmdefrancesco@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.