Hi Masahiro, First bad commit (maybe != root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 79ca035d2d941839f55f3b8b69f8e81c66946ed8 commit: df8df5e4bc37e39010cfdf5d50cf726fe08aae5b usb: get rid of 'choice' for legacy gadget drivers date: 3 months ago config: x86_64-randconfig-m001-20200611 (attached as .config) compiler: gcc-9 (Debian 9.3.0-13) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot New smatch warnings: drivers/usb/gadget/function/rndis.c:1102 rndis_proc_show() warn: inconsistent indenting drivers/usb/gadget/legacy/raw_gadget.c:273 gadget_bind() error: double unlocked 'dev->lock' (orig line 268) drivers/usb/gadget/legacy/raw_gadget.c:313 gadget_setup() error: double unlocked 'dev->lock' (orig line 311) drivers/usb/gadget/legacy/raw_gadget.c:498 raw_ioctl_run() error: double unlocked 'dev->lock' (orig line 481) drivers/usb/gadget/legacy/raw_gadget.c:632 raw_process_ep0_io() error: double unlocked 'dev->lock' (orig line 606) drivers/usb/gadget/legacy/raw_gadget.c:832 raw_ioctl_ep_disable() error: double unlocked 'dev->lock' (orig line 819) drivers/usb/gadget/legacy/raw_gadget.c:926 raw_process_ep_io() error: double unlocked 'dev->lock' (orig line 900) Old smatch warnings: drivers/usb/gadget/function/rndis.c:1109 rndis_proc_show() warn: inconsistent indenting drivers/usb/gadget/legacy/raw_gadget.c:102 raw_event_queue_fetch() warn: inconsistent returns 'queue->sema'. drivers/usb/gadget/legacy/raw_gadget.c:397 raw_ioctl_init() warn: maybe return -EFAULT instead of the bytes remaining? drivers/usb/gadget/legacy/raw_gadget.c:512 raw_ioctl_event_fetch() warn: maybe return -EFAULT instead of the bytes remaining? drivers/usb/gadget/legacy/raw_gadget.c:535 raw_ioctl_event_fetch() warn: maybe return -EFAULT instead of the bytes remaining? drivers/usb/gadget/legacy/raw_gadget.c:546 raw_alloc_io_data() error: passing non negative 8 to ERR_PTR drivers/usb/gadget/legacy/raw_gadget.c:668 raw_ioctl_ep0_read() warn: maybe return -EFAULT instead of the bytes remaining? drivers/usb/gadget/legacy/raw_gadget.c:962 raw_ioctl_ep_read() warn: maybe return -EFAULT instead of the bytes remaining? vim +1102 drivers/usb/gadget/function/rndis.c ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1086 e184d5fcaac9676 drivers/usb/gadget/rndis.c Alexey Dobriyan 2008-05-14 1087 static int rndis_proc_show(struct seq_file *m, void *v) ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1088 { e184d5fcaac9676 drivers/usb/gadget/rndis.c Alexey Dobriyan 2008-05-14 1089 rndis_params *param = m->private; ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1090 e184d5fcaac9676 drivers/usb/gadget/rndis.c Alexey Dobriyan 2008-05-14 1091 seq_printf(m, ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1092 "Config Nr. %d\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1093 "used : %s\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1094 "state : %s\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1095 "medium : 0x%08X\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1096 "speed : %d\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1097 "cable : %s\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1098 "vendor ID : 0x%08X\n" ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1099 "vendor : %s\n", ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1100 param->confignr, (param->used) ? "y" : "n", ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1101 ({ char *s = "?"; ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 @1102 switch (param->state) { ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1103 case RNDIS_UNINITIALIZED: ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1104 s = "RNDIS_UNINITIALIZED"; break; ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1105 case RNDIS_INITIALIZED: ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1106 s = "RNDIS_INITIALIZED"; break; ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1107 case RNDIS_DATA_INITIALIZED: ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1108 s = "RNDIS_DATA_INITIALIZED"; break; 2b84f92b8141679 drivers/usb/gadget/rndis.c Joe Perches 2013-10-08 1109 } s; }), ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1110 param->medium, ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1111 (param->media_state) ? 0 : param->speed*100, ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1112 (param->media_state) ? "disconnected" : "connected", ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1113 param->vendorID, param->vendorDescr); ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1114 return 0; ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1115 } ^1da177e4c3f415 drivers/usb/gadget/rndis.c Linus Torvalds 2005-04-16 1116 :::::: The code at line 1102 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds :::::: CC: Linus Torvalds --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org