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.