tree: https://github.com/0day-ci/linux/commits/UPDATE-20191027-161609/Michal-Suchanek/Fix-cdrom-autoclose/20191025-101637 head: 8ebc37a465cccfa1f297f976e1bd8b36ede36db3 commit: 6bb0f3478cfa38409ec750b5c99dda95acf6fdc8 [7/8] scsi: blacklist: add VMware ESXi cdrom - broken tray emulation.
If you fix the issue, kindly add following tag Reported-by: kbuild test robot <l...@intel.com> Reported-by: Dan Carpenter <dan.carpen...@oracle.com> smatch warnings: drivers/scsi/scsi_devinfo.c:458 scsi_dev_info_list_find() warn: add some parenthesis here? drivers/scsi/scsi_devinfo.c:458 scsi_dev_info_list_find() warn: maybe use && instead of & # https://github.com/0day-ci/linux/commit/6bb0f3478cfa38409ec750b5c99dda95acf6fdc8 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout 6bb0f3478cfa38409ec750b5c99dda95acf6fdc8 vim +458 drivers/scsi/scsi_devinfo.c c42b3654f48bc0 Alan Stern 2015-08-03 411 static struct scsi_dev_info_list *scsi_dev_info_list_find(const char *vendor, 4b1d8e78615d1a Bart Van Assche 2017-12-04 412 const char *model, enum scsi_devinfo_key key) 38a039be2e7bda Peter Jones 2011-01-06 413 { c42b3654f48bc0 Alan Stern 2015-08-03 414 struct scsi_dev_info_list *devinfo; 38a039be2e7bda Peter Jones 2011-01-06 415 struct scsi_dev_info_list_table *devinfo_table = 38a039be2e7bda Peter Jones 2011-01-06 416 scsi_devinfo_lookup_by_key(key); b8018b973c7cef Hannes Reinecke 2017-10-02 417 size_t vmax, mmax, mlen; b704f70ce2003c Alan Stern 2015-08-03 418 const char *vskip, *mskip; 38a039be2e7bda Peter Jones 2011-01-06 419 38a039be2e7bda Peter Jones 2011-01-06 420 if (IS_ERR(devinfo_table)) c42b3654f48bc0 Alan Stern 2015-08-03 421 return (struct scsi_dev_info_list *) devinfo_table; 38a039be2e7bda Peter Jones 2011-01-06 422 b704f70ce2003c Alan Stern 2015-08-03 423 /* Prepare for "compatible" matches */ b704f70ce2003c Alan Stern 2015-08-03 424 38a039be2e7bda Peter Jones 2011-01-06 425 /* 38a039be2e7bda Peter Jones 2011-01-06 426 * XXX why skip leading spaces? If an odd INQUIRY 38a039be2e7bda Peter Jones 2011-01-06 427 * value, that should have been part of the 38a039be2e7bda Peter Jones 2011-01-06 428 * scsi_static_device_list[] entry, such as " FOO" 38a039be2e7bda Peter Jones 2011-01-06 429 * rather than "FOO". Since this code is already 38a039be2e7bda Peter Jones 2011-01-06 430 * here, and we don't know what device it is 38a039be2e7bda Peter Jones 2011-01-06 431 * trying to work with, leave it as-is. 38a039be2e7bda Peter Jones 2011-01-06 432 */ 5e7ff2ca7f2da5 Alan Stern 2016-06-23 433 vmax = sizeof(devinfo->vendor); b704f70ce2003c Alan Stern 2015-08-03 434 vskip = vendor; b704f70ce2003c Alan Stern 2015-08-03 435 while (vmax > 0 && *vskip == ' ') { b704f70ce2003c Alan Stern 2015-08-03 436 vmax--; b704f70ce2003c Alan Stern 2015-08-03 437 vskip++; b704f70ce2003c Alan Stern 2015-08-03 438 } b704f70ce2003c Alan Stern 2015-08-03 439 /* Also skip trailing spaces */ b704f70ce2003c Alan Stern 2015-08-03 440 while (vmax > 0 && vskip[vmax - 1] == ' ') b704f70ce2003c Alan Stern 2015-08-03 441 --vmax; b704f70ce2003c Alan Stern 2015-08-03 442 5e7ff2ca7f2da5 Alan Stern 2016-06-23 443 mmax = sizeof(devinfo->model); b704f70ce2003c Alan Stern 2015-08-03 444 mskip = model; b704f70ce2003c Alan Stern 2015-08-03 445 while (mmax > 0 && *mskip == ' ') { b704f70ce2003c Alan Stern 2015-08-03 446 mmax--; b704f70ce2003c Alan Stern 2015-08-03 447 mskip++; 38a039be2e7bda Peter Jones 2011-01-06 448 } b704f70ce2003c Alan Stern 2015-08-03 449 while (mmax > 0 && mskip[mmax - 1] == ' ') b704f70ce2003c Alan Stern 2015-08-03 450 --mmax; b704f70ce2003c Alan Stern 2015-08-03 451 b704f70ce2003c Alan Stern 2015-08-03 452 list_for_each_entry(devinfo, &devinfo_table->scsi_dev_info_list, b704f70ce2003c Alan Stern 2015-08-03 453 dev_info_list) { b704f70ce2003c Alan Stern 2015-08-03 454 if (devinfo->compatible) { 38a039be2e7bda Peter Jones 2011-01-06 455 /* b8018b973c7cef Hannes Reinecke 2017-10-02 456 * vendor strings must be an exact match 38a039be2e7bda Peter Jones 2011-01-06 457 */ 6bb0f3478cfa38 Michal Suchanek 2019-10-24 @458 if (!devinfo->flags & BLIST_MATCH_VENDOR) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is a precedence bug because ! is higher precedence than &. It should be: if (!(devinfo->flags & BLIST_MATCH_VENDOR)) ba69ead9e9e9bb Martin Wilck 2017-11-27 459 if (vmax != strnlen(devinfo->vendor, ba69ead9e9e9bb Martin Wilck 2017-11-27 460 sizeof(devinfo->vendor)) || b8018b973c7cef Hannes Reinecke 2017-10-02 461 memcmp(devinfo->vendor, vskip, vmax)) 38a039be2e7bda Peter Jones 2011-01-06 462 continue; b8018b973c7cef Hannes Reinecke 2017-10-02 463 b8018b973c7cef Hannes Reinecke 2017-10-02 464 /* --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org