tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing head: 0d45a1373e669880b8beaecc8765f44cb0241e47 commit: 9f607a309fbe95fc1f77acce5af70766a7142537 [3/89] usb: dwc3: Resize TX FIFOs to meet EP bursting requirements config: x86_64-randconfig-c007-20210816 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 44d0a99a12ec7ead4d2f5ef649ba05b40f6d463d) 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/gregkh/usb.git/commit/?id=9f607a309fbe95fc1f77acce5af70766a7142537 git remote add usb https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git git fetch --no-tags usb usb-testing git checkout 9f607a309fbe95fc1f77acce5af70766a7142537 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> clang-analyzer warnings: (new ones prefixed by >>) ^ drivers/hid/hid-dr.c:259:7: note: Assuming the condition is false if (field->flags & HID_MAIN_ITEM_RELATIVE) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/hid/hid-dr.c:259:3: note: Taking false branch if (field->flags & HID_MAIN_ITEM_RELATIVE) ^ drivers/hid/hid-dr.c:262:4: note: Calling 'hid_map_usage' map_abs(usage->hid & 0xf); ^ drivers/hid/hid-dr.c:245:25: note: expanded from macro 'map_abs' #define map_abs(c) hid_map_usage(hi, usage, bit, max, EV_ABS, (c)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/hid.h:982:2: note: 'input' initialized here struct input_dev *input = hidinput->input; ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/hid.h:986:2: note: Control jumps to 'case 3:' at line 987 switch (type) { ^ include/linux/hid.h:990:3: note: Execution continues on line 1005 break; ^ include/linux/hid.h:1005:15: note: 'c' is <= 'limit' if (unlikely(c > limit || !bmap)) { ^ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ include/linux/hid.h:1005:15: note: Left side of '||' is false if (unlikely(c > limit || !bmap)) { ^ include/linux/hid.h:1005:28: note: Assuming 'bmap' is null if (unlikely(c > limit || !bmap)) { ^ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ include/linux/hid.h:1005:2: note: Taking true branch if (unlikely(c > limit || !bmap)) { ^ include/linux/hid.h:1006:3: note: Assuming the condition is true pr_warn_ratelimited("%s: Invalid code %d type %d\n", ^ include/linux/printk.h:557:2: note: expanded from macro 'pr_warn_ratelimited' printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/printk.h:540:6: note: expanded from macro 'printk_ratelimited' if (__ratelimit(&_rs)) \ ^~~~~~~~~~~~~~~~~ include/linux/ratelimit_types.h:41:28: note: expanded from macro '__ratelimit' #define __ratelimit(state) ___ratelimit(state, __func__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/hid.h:1006:3: note: Taking true branch pr_warn_ratelimited("%s: Invalid code %d type %d\n", ^ include/linux/printk.h:557:2: note: expanded from macro 'pr_warn_ratelimited' printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^ include/linux/printk.h:540:2: note: expanded from macro 'printk_ratelimited' if (__ratelimit(&_rs)) \ ^ include/linux/hid.h:1007:9: note: Access to field 'name' results in a dereference of a null pointer (loaded from variable 'input') input->name, c, type); ^ include/linux/printk.h:557:49: note: expanded from macro 'pr_warn_ratelimited' printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~~~ include/linux/printk.h:541:17: note: expanded from macro 'printk_ratelimited' printk(fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ Suppressed 3 warnings (3 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. 2 warnings generated. Suppressed 2 warnings (2 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. 2 warnings generated. Suppressed 2 warnings (2 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. 3 warnings generated. Suppressed 3 warnings (3 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. 2 warnings generated. Suppressed 2 warnings (2 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 11 warnings generated. Suppressed 11 warnings (11 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. 3 warnings generated. Suppressed 3 warnings (3 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/usb/dwc3/gadget.c:687:2: warning: Value stored to 'dep' is never read [clang-analyzer-deadcode.DeadStores] dep = dwc->eps[1]; ^ ~~~~~~~~~~~ drivers/usb/dwc3/gadget.c:687:2: note: Value stored to 'dep' is never read dep = dwc->eps[1]; ^ ~~~~~~~~~~~ drivers/usb/dwc3/gadget.c:698:3: warning: Value stored to 'dep' is never read [clang-analyzer-deadcode.DeadStores] dep = dwc->eps[num]; ^ ~~~~~~~~~~~~~ drivers/usb/dwc3/gadget.c:698:3: note: Value stored to 'dep' is never read dep = dwc->eps[num]; ^ ~~~~~~~~~~~~~ drivers/usb/dwc3/gadget.c:3110:19: warning: Value stored to 'trb' during its initialization is never read [clang-analyzer-deadcode.DeadStores] struct dwc3_trb *trb = &dep->trb_pool[dep->trb_dequeue]; ^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/usb/dwc3/gadget.c:3110:19: note: Value stored to 'trb' during its initialization is never read struct dwc3_trb *trb = &dep->trb_pool[dep->trb_dequeue]; ^~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Suppressed 4 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 11 warnings generated. drivers/regulator/core.c:1109:2: warning: Value stored to 'count' is never read [clang-analyzer-deadcode.DeadStores] count += scnprintf(buf + count, len - count, ", %s", ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/regulator/core.c:1109:2: note: Value stored to 'count' is never read count += scnprintf(buf + count, len - count, ", %s", ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/regulator/core.c:3791:3: warning: Value stored to 'possible_uV' is never read [clang-analyzer-deadcode.DeadStores] possible_uV = desired_min_uV; ^ ~~~~~~~~~~~~~~ drivers/regulator/core.c:3791:3: note: Value stored to 'possible_uV' is never read possible_uV = desired_min_uV; ^ ~~~~~~~~~~~~~~ Suppressed 9 warnings (9 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 3 warnings generated. Suppressed 3 warnings (3 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. 8 warnings generated. Suppressed 8 warnings (8 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. drivers/usb/host/xhci-dbgcap.c:828:4: warning: Value stored to 'ctrl' is never read [clang-analyzer-deadcode.DeadStores] ctrl = readl(&dbc->regs->control); ^ drivers/usb/host/xhci-dbgcap.c:828:4: note: Value stored to 'ctrl' is never read 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. 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. 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. 5 warnings generated. include/uapi/linux/phonet.h:176:9: warning: 1st function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage] return pn_object(spn->spn_dev, spn->spn_obj); ^ net/phonet/pep.c:776:6: note: Assuming 'skb' is non-null if (!skb) ^~~~ net/phonet/pep.c:776:2: note: Taking false branch if (!skb) ^ net/phonet/pep.c:780:6: note: Assuming field 'skc_state' is equal to TCP_LISTEN if (sk->sk_state != TCP_LISTEN) { ^~~~~~~~~~~~~~~~~~~~~~~~~~ net/phonet/pep.c:780:2: note: Taking false branch vim +/dep +687 drivers/usb/dwc3/gadget.c 668 669 /** 670 * dwc3_gadget_clear_tx_fifo_size - Clears txfifo allocation 671 * @dwc: pointer to the DWC3 context 672 * 673 * Iterates through all the endpoint registers and clears the previous txfifo 674 * allocations. 675 */ 676 void dwc3_gadget_clear_tx_fifos(struct dwc3 *dwc) 677 { 678 struct dwc3_ep *dep; 679 int fifo_depth; 680 int size; 681 int num; 682 683 if (!dwc->do_fifo_resize) 684 return; 685 686 /* Read ep0IN related TXFIFO size */ > 687 dep = dwc->eps[1]; 688 size = dwc3_readl(dwc->regs, DWC3_GTXFIFOSIZ(0)); 689 if (DWC3_IP_IS(DWC3)) 690 fifo_depth = DWC3_GTXFIFOSIZ_TXFDEP(size); 691 else 692 fifo_depth = DWC31_GTXFIFOSIZ_TXFDEP(size); 693 694 dwc->last_fifo_depth = fifo_depth; 695 /* Clear existing TXFIFO for all IN eps except ep0 */ 696 for (num = 3; num < min_t(int, dwc->num_eps, DWC3_ENDPOINTS_NUM); 697 num += 2) { 698 dep = dwc->eps[num]; 699 /* Don't change TXFRAMNUM on usb31 version */ 700 size = DWC3_IP_IS(DWC3) ? 0 : 701 dwc3_readl(dwc->regs, DWC3_GTXFIFOSIZ(num >> 1)) & 702 DWC31_GTXFIFOSIZ_TXFRAMNUM; 703 704 dwc3_writel(dwc->regs, DWC3_GTXFIFOSIZ(num >> 1), size); 705 } 706 dwc->num_ep_resized = 0; 707 } 708 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip