All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [linux-next:master 8292/10499] drivers/tty/moxa.c:767:2: warning: Using pointer to local variable 'len' that is out of scope. [invalidLifetime]
Date: Wed, 07 Apr 2021 21:30:47 +0800	[thread overview]
Message-ID: <202104072135.vAcPCjzR-lkp@intel.com> (raw)

[-- 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

                 reply	other threads:[~2021-04-07 13:30 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202104072135.vAcPCjzR-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /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.