From: kernel test robot <lkp@intel.com> To: kbuild@lists.01.org Subject: Re: [RFC PATCH 27/48] target: core: fix parsing PR OUT TID Date: Sat, 06 Aug 2022 04:01:16 +0800 [thread overview] Message-ID: <202208060306.OumJ9c0l-lkp@intel.com> (raw) [-- Attachment #1: Type: text/plain, Size: 14328 bytes --] BCC: lkp(a)intel.com CC: kbuild-all(a)lists.01.org In-Reply-To: <20220803162857.27770-28-d.bogdanov@yadro.com> References: <20220803162857.27770-28-d.bogdanov@yadro.com> TO: Dmitry Bogdanov <d.bogdanov@yadro.com> Hi Dmitry, [FYI, it's a private test report for your RFC patch.] [auto build test WARNING on v5.19] [also build test WARNING on linus/master next-20220805] [cannot apply to mkp-scsi/for-next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Bogdanov/Target-cluster-implementation-over-DLM/20220804-003430 base: 3d7cb6b04c3f3115719235cc6866b10326de34cd :::::: branch date: 2 days ago :::::: commit date: 2 days ago config: csky-randconfig-m031-20220803 (https://download.01.org/0day-ci/archive/20220806/202208060306.OumJ9c0l-lkp(a)intel.com/config) compiler: csky-linux-gcc (GCC) 12.1.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> smatch warnings: drivers/target/target_core_fabric_lib.c:343 iscsi_parse_pr_out_transport_id() error: uninitialized symbol 'p'. drivers/target/target_core_fabric_lib.c:424 target_parse_pr_out_transport_id() warn: ignoring unreachable code. vim +/p +343 drivers/target/target_core_fabric_lib.c 421431f2fd129f Dmitry Bogdanov 2022-06-29 267 421431f2fd129f Dmitry Bogdanov 2022-06-29 268 u32 iscsi_parse_pr_out_transport_id( 421431f2fd129f Dmitry Bogdanov 2022-06-29 269 const char *buf, 421431f2fd129f Dmitry Bogdanov 2022-06-29 270 char *initiatorname, c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 271 char **port_nexus_ptr) c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 272 { c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 273 char *p; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 274 int i; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 275 u8 format_code = (buf[0] & 0xc0); 421431f2fd129f Dmitry Bogdanov 2022-06-29 276 u32 out_tid_len; 421431f2fd129f Dmitry Bogdanov 2022-06-29 277 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 278 /* c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 279 * Check for FORMAT CODE 00b or 01b from spc4r17, section 7.5.4.6: c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 280 * c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 281 * TransportID for initiator ports using SCSI over iSCSI, c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 282 * from Table 388 -- iSCSI TransportID formats. c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 283 * c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 284 * 00b Initiator port is identified using the world wide unique c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 285 * SCSI device name of the iSCSI initiator c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 286 * device containing the initiator port (see table 389). c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 287 * 01b Initiator port is identified using the world wide unique c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 288 * initiator port identifier (see table 390).10b to 11b c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 289 * Reserved c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 290 */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 291 if ((format_code != 0x00) && (format_code != 0x40)) { 6708bb27bb2703 Andy Grover 2011-06-08 292 pr_err("Illegal format code: 0x%02x for iSCSI" c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 293 " Initiator Transport ID\n", format_code); 421431f2fd129f Dmitry Bogdanov 2022-06-29 294 return 0; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 295 } 68edbce4fb4b17 Joern Engel 2014-09-02 296 /* The shift works thanks to integer promotion rules */ 421431f2fd129f Dmitry Bogdanov 2022-06-29 297 out_tid_len = get_unaligned_be16(&buf[2]); 169622eee4373d Mike Christie 2020-07-01 298 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 299 /* 35d1efe80500a5 Masanari Iida 2012-08-16 300 * Check for ',i,0x' separator between iSCSI Name and iSCSI Initiator c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 301 * Session ID as defined in Table 390 - iSCSI initiator port TransportID c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 302 * format. c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 303 */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 304 if (format_code == 0x40) { 8359cf43b9dccd Jörn Engel 2011-11-24 305 p = strstr(&buf[4], ",i,0x"); 6708bb27bb2703 Andy Grover 2011-06-08 306 if (!p) { 35d1efe80500a5 Masanari Iida 2012-08-16 307 pr_err("Unable to locate \",i,0x\" separator" c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 308 " for Initiator port identifier: %s\n", 8359cf43b9dccd Jörn Engel 2011-11-24 309 &buf[4]); 421431f2fd129f Dmitry Bogdanov 2022-06-29 310 return 0; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 311 } 421431f2fd129f Dmitry Bogdanov 2022-06-29 312 memcpy(initiatorname, &buf[4], p - buf - 4); 421431f2fd129f Dmitry Bogdanov 2022-06-29 313 initiatorname[p - buf - 4] = '\0'; /* Terminate iSCSI Name */ 35d1efe80500a5 Masanari Iida 2012-08-16 314 p += 5; /* Skip over ",i,0x" separator */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 315 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 316 *port_nexus_ptr = p; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 317 /* c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 318 * Go ahead and do the lower case conversion of the received c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 319 * 12 ASCII characters representing the ISID in the TransportID 25985edcedea63 Lucas De Marchi 2011-03-30 320 * for comparison against the running iSCSI session's ISID from c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 321 * iscsi_target.c:lio_sess_get_initiator_sid() c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 322 */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 323 for (i = 0; i < 12; i++) { 639341bf8836f2 Mike Christie 2020-07-01 324 /* 639341bf8836f2 Mike Christie 2020-07-01 325 * The first ISCSI INITIATOR SESSION ID field byte 639341bf8836f2 Mike Christie 2020-07-01 326 * containing an ASCII null character terminates the 639341bf8836f2 Mike Christie 2020-07-01 327 * ISCSI INITIATOR SESSION ID field without regard for 639341bf8836f2 Mike Christie 2020-07-01 328 * the specified length of the iSCSI TransportID or the 639341bf8836f2 Mike Christie 2020-07-01 329 * contents of the ADDITIONAL LENGTH field. 639341bf8836f2 Mike Christie 2020-07-01 330 */ 639341bf8836f2 Mike Christie 2020-07-01 331 if (*p == '\0') 639341bf8836f2 Mike Christie 2020-07-01 332 break; 639341bf8836f2 Mike Christie 2020-07-01 333 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 334 if (isdigit(*p)) { c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 335 p++; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 336 continue; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 337 } c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 338 *p = tolower(*p); c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 339 p++; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 340 } 421431f2fd129f Dmitry Bogdanov 2022-06-29 341 } else { 421431f2fd129f Dmitry Bogdanov 2022-06-29 342 strscpy(initiatorname, &buf[4], out_tid_len); 421431f2fd129f Dmitry Bogdanov 2022-06-29 @343 initiatorname[p - buf] = '\0'; /* Terminate iSCSI Name */ 13ef143ddd93a5 Bodo Stroesser 2020-04-08 344 *port_nexus_ptr = NULL; 421431f2fd129f Dmitry Bogdanov 2022-06-29 345 } c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 346 421431f2fd129f Dmitry Bogdanov 2022-06-29 347 /* Add four bytes for iSCSI Transport ID header */ 421431f2fd129f Dmitry Bogdanov 2022-06-29 348 out_tid_len += 4; 421431f2fd129f Dmitry Bogdanov 2022-06-29 349 421431f2fd129f Dmitry Bogdanov 2022-06-29 350 return out_tid_len; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 351 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 352 879815a20d04fa Dmitry Bogdanov 2022-07-27 353 int target_get_pr_transport_id_len(struct t10_pr_registration *pr_reg) 2650d71e244fb3 Christoph Hellwig 2015-05-01 354 { 879815a20d04fa Dmitry Bogdanov 2022-07-27 355 switch (pr_reg->pr_tid[0] & 0xF) { 2650d71e244fb3 Christoph Hellwig 2015-05-01 356 case SCSI_PROTOCOL_FCP: 2650d71e244fb3 Christoph Hellwig 2015-05-01 357 case SCSI_PROTOCOL_SBP: 2650d71e244fb3 Christoph Hellwig 2015-05-01 358 case SCSI_PROTOCOL_SRP: 2650d71e244fb3 Christoph Hellwig 2015-05-01 359 case SCSI_PROTOCOL_SAS: 879815a20d04fa Dmitry Bogdanov 2022-07-27 360 return 24; 2650d71e244fb3 Christoph Hellwig 2015-05-01 361 case SCSI_PROTOCOL_ISCSI: 879815a20d04fa Dmitry Bogdanov 2022-07-27 362 return get_unaligned_be16(&pr_reg->pr_tid[2]) + 4; 2650d71e244fb3 Christoph Hellwig 2015-05-01 363 default: 879815a20d04fa Dmitry Bogdanov 2022-07-27 364 WARN(1, "Unknown proto_id: %#x\n", pr_reg->pr_tid[0] & 0xF); 2650d71e244fb3 Christoph Hellwig 2015-05-01 365 return -EINVAL; 2650d71e244fb3 Christoph Hellwig 2015-05-01 366 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 367 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 368 46be2a3c945e34 Dmitry Bogdanov 2021-12-24 369 int target_get_pr_transport_id( 879815a20d04fa Dmitry Bogdanov 2022-07-27 370 struct t10_pr_registration *pr_reg, 2650d71e244fb3 Christoph Hellwig 2015-05-01 371 unsigned char *buf) 2650d71e244fb3 Christoph Hellwig 2015-05-01 372 { 879815a20d04fa Dmitry Bogdanov 2022-07-27 373 int len = target_get_pr_transport_id_len(pr_reg); 879815a20d04fa Dmitry Bogdanov 2022-07-27 374 879815a20d04fa Dmitry Bogdanov 2022-07-27 375 if (len > 0) 879815a20d04fa Dmitry Bogdanov 2022-07-27 376 memcpy(buf, pr_reg->pr_tid, len); 879815a20d04fa Dmitry Bogdanov 2022-07-27 377 879815a20d04fa Dmitry Bogdanov 2022-07-27 378 return len; 879815a20d04fa Dmitry Bogdanov 2022-07-27 379 } 879815a20d04fa Dmitry Bogdanov 2022-07-27 380 879815a20d04fa Dmitry Bogdanov 2022-07-27 381 int target_gen_pr_transport_id( 879815a20d04fa Dmitry Bogdanov 2022-07-27 382 struct t10_pr_registration *pr_reg, 879815a20d04fa Dmitry Bogdanov 2022-07-27 383 int proto_id, 879815a20d04fa Dmitry Bogdanov 2022-07-27 384 const char *initiatorname, 879815a20d04fa Dmitry Bogdanov 2022-07-27 385 unsigned char *isid) 879815a20d04fa Dmitry Bogdanov 2022-07-27 386 { 879815a20d04fa Dmitry Bogdanov 2022-07-27 387 879815a20d04fa Dmitry Bogdanov 2022-07-27 388 switch (proto_id) { 2650d71e244fb3 Christoph Hellwig 2015-05-01 389 case SCSI_PROTOCOL_SAS: 879815a20d04fa Dmitry Bogdanov 2022-07-27 390 return sas_get_pr_transport_id(initiatorname, pr_reg->pr_tid); 2650d71e244fb3 Christoph Hellwig 2015-05-01 391 case SCSI_PROTOCOL_SBP: 879815a20d04fa Dmitry Bogdanov 2022-07-27 392 return sbp_get_pr_transport_id(initiatorname, pr_reg->pr_tid); 2650d71e244fb3 Christoph Hellwig 2015-05-01 393 case SCSI_PROTOCOL_SRP: 879815a20d04fa Dmitry Bogdanov 2022-07-27 394 return srp_get_pr_transport_id(initiatorname, pr_reg->pr_tid); 2650d71e244fb3 Christoph Hellwig 2015-05-01 395 case SCSI_PROTOCOL_FCP: 879815a20d04fa Dmitry Bogdanov 2022-07-27 396 return fc_get_pr_transport_id(initiatorname, pr_reg->pr_tid); 2650d71e244fb3 Christoph Hellwig 2015-05-01 397 case SCSI_PROTOCOL_ISCSI: 879815a20d04fa Dmitry Bogdanov 2022-07-27 398 return iscsi_get_pr_transport_id(initiatorname, isid, pr_reg->pr_tid); 2650d71e244fb3 Christoph Hellwig 2015-05-01 399 default: 879815a20d04fa Dmitry Bogdanov 2022-07-27 400 pr_err("Unknown proto_id: 0x%02x\n", proto_id); 2650d71e244fb3 Christoph Hellwig 2015-05-01 401 return -EINVAL; 2650d71e244fb3 Christoph Hellwig 2015-05-01 402 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 403 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 404 421431f2fd129f Dmitry Bogdanov 2022-06-29 405 u32 target_parse_pr_out_transport_id( 421431f2fd129f Dmitry Bogdanov 2022-06-29 406 const char *buf, char *initiatorname, char **port_nexus_ptr) 2650d71e244fb3 Christoph Hellwig 2015-05-01 407 { 421431f2fd129f Dmitry Bogdanov 2022-06-29 408 switch (buf[0] & 0xF) { 2650d71e244fb3 Christoph Hellwig 2015-05-01 409 case SCSI_PROTOCOL_SAS: 421431f2fd129f Dmitry Bogdanov 2022-06-29 410 return sas_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 411 case SCSI_PROTOCOL_SBP: 421431f2fd129f Dmitry Bogdanov 2022-06-29 412 return sbp_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 413 case SCSI_PROTOCOL_SRP: 421431f2fd129f Dmitry Bogdanov 2022-06-29 414 return srp_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 415 case SCSI_PROTOCOL_FCP: 421431f2fd129f Dmitry Bogdanov 2022-06-29 416 return fc_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 417 case SCSI_PROTOCOL_ISCSI: 421431f2fd129f Dmitry Bogdanov 2022-06-29 418 return iscsi_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 419 default: 421431f2fd129f Dmitry Bogdanov 2022-06-29 420 pr_err("Unknown proto_id: 0x%02x\n", buf[0] & 0xF); 421431f2fd129f Dmitry Bogdanov 2022-06-29 421 return 0; 2650d71e244fb3 Christoph Hellwig 2015-05-01 422 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 423 2650d71e244fb3 Christoph Hellwig 2015-05-01 @424 *port_nexus_ptr = NULL; -- 0-DAY CI Kernel Test Service https://01.org/lkp
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com> To: kbuild-all@lists.01.org Subject: Re: [RFC PATCH 27/48] target: core: fix parsing PR OUT TID Date: Mon, 08 Aug 2022 13:31:52 +0300 [thread overview] Message-ID: <202208060306.OumJ9c0l-lkp@intel.com> (raw) In-Reply-To: <20220803162857.27770-28-d.bogdanov@yadro.com> [-- Attachment #1: Type: text/plain, Size: 9798 bytes --] Hi Dmitry, https://git-scm.com/docs/git-format-patch#_base_tree_information] [ Not sure why the kbuild bot added this line. - dan] url: https://github.com/intel-lab-lkp/linux/commits/Dmitry-Bogdanov/Target-cluster-implementation-over-DLM/20220804-003430 base: 3d7cb6b04c3f3115719235cc6866b10326de34cd config: csky-randconfig-m031-20220803 (https://download.01.org/0day-ci/archive/20220806/202208060306.OumJ9c0l-lkp(a)intel.com/config) compiler: csky-linux-gcc (GCC) 12.1.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> smatch warnings: drivers/target/target_core_fabric_lib.c:343 iscsi_parse_pr_out_transport_id() error: uninitialized symbol 'p'. drivers/target/target_core_fabric_lib.c:424 target_parse_pr_out_transport_id() warn: ignoring unreachable code. vim +/p +343 drivers/target/target_core_fabric_lib.c 421431f2fd129f Dmitry Bogdanov 2022-06-29 268 u32 iscsi_parse_pr_out_transport_id( 421431f2fd129f Dmitry Bogdanov 2022-06-29 269 const char *buf, 421431f2fd129f Dmitry Bogdanov 2022-06-29 270 char *initiatorname, c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 271 char **port_nexus_ptr) c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 272 { c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 273 char *p; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 274 int i; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 275 u8 format_code = (buf[0] & 0xc0); 421431f2fd129f Dmitry Bogdanov 2022-06-29 276 u32 out_tid_len; 421431f2fd129f Dmitry Bogdanov 2022-06-29 277 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 278 /* c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 279 * Check for FORMAT CODE 00b or 01b from spc4r17, section 7.5.4.6: c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 280 * c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 281 * TransportID for initiator ports using SCSI over iSCSI, c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 282 * from Table 388 -- iSCSI TransportID formats. c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 283 * c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 284 * 00b Initiator port is identified using the world wide unique c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 285 * SCSI device name of the iSCSI initiator c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 286 * device containing the initiator port (see table 389). c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 287 * 01b Initiator port is identified using the world wide unique c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 288 * initiator port identifier (see table 390).10b to 11b c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 289 * Reserved c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 290 */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 291 if ((format_code != 0x00) && (format_code != 0x40)) { 6708bb27bb2703 Andy Grover 2011-06-08 292 pr_err("Illegal format code: 0x%02x for iSCSI" c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 293 " Initiator Transport ID\n", format_code); 421431f2fd129f Dmitry Bogdanov 2022-06-29 294 return 0; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 295 } 68edbce4fb4b17 Joern Engel 2014-09-02 296 /* The shift works thanks to integer promotion rules */ 421431f2fd129f Dmitry Bogdanov 2022-06-29 297 out_tid_len = get_unaligned_be16(&buf[2]); 169622eee4373d Mike Christie 2020-07-01 298 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 299 /* 35d1efe80500a5 Masanari Iida 2012-08-16 300 * Check for ',i,0x' separator between iSCSI Name and iSCSI Initiator c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 301 * Session ID as defined in Table 390 - iSCSI initiator port TransportID c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 302 * format. c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 303 */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 304 if (format_code == 0x40) { 8359cf43b9dccd Jörn Engel 2011-11-24 305 p = strstr(&buf[4], ",i,0x"); 6708bb27bb2703 Andy Grover 2011-06-08 306 if (!p) { 35d1efe80500a5 Masanari Iida 2012-08-16 307 pr_err("Unable to locate \",i,0x\" separator" c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 308 " for Initiator port identifier: %s\n", 8359cf43b9dccd Jörn Engel 2011-11-24 309 &buf[4]); 421431f2fd129f Dmitry Bogdanov 2022-06-29 310 return 0; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 311 } 421431f2fd129f Dmitry Bogdanov 2022-06-29 312 memcpy(initiatorname, &buf[4], p - buf - 4); 421431f2fd129f Dmitry Bogdanov 2022-06-29 313 initiatorname[p - buf - 4] = '\0'; /* Terminate iSCSI Name */ 35d1efe80500a5 Masanari Iida 2012-08-16 314 p += 5; /* Skip over ",i,0x" separator */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 315 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 316 *port_nexus_ptr = p; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 317 /* c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 318 * Go ahead and do the lower case conversion of the received c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 319 * 12 ASCII characters representing the ISID in the TransportID 25985edcedea63 Lucas De Marchi 2011-03-30 320 * for comparison against the running iSCSI session's ISID from c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 321 * iscsi_target.c:lio_sess_get_initiator_sid() c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 322 */ c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 323 for (i = 0; i < 12; i++) { 639341bf8836f2 Mike Christie 2020-07-01 324 /* 639341bf8836f2 Mike Christie 2020-07-01 325 * The first ISCSI INITIATOR SESSION ID field byte 639341bf8836f2 Mike Christie 2020-07-01 326 * containing an ASCII null character terminates the 639341bf8836f2 Mike Christie 2020-07-01 327 * ISCSI INITIATOR SESSION ID field without regard for 639341bf8836f2 Mike Christie 2020-07-01 328 * the specified length of the iSCSI TransportID or the 639341bf8836f2 Mike Christie 2020-07-01 329 * contents of the ADDITIONAL LENGTH field. 639341bf8836f2 Mike Christie 2020-07-01 330 */ 639341bf8836f2 Mike Christie 2020-07-01 331 if (*p == '\0') 639341bf8836f2 Mike Christie 2020-07-01 332 break; 639341bf8836f2 Mike Christie 2020-07-01 333 c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 334 if (isdigit(*p)) { c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 335 p++; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 336 continue; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 337 } c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 338 *p = tolower(*p); c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 339 p++; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 340 } 421431f2fd129f Dmitry Bogdanov 2022-06-29 341 } else { 421431f2fd129f Dmitry Bogdanov 2022-06-29 342 strscpy(initiatorname, &buf[4], out_tid_len); 421431f2fd129f Dmitry Bogdanov 2022-06-29 @343 initiatorname[p - buf] = '\0'; /* Terminate iSCSI Name */ "p" is not ininitialized@this point. 13ef143ddd93a5 Bodo Stroesser 2020-04-08 344 *port_nexus_ptr = NULL; 421431f2fd129f Dmitry Bogdanov 2022-06-29 345 } c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 346 421431f2fd129f Dmitry Bogdanov 2022-06-29 347 /* Add four bytes for iSCSI Transport ID header */ 421431f2fd129f Dmitry Bogdanov 2022-06-29 348 out_tid_len += 4; 421431f2fd129f Dmitry Bogdanov 2022-06-29 349 421431f2fd129f Dmitry Bogdanov 2022-06-29 350 return out_tid_len; c66ac9db8d4ad9 Nicholas Bellinger 2010-12-17 351 } [ snip ] 421431f2fd129f Dmitry Bogdanov 2022-06-29 405 u32 target_parse_pr_out_transport_id( 421431f2fd129f Dmitry Bogdanov 2022-06-29 406 const char *buf, char *initiatorname, char **port_nexus_ptr) 2650d71e244fb3 Christoph Hellwig 2015-05-01 407 { 421431f2fd129f Dmitry Bogdanov 2022-06-29 408 switch (buf[0] & 0xF) { 2650d71e244fb3 Christoph Hellwig 2015-05-01 409 case SCSI_PROTOCOL_SAS: 421431f2fd129f Dmitry Bogdanov 2022-06-29 410 return sas_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 411 case SCSI_PROTOCOL_SBP: 421431f2fd129f Dmitry Bogdanov 2022-06-29 412 return sbp_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 413 case SCSI_PROTOCOL_SRP: 421431f2fd129f Dmitry Bogdanov 2022-06-29 414 return srp_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 415 case SCSI_PROTOCOL_FCP: 421431f2fd129f Dmitry Bogdanov 2022-06-29 416 return fc_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 417 case SCSI_PROTOCOL_ISCSI: 421431f2fd129f Dmitry Bogdanov 2022-06-29 418 return iscsi_parse_pr_out_transport_id(buf, initiatorname, port_nexus_ptr); 2650d71e244fb3 Christoph Hellwig 2015-05-01 419 default: 421431f2fd129f Dmitry Bogdanov 2022-06-29 420 pr_err("Unknown proto_id: 0x%02x\n", buf[0] & 0xF); 421431f2fd129f Dmitry Bogdanov 2022-06-29 421 return 0; New return makes the rest unreachable. Should *port_nexus_ptr be initialized on error? 2650d71e244fb3 Christoph Hellwig 2015-05-01 422 } 2650d71e244fb3 Christoph Hellwig 2015-05-01 423 2650d71e244fb3 Christoph Hellwig 2015-05-01 @424 *port_nexus_ptr = NULL; -- 0-DAY CI Kernel Test Service https://01.org/lkp
next reply other threads:[~2022-08-05 20:01 UTC|newest] Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-08-05 20:01 kernel test robot [this message] 2022-08-08 10:31 ` [RFC PATCH 27/48] target: core: fix parsing PR OUT TID Dan Carpenter -- strict thread matches above, loose matches on Subject: below -- 2022-08-03 16:04 [RFC PATCH 00/48] Target cluster implementation over DLM Dmitry Bogdanov 2019-12-21 0:53 ` [RFC PATCH 07/48] scsi: target/core: Add common port attributes Dmitry Bogdanov 2019-12-21 23:45 ` [RFC PATCH 05/48] scsi: target/core: Use RTPI from target port Dmitry Bogdanov 2019-12-21 23:49 ` [RFC PATCH 06/48] scsi: target/core: Drop device-based RTPI Dmitry Bogdanov 2020-04-04 10:48 ` [RFC PATCH 01/48] scsi: target/core: Add a way to hide a port group Dmitry Bogdanov 2020-04-20 0:18 ` [RFC PATCH 02/48] scsi: target/core: Set MULTIP bit for se_device with multiple ports Dmitry Bogdanov 2020-04-20 17:20 ` [RFC PATCH 03/48] scsi: target/core: Add cleanup sequence in core_tpg_register() Dmitry Bogdanov 2020-04-20 17:57 ` [RFC PATCH 04/48] scsi: target/core: Add RTPI field to target port Dmitry Bogdanov 2020-04-21 14:00 ` [RFC PATCH 08/48] scsi: target/core: Add RTPI attribute for " Dmitry Bogdanov 2020-04-30 14:16 ` [RFC PATCH 10/48] scsi: target/core: Unlock PR generation bump Dmitry Bogdanov 2021-02-25 12:18 ` [RFC PATCH 09/48] target: core: check RTPI uniquity for enabled TPG Dmitry Bogdanov 2021-11-17 11:12 ` [RFC PATCH 36/48] target: cluster: introduce cluster ops Dmitry Bogdanov 2021-11-18 7:52 ` [RFC PATCH 31/48] dlm_ckv: introduce DLM cluster key-value storage Dmitry Bogdanov 2021-11-22 17:07 ` [RFC PATCH 32/48] dlm_ckv: add notification service Dmitry Bogdanov 2021-11-22 17:12 ` [RFC PATCH 33/48] dlm_ckv: add key-value storage service Dmitry Bogdanov 2021-11-29 9:00 ` [RFC PATCH 38/48] target: cluster: store PR data in DLM cluster Dmitry Bogdanov 2021-12-01 15:42 ` [RFC PATCH 15/48] target: core: remove unused variable in se_dev_entry Dmitry Bogdanov 2021-12-06 10:56 ` [RFC PATCH 14/48] target: core: new key must be used for moved PR Dmitry Bogdanov 2021-12-06 13:39 ` [RFC PATCH 39/48] target: cluster: read PR data from cluster Dmitry Bogdanov 2021-12-07 9:47 ` [RFC PATCH 35/48] target: add virtual remote target Dmitry Bogdanov 2021-12-10 12:43 ` [RFC PATCH 17/48] target: core: make some functions public Dmitry Bogdanov 2021-12-13 18:58 ` [RFC PATCH 18/48] target: core: proper clear reservation on LUN RESET Dmitry Bogdanov 2021-12-13 19:15 ` [RFC PATCH 19/48] target: core: remove superfluous checks Dmitry Bogdanov 2021-12-13 19:20 ` [RFC PATCH 20/48] target: core: proper check of SCSI-2 reservation Dmitry Bogdanov 2021-12-13 19:28 ` [RFC PATCH 21/48] target: core: checks against peer node SCSI2 reservation Dmitry Bogdanov 2021-12-16 10:20 ` [RFC PATCH 42/48] target: cluster: sync SPC-2 reservations Dmitry Bogdanov 2021-12-17 9:27 ` [RFC PATCH 41/48] target: cluster: sync-up PR data on cluster join Dmitry Bogdanov 2021-12-22 12:38 ` [RFC PATCH 34/48] dlm_ckv: add KV get/set async API Dmitry Bogdanov 2021-12-24 9:45 ` [RFC PATCH 16/48] target: core: undepend PR registrant of nacl Dmitry Bogdanov 2021-12-24 9:52 ` [RFC PATCH 40/48] target: cluster: sync PR for dynamic acls Dmitry Bogdanov 2022-02-28 10:37 ` [RFC PATCH 43/48] target: cluster: allocate UAs on PR sync Dmitry Bogdanov 2022-03-02 7:13 ` [RFC PATCH 12/48] target: core: fix memory leak in preempt_and_abort Dmitry Bogdanov 2022-03-04 10:38 ` [RFC PATCH 11/48] target: core: fix preempt and abort for allreg res Dmitry Bogdanov 2022-03-04 10:44 ` [RFC PATCH 13/48] target: core: abort all preempted regs if requested Dmitry Bogdanov 2022-03-04 12:35 ` [RFC PATCH 44/48] target: cluster: support PR OUT preempt and abort Dmitry Bogdanov 2022-03-11 8:11 ` [RFC PATCH 22/48] target: core: UA on all luns after reset Dmitry Bogdanov 2022-03-11 8:33 ` [RFC PATCH 23/48] target: core: refactor LUN_RESET code Dmitry Bogdanov 2022-03-11 8:40 ` [RFC PATCH 45/48] target: cluster: add reset cluster function Dmitry Bogdanov 2022-03-11 9:30 ` [RFC PATCH 46/48] target: cluster: implement LUN reset in DLM cluster Dmitry Bogdanov 2022-03-25 6:35 ` [RFC PATCH 47/48] target: cluster: split cluster sync function Dmitry Bogdanov 2022-03-25 7:58 ` [RFC PATCH 48/48] target: cluster: request data on initial sync Dmitry Bogdanov 2022-06-21 13:05 ` [RFC PATCH 24/48] target: core: pr: use RTPI in APTPL Dmitry Bogdanov 2022-06-22 10:25 ` [RFC PATCH 26/48] target: core: pr: remove se_tpg from pr_reg Dmitry Bogdanov 2022-06-29 7:50 ` [RFC PATCH 27/48] target: core: fix parsing PR OUT TID Dmitry Bogdanov 2022-06-29 10:06 ` [RFC PATCH 28/48] target: core: add function to compare TransportID Dmitry Bogdanov 2022-06-30 11:11 ` [RFC PATCH 29/48] target: core: store proto_id in APTPL Dmitry Bogdanov 2022-07-01 7:26 ` [RFC PATCH 30/48] target: core: rethink APTPL registrations Dmitry Bogdanov 2022-07-22 14:59 ` [RFC PATCH 37/48] target: cluster: introduce dlm cluster Dmitry Bogdanov 2022-07-27 16:21 ` [RFC PATCH 25/48] target: core: pr: have Transport ID stored Dmitry Bogdanov 2022-08-03 17:36 ` [RFC PATCH 00/48] Target cluster implementation over DLM Mike Christie 2022-08-04 11:01 ` Dmitry Bogdanov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=202208060306.OumJ9c0l-lkp@intel.com \ --to=lkp@intel.com \ --cc=kbuild@lists.01.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.