CC: [email protected] CC: [email protected] TO: Eric Farman <[email protected]> CC: Vasily Gorbik <[email protected]> CC: Heiko Carstens <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: f9893351acaecf0a414baf9942b48d5bb5c688c6 commit: 114b9df419bf5db097b322ebb03fcf2f502f9380 s390: fix GENERIC_LOCKBREAK dependency typo in Kconfig date: 7 weeks ago :::::: branch date: 23 hours ago :::::: commit date: 7 weeks ago config: s390-randconfig-m031-20201023 (attached as .config) compiler: s390-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/scsi/sg.c:940 sg_ioctl_common() error: double locked 'sfp->rq_list_lock' (orig line 940) drivers/scsi/sg.c:940 sg_ioctl_common() error: double locked 'sfp->rq_list_lock' (orig line 940) net/smc/smc_core.c:603 smc_switch_conns() warn: inconsistent returns 'bottom_half'. net/tipc/node.c:486 tipc_node_create() error: double locked 'n->lock' (orig line 466) Old smatch warnings: drivers/scsi/sg.c:484 sg_read() error: we previously assumed 'srp' could be null (see line 470) drivers/scsi/sg.c:944 sg_ioctl_common() error: double locked 'sfp->rq_list_lock' (orig line 940) net/tipc/node.c:1699 tipc_node_xmit() warn: inconsistent returns 'bottom_half'. vim +940 drivers/scsi/sg.c fd6c3d5accea8e Arnd Bergmann 2018-08-24 916 37b9d1e0017b2d Jörn Engel 2012-04-12 917 static long d320a9551e394c Arnd Bergmann 2019-03-15 918 sg_ioctl_common(struct file *filp, Sg_device *sdp, Sg_fd *sfp, d320a9551e394c Arnd Bergmann 2019-03-15 919 unsigned int cmd_in, void __user *p) ^1da177e4c3f41 Linus Torvalds 2005-04-16 920 { ^1da177e4c3f41 Linus Torvalds 2005-04-16 921 int __user *ip = p; 176aa9d6ee2db5 Christoph Hellwig 2014-10-11 922 int result, val, read_only; ^1da177e4c3f41 Linus Torvalds 2005-04-16 923 Sg_request *srp; ^1da177e4c3f41 Linus Torvalds 2005-04-16 924 unsigned long iflags; ^1da177e4c3f41 Linus Torvalds 2005-04-16 925 95e159d6dd808b Hannes Reinecke 2014-06-25 926 SCSI_LOG_TIMEOUT(3, sg_printk(KERN_INFO, sdp, 95e159d6dd808b Hannes Reinecke 2014-06-25 927 "sg_ioctl: cmd=0x%x\n", (int) cmd_in)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 928 read_only = (O_RDWR != (filp->f_flags & O_ACCMODE)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 929 ^1da177e4c3f41 Linus Torvalds 2005-04-16 930 switch (cmd_in) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 931 case SG_IO: cc833acbee9db5 Douglas Gilbert 2014-06-25 932 if (atomic_read(&sdp->detaching)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 933 return -ENODEV; ^1da177e4c3f41 Linus Torvalds 2005-04-16 934 if (!scsi_block_when_processing_errors(sdp->device)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 935 return -ENXIO; dddbf8d908e89a Jörn Engel 2012-04-12 936 result = sg_new_write(sfp, filp, p, SZ_SG_IO_HDR, dddbf8d908e89a Jörn Engel 2012-04-12 937 1, read_only, 1, &srp); ^1da177e4c3f41 Linus Torvalds 2005-04-16 938 if (result < 0) ^1da177e4c3f41 Linus Torvalds 2005-04-16 939 return result; 3f0c6aba0b65a6 Jörn Engel 2012-04-12 @940 result = wait_event_interruptible(sfp->read_wait, cc833acbee9db5 Douglas Gilbert 2014-06-25 941 (srp_done(sfp, srp) || atomic_read(&sdp->detaching))); cc833acbee9db5 Douglas Gilbert 2014-06-25 942 if (atomic_read(&sdp->detaching)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 943 return -ENODEV; a2dd3b4cea3357 Tony Battersby 2009-01-20 944 write_lock_irq(&sfp->rq_list_lock); a2dd3b4cea3357 Tony Battersby 2009-01-20 945 if (srp->done) { a2dd3b4cea3357 Tony Battersby 2009-01-20 946 srp->done = 2; a2dd3b4cea3357 Tony Battersby 2009-01-20 947 write_unlock_irq(&sfp->rq_list_lock); 794c10fa0fa4d1 Jörn Engel 2012-04-12 948 result = sg_new_read(sfp, p, SZ_SG_IO_HDR, srp); 794c10fa0fa4d1 Jörn Engel 2012-04-12 949 return (result < 0) ? result : 0; a2dd3b4cea3357 Tony Battersby 2009-01-20 950 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 951 srp->orphan = 1; a2dd3b4cea3357 Tony Battersby 2009-01-20 952 write_unlock_irq(&sfp->rq_list_lock); ^1da177e4c3f41 Linus Torvalds 2005-04-16 953 return result; /* -ERESTARTSYS because signal hit process */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 954 case SG_SET_TIMEOUT: ^1da177e4c3f41 Linus Torvalds 2005-04-16 955 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 956 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 957 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 958 if (val < 0) ^1da177e4c3f41 Linus Torvalds 2005-04-16 959 return -EIO; f8630bd7e2185d Paul Burton 2016-08-19 960 if (val >= mult_frac((s64)INT_MAX, USER_HZ, HZ)) f8630bd7e2185d Paul Burton 2016-08-19 961 val = min_t(s64, mult_frac((s64)INT_MAX, USER_HZ, HZ), b9b6e80ad3b117 Paul Burton 2016-08-19 962 INT_MAX); ^1da177e4c3f41 Linus Torvalds 2005-04-16 963 sfp->timeout_user = val; f8630bd7e2185d Paul Burton 2016-08-19 964 sfp->timeout = mult_frac(val, HZ, USER_HZ); ^1da177e4c3f41 Linus Torvalds 2005-04-16 965 ^1da177e4c3f41 Linus Torvalds 2005-04-16 966 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 967 case SG_GET_TIMEOUT: /* N.B. User receives timeout as return value */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 968 /* strange ..., for backward compatibility */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 969 return sfp->timeout_user; ^1da177e4c3f41 Linus Torvalds 2005-04-16 970 case SG_SET_FORCE_LOW_DMA: 745dfa0d8ec26b Hannes Reinecke 2017-04-07 971 /* 745dfa0d8ec26b Hannes Reinecke 2017-04-07 972 * N.B. This ioctl never worked properly, but failed to 745dfa0d8ec26b Hannes Reinecke 2017-04-07 973 * return an error value. So returning '0' to keep compability 745dfa0d8ec26b Hannes Reinecke 2017-04-07 974 * with legacy applications. 745dfa0d8ec26b Hannes Reinecke 2017-04-07 975 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 976 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 977 case SG_GET_LOW_DMA: 745dfa0d8ec26b Hannes Reinecke 2017-04-07 978 return put_user((int) sdp->device->host->unchecked_isa_dma, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 979 case SG_GET_SCSI_ID: a16a47416d3f4f Al Viro 2019-10-17 980 { a16a47416d3f4f Al Viro 2019-10-17 981 sg_scsi_id_t v; ^1da177e4c3f41 Linus Torvalds 2005-04-16 982 cc833acbee9db5 Douglas Gilbert 2014-06-25 983 if (atomic_read(&sdp->detaching)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 984 return -ENODEV; a16a47416d3f4f Al Viro 2019-10-17 985 memset(&v, 0, sizeof(v)); a16a47416d3f4f Al Viro 2019-10-17 986 v.host_no = sdp->device->host->host_no; a16a47416d3f4f Al Viro 2019-10-17 987 v.channel = sdp->device->channel; a16a47416d3f4f Al Viro 2019-10-17 988 v.scsi_id = sdp->device->id; a16a47416d3f4f Al Viro 2019-10-17 989 v.lun = sdp->device->lun; a16a47416d3f4f Al Viro 2019-10-17 990 v.scsi_type = sdp->device->type; a16a47416d3f4f Al Viro 2019-10-17 991 v.h_cmd_per_lun = sdp->device->host->cmd_per_lun; a16a47416d3f4f Al Viro 2019-10-17 992 v.d_queue_depth = sdp->device->queue_depth; a16a47416d3f4f Al Viro 2019-10-17 993 if (copy_to_user(p, &v, sizeof(sg_scsi_id_t))) a16a47416d3f4f Al Viro 2019-10-17 994 return -EFAULT; ^1da177e4c3f41 Linus Torvalds 2005-04-16 995 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 996 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 997 case SG_SET_FORCE_PACK_ID: ^1da177e4c3f41 Linus Torvalds 2005-04-16 998 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 999 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1000 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1001 sfp->force_packid = val ? 1 : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1002 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1003 case SG_GET_PACK_ID: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1004 read_lock_irqsave(&sfp->rq_list_lock, iflags); 109bade9c625c8 Hannes Reinecke 2017-04-07 1005 list_for_each_entry(srp, &sfp->rq_list, entry) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1006 if ((1 == srp->done) && (!srp->sg_io_owned)) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1007 read_unlock_irqrestore(&sfp->rq_list_lock, ^1da177e4c3f41 Linus Torvalds 2005-04-16 1008 iflags); a16a47416d3f4f Al Viro 2019-10-17 1009 return put_user(srp->header.pack_id, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1010 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1011 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1012 read_unlock_irqrestore(&sfp->rq_list_lock, iflags); a16a47416d3f4f Al Viro 2019-10-17 1013 return put_user(-1, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1014 case SG_GET_NUM_WAITING: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1015 read_lock_irqsave(&sfp->rq_list_lock, iflags); 109bade9c625c8 Hannes Reinecke 2017-04-07 1016 val = 0; 109bade9c625c8 Hannes Reinecke 2017-04-07 1017 list_for_each_entry(srp, &sfp->rq_list, entry) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1018 if ((1 == srp->done) && (!srp->sg_io_owned)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1019 ++val; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1020 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1021 read_unlock_irqrestore(&sfp->rq_list_lock, iflags); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1022 return put_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1023 case SG_GET_SG_TABLESIZE: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1024 return put_user(sdp->sg_tablesize, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1025 case SG_SET_RESERVED_SIZE: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1026 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1027 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1028 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1029 if (val < 0) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1030 return -EINVAL; 44ec95425c1d9d Alan Stern 2007-02-20 1031 val = min_t(int, val, 46f69e6a6bbbf3 Akinobu Mita 2014-06-02 1032 max_sectors_bytes(sdp->device->request_queue)); 1bc0eb0446158c Hannes Reinecke 2017-04-07 1033 mutex_lock(&sfp->f_mutex); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1034 if (val != sfp->reserve.bufflen) { 1bc0eb0446158c Hannes Reinecke 2017-04-07 1035 if (sfp->mmap_called || 1bc0eb0446158c Hannes Reinecke 2017-04-07 1036 sfp->res_in_use) { 1bc0eb0446158c Hannes Reinecke 2017-04-07 1037 mutex_unlock(&sfp->f_mutex); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1038 return -EBUSY; 1bc0eb0446158c Hannes Reinecke 2017-04-07 1039 } 1bc0eb0446158c Hannes Reinecke 2017-04-07 1040 95e159d6dd808b Hannes Reinecke 2014-06-25 1041 sg_remove_scat(sfp, &sfp->reserve); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1042 sg_build_reserve(sfp, val); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1043 } 1bc0eb0446158c Hannes Reinecke 2017-04-07 1044 mutex_unlock(&sfp->f_mutex); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1045 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1046 case SG_GET_RESERVED_SIZE: 44ec95425c1d9d Alan Stern 2007-02-20 1047 val = min_t(int, sfp->reserve.bufflen, 46f69e6a6bbbf3 Akinobu Mita 2014-06-02 1048 max_sectors_bytes(sdp->device->request_queue)); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1049 return put_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1050 case SG_SET_COMMAND_Q: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1051 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1052 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1053 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1054 sfp->cmd_q = val ? 1 : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1055 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1056 case SG_GET_COMMAND_Q: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1057 return put_user((int) sfp->cmd_q, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1058 case SG_SET_KEEP_ORPHAN: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1059 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1060 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1061 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1062 sfp->keep_orphan = val; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1063 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1064 case SG_GET_KEEP_ORPHAN: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1065 return put_user((int) sfp->keep_orphan, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1066 case SG_NEXT_CMD_LEN: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1067 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1068 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1069 return result; bf33f87dd04c37 peter chang 2017-02-15 1070 if (val > SG_MAX_CDB_SIZE) bf33f87dd04c37 peter chang 2017-02-15 1071 return -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1072 sfp->next_cmd_len = (val > 0) ? val : 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1073 return 0; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1074 case SG_GET_VERSION_NUM: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1075 return put_user(sg_version_num, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1076 case SG_GET_ACCESS_COUNT: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1077 /* faked - we don't have a real access count anymore */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 1078 val = (sdp->device ? 1 : 0); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1079 return put_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1080 case SG_GET_REQUEST_TABLE: fd6c3d5accea8e Arnd Bergmann 2018-08-24 1081 { cb59e840838193 Douglas Gilbert 2005-04-02 1082 sg_req_info_t *rinfo; cb59e840838193 Douglas Gilbert 2005-04-02 1083 6396bb221514d2 Kees Cook 2018-06-12 1084 rinfo = kcalloc(SG_MAX_QUEUE, SZ_SG_REQ_INFO, cb59e840838193 Douglas Gilbert 2005-04-02 1085 GFP_KERNEL); cb59e840838193 Douglas Gilbert 2005-04-02 1086 if (!rinfo) cb59e840838193 Douglas Gilbert 2005-04-02 1087 return -ENOMEM; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1088 read_lock_irqsave(&sfp->rq_list_lock, iflags); 4759df905a474d Hannes Reinecke 2017-09-15 1089 sg_fill_request_table(sfp, rinfo); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1090 read_unlock_irqrestore(&sfp->rq_list_lock, iflags); fd6c3d5accea8e Arnd Bergmann 2018-08-24 1091 #ifdef CONFIG_COMPAT fd6c3d5accea8e Arnd Bergmann 2018-08-24 1092 if (in_compat_syscall()) fd6c3d5accea8e Arnd Bergmann 2018-08-24 1093 result = put_compat_request_table(p, rinfo); fd6c3d5accea8e Arnd Bergmann 2018-08-24 1094 else fd6c3d5accea8e Arnd Bergmann 2018-08-24 1095 #endif fd6c3d5accea8e Arnd Bergmann 2018-08-24 1096 result = copy_to_user(p, rinfo, cb59e840838193 Douglas Gilbert 2005-04-02 1097 SZ_SG_REQ_INFO * SG_MAX_QUEUE); cb59e840838193 Douglas Gilbert 2005-04-02 1098 result = result ? -EFAULT : 0; cb59e840838193 Douglas Gilbert 2005-04-02 1099 kfree(rinfo); cb59e840838193 Douglas Gilbert 2005-04-02 1100 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1101 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1102 case SG_EMULATED_HOST: cc833acbee9db5 Douglas Gilbert 2014-06-25 1103 if (atomic_read(&sdp->detaching)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1104 return -ENODEV; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1105 return put_user(sdp->device->host->hostt->emulated, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1106 case SCSI_IOCTL_SEND_COMMAND: cc833acbee9db5 Douglas Gilbert 2014-06-25 1107 if (atomic_read(&sdp->detaching)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1108 return -ENODEV; e915e872ed921d Al Viro 2008-09-02 1109 return sg_scsi_ioctl(sdp->device->request_queue, NULL, filp->f_mode, p); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1110 case SG_SET_DEBUG: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1111 result = get_user(val, ip); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1112 if (result) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1113 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1114 sdp->sgdebug = (char) val; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1115 return 0; 44ec95425c1d9d Alan Stern 2007-02-20 1116 case BLKSECTGET: 46f69e6a6bbbf3 Akinobu Mita 2014-06-02 1117 return put_user(max_sectors_bytes(sdp->device->request_queue), 44ec95425c1d9d Alan Stern 2007-02-20 1118 ip); 6da127ad0918f9 Christof Schmitt 2008-01-11 1119 case BLKTRACESETUP: 6da127ad0918f9 Christof Schmitt 2008-01-11 1120 return blk_trace_setup(sdp->device->request_queue, 6da127ad0918f9 Christof Schmitt 2008-01-11 1121 sdp->disk->disk_name, 76e3a19d0691bb Martin Peschke 2009-01-30 1122 MKDEV(SCSI_GENERIC_MAJOR, sdp->index), 7475c8ae1b7bfc Bart Van Assche 2017-08-25 1123 NULL, p); 6da127ad0918f9 Christof Schmitt 2008-01-11 1124 case BLKTRACESTART: 6da127ad0918f9 Christof Schmitt 2008-01-11 1125 return blk_trace_startstop(sdp->device->request_queue, 1); 6da127ad0918f9 Christof Schmitt 2008-01-11 1126 case BLKTRACESTOP: 6da127ad0918f9 Christof Schmitt 2008-01-11 1127 return blk_trace_startstop(sdp->device->request_queue, 0); 6da127ad0918f9 Christof Schmitt 2008-01-11 1128 case BLKTRACETEARDOWN: 6da127ad0918f9 Christof Schmitt 2008-01-11 1129 return blk_trace_remove(sdp->device->request_queue); 906d15fbd23c12 Christoph Hellwig 2014-10-11 1130 case SCSI_IOCTL_GET_IDLUN: 906d15fbd23c12 Christoph Hellwig 2014-10-11 1131 case SCSI_IOCTL_GET_BUS_NUMBER: 906d15fbd23c12 Christoph Hellwig 2014-10-11 1132 case SCSI_IOCTL_PROBE_HOST: 906d15fbd23c12 Christoph Hellwig 2014-10-11 1133 case SG_GET_TRANSFORM: 906d15fbd23c12 Christoph Hellwig 2014-10-11 1134 case SG_SCSI_RESET: 906d15fbd23c12 Christoph Hellwig 2014-10-11 1135 if (atomic_read(&sdp->detaching)) 906d15fbd23c12 Christoph Hellwig 2014-10-11 1136 return -ENODEV; 906d15fbd23c12 Christoph Hellwig 2014-10-11 1137 break; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1138 default: ^1da177e4c3f41 Linus Torvalds 2005-04-16 1139 if (read_only) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1140 return -EPERM; /* don't know so take safe approach */ 906d15fbd23c12 Christoph Hellwig 2014-10-11 1141 break; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1142 } 906d15fbd23c12 Christoph Hellwig 2014-10-11 1143 906d15fbd23c12 Christoph Hellwig 2014-10-11 1144 result = scsi_ioctl_block_when_processing_errors(sdp->device, 906d15fbd23c12 Christoph Hellwig 2014-10-11 1145 cmd_in, filp->f_flags & O_NDELAY); 906d15fbd23c12 Christoph Hellwig 2014-10-11 1146 if (result) 906d15fbd23c12 Christoph Hellwig 2014-10-11 1147 return result; d320a9551e394c Arnd Bergmann 2019-03-15 1148 d320a9551e394c Arnd Bergmann 2019-03-15 1149 return -ENOIOCTLCMD; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1150 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1151 :::::: The code at line 940 was first introduced by commit :::::: 3f0c6aba0b65a68013c1e0db1b015f02e6ec24be [SCSI] sg: use wait_event_interruptible() :::::: TO: Jörn Engel <[email protected]> :::::: CC: James Bottomley <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
