CC: [email protected]
CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Beau Belgrave <[email protected]>
CC: "Steven Rostedt (Google)" <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   9050ba3a61a4b5bd84c2cde092a100404f814f31
commit: 9aed4e157d1ffe4aeebc005b4eceede1ed5a403a user_events: Handle matching 
arguments from dyn_events
date:   3 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 3 months ago
config: arm-randconfig-c002-20220502 
(https://download.01.org/0day-ci/archive/20220503/[email protected]/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 
09325d36061e42b495d1f4c7e933e260eac260ed)
reproduce (this is a W=1 build):
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9aed4e157d1ffe4aeebc005b4eceede1ed5a403a
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 9aed4e157d1ffe4aeebc005b4eceede1ed5a403a
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm 
clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


clang-analyzer warnings: (new ones prefixed by >>)
                                     ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 
'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long 
long),  \
                              ^
   include/linux/compiler_types.h:313:3: note: expanded from macro 
'__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
            ^
   drivers/base/regmap/regmap.c:1526:11: note: Left side of '||' is true
                   async = list_first_entry_or_null(&map->async_free,
                           ^
   include/linux/list.h:554:28: note: expanded from macro 
'list_first_entry_or_null'
           struct list_head *pos__ = READ_ONCE(head__->next); \
                                     ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:21: note: expanded from macro 
'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long 
long),  \
                              ^
   include/linux/compiler_types.h:314:28: note: expanded from macro 
'__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                                     ^
   drivers/base/regmap/regmap.c:1526:11: note: Taking false branch
                   async = list_first_entry_or_null(&map->async_free,
                           ^
   include/linux/list.h:554:28: note: expanded from macro 
'list_first_entry_or_null'
           struct list_head *pos__ = READ_ONCE(head__->next); \
                                     ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:2: note: expanded from macro 
'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long 
long),  \
           ^
   include/linux/compiler_types.h:346:2: note: expanded from macro 
'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
           ^
   include/linux/compiler_types.h:334:2: note: expanded from macro 
'_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:326:3: note: expanded from macro 
'__compiletime_assert'
                   if (!(condition))                                       \
                   ^
   drivers/base/regmap/regmap.c:1526:11: note: Loop condition is false.  
Exiting loop
                   async = list_first_entry_or_null(&map->async_free,
                           ^
   include/linux/list.h:554:28: note: expanded from macro 
'list_first_entry_or_null'
           struct list_head *pos__ = READ_ONCE(head__->next); \
                                     ^
   include/asm-generic/rwonce.h:49:2: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
           ^
   include/asm-generic/rwonce.h:36:2: note: expanded from macro 
'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long 
long),  \
           ^
   include/linux/compiler_types.h:346:2: note: expanded from macro 
'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, 
__COUNTER__)
           ^
   include/linux/compiler_types.h:334:2: note: expanded from macro 
'_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
           ^
   include/linux/compiler_types.h:318:2: note: expanded from macro 
'__compiletime_assert'
           do {                                                            \
           ^
   drivers/base/regmap/regmap.c:1526:11: note: Assuming 'pos__' is not equal to 
'head__'
                   async = list_first_entry_or_null(&map->async_free,
                           ^
   include/linux/list.h:555:2: note: expanded from macro 
'list_first_entry_or_null'
           pos__ != head__ ? list_entry(pos__, type, member) : NULL; \
           ^~~~~~~~~~~~~~~
   drivers/base/regmap/regmap.c:1526:11: note: '?' condition is true
                   async = list_first_entry_or_null(&map->async_free,
                           ^
   include/linux/list.h:555:2: note: expanded from macro 
'list_first_entry_or_null'
           pos__ != head__ ? list_entry(pos__, type, member) : NULL; \
           ^
   drivers/base/regmap/regmap.c:1529:3: note: Calling 'list_del'
                   list_del(&async->list);
                   ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:149:14: note: Use of memory after it is freed
           entry->next = LIST_POISON1;
           ~~~~~~~~~~~ ^
   Suppressed 22 warnings (22 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
>> kernel/trace/trace_events_user.c:743:3: warning: Value stored to 'pos' is 
>> never read [clang-analyzer-deadcode.DeadStores]
                   pos += snprintf(field_name + pos, len - pos, ";");
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_events_user.c:743:3: note: Value stored to 'pos' is never 
read
                   pos += snprintf(field_name + pos, len - pos, ";");
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   28 warnings generated.
   Suppressed 28 warnings (28 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   Suppressed 7 warnings (7 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   drivers/mfd/max8997-irq.c:248:3: warning: Value stored to 'ret' is never 
read [clang-analyzer-deadcode.DeadStores]
                   ret = max8997_read_reg(max8997->i2c, MAX8997_REG_FLASHSTATUS,
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/mfd/max8997-irq.c:248:3: note: Value stored to 'ret' is never read
                   ret = max8997_read_reg(max8997->i2c, MAX8997_REG_FLASHSTATUS,
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   drivers/clk/clk-cdce706.c:355:22: warning: Division by zero 
[clang-analyzer-core.DivideZero]
           return *parent_rate / div;
                  ~~~~~~~~~~~~~^~~~~
   drivers/clk/clk-cdce706.c:297:2: note: Taking false branch
           dev_dbg(&hwd->dev_data->client->dev,
           ^
   include/linux/dev_printk.h:162:2: note: expanded from macro 'dev_dbg'
           if (0)                                                          \
           ^
   drivers/clk/clk-cdce706.c:304:6: note: Assuming 'mul' is not equal to 0
           if (!mul)
               ^~~~
   drivers/clk/clk-cdce706.c:304:2: note: Taking false branch
           if (!mul)
           ^
   drivers/clk/clk-cdce706.c:307:6: note: Assuming the condition is true
           if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) {
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/clk-cdce706.c:307:2: note: Taking true branch
           if (clk_hw_get_flags(hw) & CLK_SET_RATE_PARENT) {
           ^
   drivers/clk/clk-cdce706.c:309:3: note: 'best_div' initialized to 0
                   unsigned long best_div = 0;
                   ^~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/clk-cdce706.c:311:27: note: Assuming 'gp_clk' is null
                   unsigned long gp_rate = gp_clk ? clk_get_rate(gp_clk) : 0;
                                           ^~~~~~
   drivers/clk/clk-cdce706.c:311:27: note: '?' condition is false
   drivers/clk/clk-cdce706.c:313:43: note: 'best_diff' is not equal to 0
                   for (div = CDCE706_PLL_FREQ_MIN / rate; best_diff &&
                                                           ^~~~~~~~~
   drivers/clk/clk-cdce706.c:313:43: note: Left side of '&&' is true
   drivers/clk/clk-cdce706.c:314:8: note: Assuming the condition is false
                        div <= CDCE706_PLL_FREQ_MAX / rate; ++div) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/clk/clk-cdce706.c:313:3: note: Loop condition is false. Execution 
continues on line 342
                   for (div = CDCE706_PLL_FREQ_MIN / rate; best_diff &&
                   ^
   drivers/clk/clk-cdce706.c:342:3: note: The value 0 is assigned to 'div'
                   div = best_div;
                   ^~~~~~~~~~~~~~
   drivers/clk/clk-cdce706.c:344:3: note: Taking false branch
                   dev_dbg(&hwd->dev_data->client->dev,
                   ^
   include/linux/dev_printk.h:162:2: note: expanded from macro 'dev_dbg'
           if (0)                                                          \
           ^
   drivers/clk/clk-cdce706.c:351:2: note: Taking false branch
           dev_dbg(&hwd->dev_data->client->dev,
           ^
   include/linux/dev_printk.h:162:2: note: expanded from macro 'dev_dbg'
           if (0)                                                          \
           ^
   drivers/clk/clk-cdce706.c:355:22: note: Division by zero
           return *parent_rate / div;
                  ~~~~~~~~~~~~~^~~~~
--
                   ^
   drivers/media/dvb-frontends/atbm8830.c:17:7: note: expanded from macro 
'dprintk'
                   if (debug) \
                       ^~~~~
   drivers/media/dvb-frontends/atbm8830.c:66:3: note: Taking false branch
                   dprintk("%s: error reg=0x%04x, ret=%i\n", __func__, reg, 
ret);
                   ^
   drivers/media/dvb-frontends/atbm8830.c:17:3: note: expanded from macro 
'dprintk'
                   if (debug) \
                   ^
   drivers/media/dvb-frontends/atbm8830.c:66:3: note: Loop condition is false.  
Exiting loop
                   dprintk("%s: error reg=0x%04x, ret=%i\n", __func__, reg, 
ret);
                   ^
   drivers/media/dvb-frontends/atbm8830.c:16:2: note: expanded from macro 
'dprintk'
           do { \
           ^
   drivers/media/dvb-frontends/atbm8830.c:67:3: note: Returning without writing 
to '*p_data'
                   return -EIO;
                   ^
   drivers/media/dvb-frontends/atbm8830.c:358:2: note: Returning from 
'atbm8830_read_reg'
           atbm8830_read_reg(priv, REG_FRAME_ERR_CNT + 1, &t);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/atbm8830.c:359:16: note: The left operand of '&' 
is a garbage value
           frame_err = t & 0x7F;
                       ~ ^
   drivers/media/dvb-frontends/atbm8830.c:382:10: warning: The left operand of 
'&' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
           pwm = t & 0x03;
                 ~ ^
   drivers/media/dvb-frontends/atbm8830.c:376:2: note: 't' declared without an 
initial value
           u8 t;
           ^~~~
   drivers/media/dvb-frontends/atbm8830.c:378:2: note: Assuming 'debug' is 0
           dprintk("%s\n", __func__);
           ^
   drivers/media/dvb-frontends/atbm8830.c:17:7: note: expanded from macro 
'dprintk'
                   if (debug) \
                       ^~~~~
   drivers/media/dvb-frontends/atbm8830.c:378:2: note: Taking false branch
           dprintk("%s\n", __func__);
           ^
   drivers/media/dvb-frontends/atbm8830.c:17:3: note: expanded from macro 
'dprintk'
                   if (debug) \
                   ^
   drivers/media/dvb-frontends/atbm8830.c:378:2: note: Loop condition is false. 
 Exiting loop
           dprintk("%s\n", __func__);
           ^
   drivers/media/dvb-frontends/atbm8830.c:16:2: note: expanded from macro 
'dprintk'
           do { \
           ^
   drivers/media/dvb-frontends/atbm8830.c:381:2: note: Calling 
'atbm8830_read_reg'
           atbm8830_read_reg(priv, REG_AGC_PWM_VAL + 1, &t);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/atbm8830.c:65:6: note: Assuming 'ret' is not 
equal to 1
           if (ret != 1) {
               ^~~~~~~~
   drivers/media/dvb-frontends/atbm8830.c:65:2: note: Taking true branch
           if (ret != 1) {
           ^
   drivers/media/dvb-frontends/atbm8830.c:66:3: note: Assuming 'debug' is 0
                   dprintk("%s: error reg=0x%04x, ret=%i\n", __func__, reg, 
ret);
                   ^
   drivers/media/dvb-frontends/atbm8830.c:17:7: note: expanded from macro 
'dprintk'
                   if (debug) \
                       ^~~~~
   drivers/media/dvb-frontends/atbm8830.c:66:3: note: Taking false branch
                   dprintk("%s: error reg=0x%04x, ret=%i\n", __func__, reg, 
ret);
                   ^
   drivers/media/dvb-frontends/atbm8830.c:17:3: note: expanded from macro 
'dprintk'
                   if (debug) \
                   ^
   drivers/media/dvb-frontends/atbm8830.c:66:3: note: Loop condition is false.  
Exiting loop
                   dprintk("%s: error reg=0x%04x, ret=%i\n", __func__, reg, 
ret);
                   ^
   drivers/media/dvb-frontends/atbm8830.c:16:2: note: expanded from macro 
'dprintk'
           do { \
           ^
   drivers/media/dvb-frontends/atbm8830.c:67:3: note: Returning without writing 
to '*p_data'
                   return -EIO;
                   ^
   drivers/media/dvb-frontends/atbm8830.c:381:2: note: Returning from 
'atbm8830_read_reg'
           atbm8830_read_reg(priv, REG_AGC_PWM_VAL + 1, &t);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/dvb-frontends/atbm8830.c:382:10: note: The left operand of '&' 
is a garbage value
           pwm = t & 0x03;
                 ~ ^
   Suppressed 7 warnings (6 in non-user code, 1 with check filters).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
>> kernel/trace/trace_events_user.c:743:3: warning: Value stored to 'pos' is 
>> never read [clang-analyzer-deadcode.DeadStores]
                   pos += snprintf(field_name + pos, len - pos, ";");
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/trace/trace_events_user.c:743:3: note: Value stored to 'pos' is never 
read
                   pos += snprintf(field_name + pos, len - pos, ";");
                   ^      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   28 warnings generated.
   Suppressed 28 warnings (28 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   6 warnings generated.
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   7 warnings generated.
   drivers/uio/uio_aec.c:50:3: warning: Value stored to 'status' is never read 
[clang-analyzer-deadcode.DeadStores]
                   status = ioread8(dev_info->priv + MAILBOX);
                   ^
   drivers/uio/uio_aec.c:50:3: note: Value stored to 'status' is never read
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   8 warnings generated.
   fs/fuse/dir.c:505:3: warning: Call to function 'strcpy' is insecure as it 
does not provide bounding of the memory buffer. Replace unbounded copy 
functions with analogous functions that support length arguments such as 
'strlcpy'. CWE-119 [clang-analyzer-security.insecureAPI.strcpy]
                   strcpy(ptr, name);
                   ^~~~~~
   fs/fuse/dir.c:505:3: note: Call to function 'strcpy' is insecure as it does 
not provide bounding of the memory buffer. Replace unbounded copy functions 
with analogous functions that support length arguments such as 'strlcpy'. 
CWE-119
                   strcpy(ptr, name);
                   ^~~~~~
   fs/fuse/dir.c:762:2: warning: Address of stack memory associated with local 
variable 'outarg' is still referred to by the stack variable 'args' upon 
returning to the caller.  This will be a dangling reference 
[clang-analyzer-core.StackAddressEscape]
           return err;
           ^
   fs/fuse/dir.c:829:9: note: Calling 'create_new_entry'
           return create_new_entry(fm, &args, dir, entry, S_IFLNK);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/fuse/dir.c:700:2: note: Taking false branch
           if (fuse_is_bad(dir))
           ^
   fs/fuse/dir.c:704:6: note: Assuming 'forget' is non-null
           if (!forget)
               ^~~~~~~
   fs/fuse/dir.c:704:2: note: Taking false branch
           if (!forget)
           ^
   fs/fuse/dir.c:713:6: note: Assuming field 'init_security' is not equal to 0
           if (fm->fc->init_security && args->opcode != FUSE_LINK) {
               ^~~~~~~~~~~~~~~~~~~~~
   fs/fuse/dir.c:713:6: note: Left side of '&&' is true
   fs/fuse/dir.c:713:37: note: Field 'opcode' is not equal to FUSE_LINK
           if (fm->fc->init_security && args->opcode != FUSE_LINK) {
                                              ^
   fs/fuse/dir.c:713:2: note: Taking true branch
           if (fm->fc->init_security && args->opcode != FUSE_LINK) {
           ^
   fs/fuse/dir.c:716:7: note: 'err' is -12
                   if (err)
                       ^~~
   fs/fuse/dir.c:716:3: note: Taking true branch
                   if (err)
                   ^
   fs/fuse/dir.c:717:4: note: Control jumps to line 761
                           goto out_put_forget_req;
                           ^
   fs/fuse/dir.c:762:2: note: Address of stack memory associated with local 
variable 'outarg' is still referred to by the stack variable 'args' upon 
returning to the caller.  This will be a dangling reference
           return err;
           ^
   Suppressed 6 warnings (6 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use 
-system-headers to display errors from system headers as well.
   9 warnings generated.
   fs/fuse/file.c:1392:44: warning: The left operand of '<' is a garbage value 
[clang-analyzer-core.UndefinedBinaryOperatorResult]
           while (nbytes < *nbytesp && ap->num_pages < max_pages) {
                                                     ^
   fs/fuse/file.c:1591:2: note: Taking false branch
           if (fuse_is_bad(inode))
           ^
   fs/fuse/file.c:1594:6: note: Left side of '&&' is false
           if (FUSE_IS_DAX(inode))
               ^

vim +/pos +743 kernel/trace/trace_events_user.c

7f5a08c79df35e Beau Belgrave 2022-01-18  703  
9aed4e157d1ffe Beau Belgrave 2022-01-18  704  static bool 
user_field_match(struct ftrace_event_field *field, int argc,
9aed4e157d1ffe Beau Belgrave 2022-01-18  705                         const char 
**argv, int *iout)
9aed4e157d1ffe Beau Belgrave 2022-01-18  706  {
9aed4e157d1ffe Beau Belgrave 2022-01-18  707    char *field_name, *arg_name;
9aed4e157d1ffe Beau Belgrave 2022-01-18  708    int len, pos, i = *iout;
9aed4e157d1ffe Beau Belgrave 2022-01-18  709    bool colon = false, match = 
false;
9aed4e157d1ffe Beau Belgrave 2022-01-18  710  
9aed4e157d1ffe Beau Belgrave 2022-01-18  711    if (i >= argc)
9aed4e157d1ffe Beau Belgrave 2022-01-18  712            return false;
9aed4e157d1ffe Beau Belgrave 2022-01-18  713  
9aed4e157d1ffe Beau Belgrave 2022-01-18  714    len = MAX_FIELD_ARG_NAME;
9aed4e157d1ffe Beau Belgrave 2022-01-18  715    field_name = kmalloc(len, 
GFP_KERNEL);
9aed4e157d1ffe Beau Belgrave 2022-01-18  716    arg_name = kmalloc(len, 
GFP_KERNEL);
9aed4e157d1ffe Beau Belgrave 2022-01-18  717  
9aed4e157d1ffe Beau Belgrave 2022-01-18  718    if (!arg_name || !field_name)
9aed4e157d1ffe Beau Belgrave 2022-01-18  719            goto out;
9aed4e157d1ffe Beau Belgrave 2022-01-18  720  
9aed4e157d1ffe Beau Belgrave 2022-01-18  721    pos = 0;
9aed4e157d1ffe Beau Belgrave 2022-01-18  722  
9aed4e157d1ffe Beau Belgrave 2022-01-18  723    for (; i < argc; ++i) {
9aed4e157d1ffe Beau Belgrave 2022-01-18  724            if (i != *iout)
9aed4e157d1ffe Beau Belgrave 2022-01-18  725                    pos += 
snprintf(arg_name + pos, len - pos, " ");
9aed4e157d1ffe Beau Belgrave 2022-01-18  726  
9aed4e157d1ffe Beau Belgrave 2022-01-18  727            pos += 
snprintf(arg_name + pos, len - pos, argv[i]);
9aed4e157d1ffe Beau Belgrave 2022-01-18  728  
9aed4e157d1ffe Beau Belgrave 2022-01-18  729            if (strchr(argv[i], 
';')) {
9aed4e157d1ffe Beau Belgrave 2022-01-18  730                    ++i;
9aed4e157d1ffe Beau Belgrave 2022-01-18  731                    colon = true;
9aed4e157d1ffe Beau Belgrave 2022-01-18  732                    break;
9aed4e157d1ffe Beau Belgrave 2022-01-18  733            }
9aed4e157d1ffe Beau Belgrave 2022-01-18  734    }
9aed4e157d1ffe Beau Belgrave 2022-01-18  735  
9aed4e157d1ffe Beau Belgrave 2022-01-18  736    pos = 0;
9aed4e157d1ffe Beau Belgrave 2022-01-18  737  
9aed4e157d1ffe Beau Belgrave 2022-01-18  738    pos += snprintf(field_name + 
pos, len - pos, field->type);
9aed4e157d1ffe Beau Belgrave 2022-01-18  739    pos += snprintf(field_name + 
pos, len - pos, " ");
9aed4e157d1ffe Beau Belgrave 2022-01-18  740    pos += snprintf(field_name + 
pos, len - pos, field->name);
9aed4e157d1ffe Beau Belgrave 2022-01-18  741  
9aed4e157d1ffe Beau Belgrave 2022-01-18  742    if (colon)
9aed4e157d1ffe Beau Belgrave 2022-01-18 @743            pos += 
snprintf(field_name + pos, len - pos, ";");
9aed4e157d1ffe Beau Belgrave 2022-01-18  744  
9aed4e157d1ffe Beau Belgrave 2022-01-18  745    *iout = i;
9aed4e157d1ffe Beau Belgrave 2022-01-18  746  
9aed4e157d1ffe Beau Belgrave 2022-01-18  747    match = strcmp(arg_name, 
field_name) == 0;
9aed4e157d1ffe Beau Belgrave 2022-01-18  748  out:
9aed4e157d1ffe Beau Belgrave 2022-01-18  749    kfree(arg_name);
9aed4e157d1ffe Beau Belgrave 2022-01-18  750    kfree(field_name);
9aed4e157d1ffe Beau Belgrave 2022-01-18  751  
9aed4e157d1ffe Beau Belgrave 2022-01-18  752    return match;
9aed4e157d1ffe Beau Belgrave 2022-01-18  753  }
9aed4e157d1ffe Beau Belgrave 2022-01-18  754  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to