CC: [email protected] CC: Linux Memory Management List <[email protected]> TO: Julian Braha <[email protected]> CC: Andrew Morton <[email protected]> CC: Linux Memory Management List <[email protected]>
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 <[email protected]> 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 <[email protected]> :::::: CC: Linus Torvalds <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
