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]

Reply via email to