:::::: 
:::::: Manual check reason: "low confidence bisect report"
:::::: Manual check reason: "low confidence static check warning: 
drivers/counter/counter-chrdev.c:63:22: warning: use of uninitialized value 
'<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]"
:::::: 

BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: William Breathitt Gray <[email protected]>
CC: Jonathan Cameron <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   10d4879f9ef01cc6190fafe4257d06f375bab92c
commit: b6c50affda5957a3629b149a91c7f6688ffce7f7 counter: Add character device 
interface
date:   11 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 11 months ago
config: arm-randconfig-c002-20220828 
(https://download.01.org/0day-ci/archive/20220828/[email protected]/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0
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
        # 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b6c50affda5957a3629b149a91c7f6688ffce7f7
        git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout b6c50affda5957a3629b149a91c7f6688ffce7f7
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross 
ARCH=arm KBUILD_USERCFLAGS='-fanalyzer -Wno-error' 

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

gcc-analyzer warnings: (new ones prefixed by >>)
   In function 'counter_get_data':
   cc1: warning: use of uninitialized value '<unknown>' [CWE-457] 
[-Wanalyzer-use-of-uninitialized-value]
     'counter_get_data': events 1-2
       |
       |drivers/counter/counter-chrdev.c:470:12:
       |  470 |         if (comp_node->component.type == COUNTER_COMPONENT_NONE)
       |      |            ^
       |      |            |
       |      |            (1) following 'false' branch...
       |......
       |  473 |         switch (comp->type) {
       |      |                 ~~~~~~~~~~
       |      |                     |
       |      |                     (2) ...to here
       |
     'counter_get_data': event 3
       |
       |cc1:
       | (3): following 'default:' branch...
       |
     'counter_get_data': event 4
       |
       |  487 |                 *value = value_u8;
       |      |                 ~~~~~~~^~~~~~~~~~
       |      |                        |
       |      |                        (4) ...to here
       |
     'counter_get_data': event 5
       |
       |cc1:
       | (5): use of uninitialized value '<unknown>' here
       |
   drivers/counter/counter-chrdev.c: In function 'counter_chrdev_read':
>> drivers/counter/counter-chrdev.c:63:22: warning: use of uninitialized value 
>> '<unknown>' [CWE-457] [-Wanalyzer-use-of-uninitialized-value]
      63 |         unsigned int copied;
         |                      ^~~~~~
     'counter_chrdev_read': event 1
       |
       |   63 |         unsigned int copied;
       |      |                      ^~~~~~
       |      |                      |
       |      |                      (1) use of uninitialized value '<unknown>' 
here
       |

vim +63 drivers/counter/counter-chrdev.c

b6c50affda5957 William Breathitt Gray 2021-09-29  33  
b6c50affda5957 William Breathitt Gray 2021-09-29  34  #define 
counter_comp_read_is_equal(a, b) \
b6c50affda5957 William Breathitt Gray 2021-09-29  35    (a.action_read == 
b.action_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  36    a.device_u8_read == 
b.device_u8_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  37    a.count_u8_read == 
b.count_u8_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  38    a.signal_u8_read == 
b.signal_u8_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  39    a.device_u32_read == 
b.device_u32_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  40    a.count_u32_read == 
b.count_u32_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  41    a.signal_u32_read == 
b.signal_u32_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  42    a.device_u64_read == 
b.device_u64_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  43    a.count_u64_read == 
b.count_u64_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  44    a.signal_u64_read == 
b.signal_u64_read)
b6c50affda5957 William Breathitt Gray 2021-09-29  45  
b6c50affda5957 William Breathitt Gray 2021-09-29  46  #define 
counter_comp_read_is_set(comp) \
b6c50affda5957 William Breathitt Gray 2021-09-29  47    (comp.action_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  48    comp.device_u8_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  49    comp.count_u8_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  50    comp.signal_u8_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  51    comp.device_u32_read || 
\
b6c50affda5957 William Breathitt Gray 2021-09-29  52    comp.count_u32_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  53    comp.signal_u32_read || 
\
b6c50affda5957 William Breathitt Gray 2021-09-29  54    comp.device_u64_read || 
\
b6c50affda5957 William Breathitt Gray 2021-09-29  55    comp.count_u64_read || \
b6c50affda5957 William Breathitt Gray 2021-09-29  56    comp.signal_u64_read)
b6c50affda5957 William Breathitt Gray 2021-09-29  57  
b6c50affda5957 William Breathitt Gray 2021-09-29  58  static ssize_t 
counter_chrdev_read(struct file *filp, char __user *buf,
b6c50affda5957 William Breathitt Gray 2021-09-29  59                            
   size_t len, loff_t *f_ps)
b6c50affda5957 William Breathitt Gray 2021-09-29  60  {
b6c50affda5957 William Breathitt Gray 2021-09-29  61    struct counter_device 
*const counter = filp->private_data;
b6c50affda5957 William Breathitt Gray 2021-09-29  62    int err;
b6c50affda5957 William Breathitt Gray 2021-09-29 @63    unsigned int copied;
b6c50affda5957 William Breathitt Gray 2021-09-29  64  
b6c50affda5957 William Breathitt Gray 2021-09-29  65    if (!counter->ops)
b6c50affda5957 William Breathitt Gray 2021-09-29  66            return -ENODEV;
b6c50affda5957 William Breathitt Gray 2021-09-29  67  
b6c50affda5957 William Breathitt Gray 2021-09-29  68    if (len < sizeof(struct 
counter_event))
b6c50affda5957 William Breathitt Gray 2021-09-29  69            return -EINVAL;
b6c50affda5957 William Breathitt Gray 2021-09-29  70  
b6c50affda5957 William Breathitt Gray 2021-09-29  71    do {
b6c50affda5957 William Breathitt Gray 2021-09-29  72            if 
(kfifo_is_empty(&counter->events)) {
b6c50affda5957 William Breathitt Gray 2021-09-29  73                    if 
(filp->f_flags & O_NONBLOCK)
b6c50affda5957 William Breathitt Gray 2021-09-29  74                            
return -EAGAIN;
b6c50affda5957 William Breathitt Gray 2021-09-29  75  
b6c50affda5957 William Breathitt Gray 2021-09-29  76                    err = 
wait_event_interruptible(counter->events_wait,
b6c50affda5957 William Breathitt Gray 2021-09-29  77                            
        !kfifo_is_empty(&counter->events) ||
b6c50affda5957 William Breathitt Gray 2021-09-29  78                            
        !counter->ops);
b6c50affda5957 William Breathitt Gray 2021-09-29  79                    if (err 
< 0)
b6c50affda5957 William Breathitt Gray 2021-09-29  80                            
return err;
b6c50affda5957 William Breathitt Gray 2021-09-29  81                    if 
(!counter->ops)
b6c50affda5957 William Breathitt Gray 2021-09-29  82                            
return -ENODEV;
b6c50affda5957 William Breathitt Gray 2021-09-29  83            }
b6c50affda5957 William Breathitt Gray 2021-09-29  84  
b6c50affda5957 William Breathitt Gray 2021-09-29  85            if 
(mutex_lock_interruptible(&counter->events_lock))
b6c50affda5957 William Breathitt Gray 2021-09-29  86                    return 
-ERESTARTSYS;
b6c50affda5957 William Breathitt Gray 2021-09-29  87            err = 
kfifo_to_user(&counter->events, buf, len, &copied);
b6c50affda5957 William Breathitt Gray 2021-09-29  88            
mutex_unlock(&counter->events_lock);
b6c50affda5957 William Breathitt Gray 2021-09-29  89            if (err < 0)
b6c50affda5957 William Breathitt Gray 2021-09-29  90                    return 
err;
b6c50affda5957 William Breathitt Gray 2021-09-29  91    } while (!copied);
b6c50affda5957 William Breathitt Gray 2021-09-29  92  
b6c50affda5957 William Breathitt Gray 2021-09-29  93    return copied;
b6c50affda5957 William Breathitt Gray 2021-09-29  94  }
b6c50affda5957 William Breathitt Gray 2021-09-29  95  

-- 
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