All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 8292/10499] drivers/tty/moxa.c:767:2: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
@ 2021-04-07 13:30 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-04-07 13:30 UTC (permalink / raw)
  To: kbuild

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

CC: kbuild-all(a)lists.01.org
CC: Linux Memory Management List <linux-mm@kvack.org>
TO: Julian Braha <julianbraha@gmail.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

Hi Julian,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   5103a5be098c0dae5d4b057520d7e9f4c5570979
commit: 969f31e9eae3fb5d8388677c2ec34c2f447f7376 [8292/10499] lib: fix kconfig dependency on ARCH_WANT_FRAME_POINTERS
:::::: branch date: 3 hours ago
:::::: commit date: 6 days ago
compiler: csky-linux-gcc (GCC) 9.3.0

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> drivers/tty/moxa.c:767:2: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
    len = MOXA_FW_HDRLEN;
    ^
   drivers/tty/moxa.c:767:2: note: Array decayed to pointer here.
    len = MOXA_FW_HDRLEN;
    ^
   drivers/tty/moxa.c:745:10: note: Variable created here.
     __le16 len[5];
            ^
   drivers/tty/moxa.c:767:2: note: Using pointer to local variable 'len' that is out of scope.
    len = MOXA_FW_HDRLEN;
    ^
   drivers/tty/moxa.c:771:18: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
     if (lens[a] && len + lens[a] <= fw->size &&
                    ^
   drivers/tty/moxa.c:771:18: note: Array decayed to pointer here.
     if (lens[a] && len + lens[a] <= fw->size &&
                    ^
   drivers/tty/moxa.c:745:10: note: Variable created here.
     __le16 len[5];
            ^
   drivers/tty/moxa.c:771:18: note: Using pointer to local variable 'len' that is out of scope.
     if (lens[a] && len + lens[a] <= fw->size &&
                    ^
   drivers/tty/moxa.c:774:42: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
       "at offset %u, but going onn", (u32)len);
                                            ^
   drivers/tty/moxa.c:771:18: note: Array decayed to pointer here.
     if (lens[a] && len + lens[a] <= fw->size &&
                    ^
   drivers/tty/moxa.c:745:10: note: Variable created here.
     __le16 len[5];
            ^
   drivers/tty/moxa.c:774:42: note: Using pointer to local variable 'len' that is out of scope.
       "at offset %u, but going onn", (u32)len);
                                            ^
   drivers/tty/moxa.c:779:3: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
     len += lens[a];
     ^
   drivers/tty/moxa.c:779:3: note: Array decayed to pointer here.
     len += lens[a];
     ^
   drivers/tty/moxa.c:745:10: note: Variable created here.
     __le16 len[5];
            ^
   drivers/tty/moxa.c:779:3: note: Using pointer to local variable 'len' that is out of scope.
     len += lens[a];
     ^
   drivers/tty/moxa.c:782:6: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
    if (len != fw->size) {
        ^
   drivers/tty/moxa.c:779:3: note: Array decayed to pointer here.
     len += lens[a];
     ^
   drivers/tty/moxa.c:745:10: note: Variable created here.
     __le16 len[5];
            ^
   drivers/tty/moxa.c:782:6: note: Using pointer to local variable 'len' that is out of scope.
    if (len != fw->size) {
        ^

vim +/len +767 drivers/tty/moxa.c

037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  730  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  731  static int moxa_load_fw(struct moxa_board_conf *brd, const struct firmware *fw)
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  732  {
2bca76e89bc43f drivers/char/moxa.c David Howells 2008-07-08  733  	const void *ptr = fw->data;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  734  	char rsn[64];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  735  	u16 lens[5];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  736  	size_t len;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  737  	unsigned int a, lenp, lencnt;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  738  	int ret = -EINVAL;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  739  	struct {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  740  		__le32 magic;	/* 0x34303430 */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  741  		u8 reserved1[2];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  742  		u8 type;	/* UNIX = 3 */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  743  		u8 model;	/* C218T=1, C320T=2, CP204=3 */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  744  		u8 reserved2[8];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  745  		__le16 len[5];
2bca76e89bc43f drivers/char/moxa.c David Howells 2008-07-08  746  	} const *hdr = ptr;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  747  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  748  	BUILD_BUG_ON(ARRAY_SIZE(hdr->len) != ARRAY_SIZE(lens));
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  749  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  750  	if (fw->size < MOXA_FW_HDRLEN) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  751  		strcpy(rsn, "too short (even header won't fit)");
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  752  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  753  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  754  	if (hdr->magic != cpu_to_le32(0x30343034)) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  755  		sprintf(rsn, "bad magic: %.8x", le32_to_cpu(hdr->magic));
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  756  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  757  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  758  	if (hdr->type != 3) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  759  		sprintf(rsn, "not for linux, type is %u", hdr->type);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  760  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  761  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  762  	if (moxa_check_fw_model(brd, hdr->model)) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  763  		sprintf(rsn, "not for this card, model is %u", hdr->model);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  764  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  765  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  766  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30 @767  	len = MOXA_FW_HDRLEN;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  768  	lencnt = hdr->model == 2 ? 5 : 3;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  769  	for (a = 0; a < ARRAY_SIZE(lens); a++) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  770  		lens[a] = le16_to_cpu(hdr->len[a]);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  771  		if (lens[a] && len + lens[a] <= fw->size &&
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  772  				moxa_check_fw(&fw->data[len]))
eaa95a8da6366c drivers/char/moxa.c Jiri Slaby    2008-04-30  773  			printk(KERN_WARNING "MOXA firmware: unexpected input "
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  774  				"at offset %u, but going on\n", (u32)len);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  775  		if (!lens[a] && a < lencnt) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  776  			sprintf(rsn, "too few entries in fw file");
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  777  			goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  778  		}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  779  		len += lens[a];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  780  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  781  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  782  	if (len != fw->size) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  783  		sprintf(rsn, "bad length: %u (should be %u)", (u32)fw->size,
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  784  				(u32)len);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  785  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  786  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  787  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  788  	ptr += MOXA_FW_HDRLEN;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  789  	lenp = 0; /* bios */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  790  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  791  	strcpy(rsn, "read above");
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  792  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  793  	ret = moxa_load_bios(brd, ptr, lens[lenp]);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  794  	if (ret)
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  795  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  796  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  797  	/* we skip the tty section (lens[1]), since we don't need it */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  798  	ptr += lens[lenp] + lens[lenp + 1];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  799  	lenp += 2; /* comm */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  800  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  801  	if (hdr->model == 2) {
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  802  		ret = moxa_load_320b(brd, ptr, lens[lenp]);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  803  		if (ret)
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  804  			goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  805  		/* skip another tty */
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  806  		ptr += lens[lenp] + lens[lenp + 1];
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  807  		lenp += 2;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  808  	}
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  809  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  810  	ret = moxa_load_code(brd, ptr, lens[lenp]);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  811  	if (ret)
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  812  		goto err;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  813  
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  814  	return 0;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  815  err:
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  816  	printk(KERN_ERR "firmware failed to load, reason: %s\n", rsn);
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  817  	return ret;
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  818  }
037182346f0991 drivers/char/moxa.c Jiri Slaby    2008-04-30  819  

:::::: The code at line 767 was first introduced by commit
:::::: 037182346f0991683cc7320a257c3f6089432cee Char: moxa, add firmware loading

:::::: TO: Jiri Slaby <jirislaby@gmail.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-07 13:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-07 13:30 [linux-next:master 8292/10499] drivers/tty/moxa.c:767:2: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime] kernel test robot

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.