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