From: kernel test robot <lkp@intel.com>
To: "Kai Mäkisara" <Kai.Makisara@kolumbus.fi>,
linux-scsi@vger.kernel.org, dgilbert@interlog.com
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
martin.petersen@oracle.com,
James.Bottomley@hansenpartnership.com, jmeneghi@redhat.com,
"Kai Mäkisara" <Kai.Makisara@kolumbus.fi>
Subject: Re: [PATCH v1 4/7] scsi: scsi_debug: Add read support and update locate for tapes
Date: Tue, 11 Feb 2025 23:50:28 +0800 [thread overview]
Message-ID: <202502112330.2jlgUZM7-lkp@intel.com> (raw)
In-Reply-To: <20250210191232.185207-5-Kai.Makisara@kolumbus.fi>
Hi Kai,
kernel test robot noticed the following build warnings:
[auto build test WARNING on jejb-scsi/for-next]
[also build test WARNING on mkp-scsi/for-next linus/master v6.14-rc2 next-20250210]
[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/Kai-M-kisara/scsi-scsi_debug-First-fixes-for-tapes/20250211-031623
base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next
patch link: https://lore.kernel.org/r/20250210191232.185207-5-Kai.Makisara%40kolumbus.fi
patch subject: [PATCH v1 4/7] scsi: scsi_debug: Add read support and update locate for tapes
config: x86_64-kexec (https://download.01.org/0day-ci/archive/20250211/202502112330.2jlgUZM7-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250211/202502112330.2jlgUZM7-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502112330.2jlgUZM7-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/scsi/scsi_debug.c:31:
In file included from include/linux/scatterlist.h:8:
In file included from include/linux/mm.h:2224:
include/linux/vmstat.h:504:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
504 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
505 | item];
| ~~~~
include/linux/vmstat.h:511:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
511 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
512 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
include/linux/vmstat.h:524:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion]
524 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~ ^
525 | NR_VM_NUMA_EVENT_ITEMS +
| ~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/scsi_debug.c:2989:3: warning: variable 'len' is uninitialized when used here [-Wuninitialized]
2989 | len += resp_partition_m_pg(ap, pcontrol, target);
| ^~~
drivers/scsi/scsi_debug.c:2854:28: note: initialize the variable 'len' to silence this warning
2854 | u32 alloc_len, offset, len;
| ^
| = 0
>> drivers/scsi/scsi_debug.c:3419:8: warning: variable 'i' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
3419 | if (pos == 0)
| ^~~~~~~~
drivers/scsi/scsi_debug.c:3478:44: note: uninitialized use occurs here
3478 | BEGINNING_OF_P_M_DETECTED_ASCQ, count - i,
| ^
drivers/scsi/scsi_debug.c:3419:4: note: remove the 'if' if its condition is always false
3419 | if (pos == 0)
| ^~~~~~~~~~~~~
3420 | goto is_bop;
| ~~~~~~~~~~~~
3421 | else {
| ~~~~
drivers/scsi/scsi_debug.c:3378:7: note: initialize the variable 'i' to silence this warning
3378 | int i, pos, count;
| ^
| = 0
drivers/scsi/scsi_debug.c:3513:10: warning: variable 'i' is uninitialized when used here [-Wuninitialized]
3513 | for ( ; i < TAPE_MAX_PARTITIONS; i++)
| ^
drivers/scsi/scsi_debug.c:3502:7: note: initialize the variable 'i' to silence this warning
3502 | int i;
| ^
| = 0
6 warnings generated.
vim +3419 drivers/scsi/scsi_debug.c
3373
3374 static int resp_space(struct scsi_cmnd *scp,
3375 struct sdebug_dev_info *devip)
3376 {
3377 unsigned char *cmd = scp->cmnd, code;
3378 int i, pos, count;
3379 struct tape_block *blp;
3380 int partition = devip->tape_partition;
3381
3382 count = get_unaligned_be24(cmd + 2);
3383 if ((count & 0x800000) != 0) /* extend negative to 32-bit count */
3384 count |= 0xff000000;
3385 code = cmd[1] & 0x0f;
3386
3387 pos = devip->tape_location[partition];
3388 if (code == 0) { /* blocks */
3389 if (count < 0) {
3390 count = (-count);
3391 pos -= 1;
3392 for (i = 0, blp = devip->tape_blocks[partition] + pos; i < count;
3393 i++) {
3394 if (pos < 0)
3395 goto is_bop;
3396 else if (IS_TAPE_BLOCK_FM(blp->fl_size))
3397 goto is_fm;
3398 if (i > 0) {
3399 pos--;
3400 blp--;
3401 }
3402 }
3403 } else if (count > 0) {
3404 for (i = 0, blp = devip->tape_blocks[partition] + pos; i < count;
3405 i++, pos++, blp++) {
3406 if (IS_TAPE_BLOCK_EOD(blp->fl_size))
3407 goto is_eod;
3408 if (IS_TAPE_BLOCK_FM(blp->fl_size)) {
3409 pos += 1;
3410 goto is_fm;
3411 }
3412 if (pos >= devip->tape_eop[partition])
3413 goto is_eop;
3414 }
3415 }
3416 } else if (code == 1) { /* filemarks */
3417 if (count < 0) {
3418 count = (-count);
> 3419 if (pos == 0)
3420 goto is_bop;
3421 else {
3422 for (i = 0, blp = devip->tape_blocks[partition] + pos;
3423 i < count && pos >= 0; i++, pos--, blp--) {
3424 for (pos--, blp-- ; !IS_TAPE_BLOCK_FM(blp->fl_size) &&
3425 pos >= 0; pos--, blp--)
3426 ; /* empty */
3427 if (pos < 0)
3428 goto is_bop;
3429 }
3430 }
3431 pos += 1;
3432 } else if (count > 0) {
3433 for (i = 0, blp = devip->tape_blocks[partition] + pos;
3434 i < count; i++, pos++, blp++) {
3435 for ( ; !IS_TAPE_BLOCK_FM(blp->fl_size) &&
3436 !IS_TAPE_BLOCK_EOD(blp->fl_size) &&
3437 pos < devip->tape_eop[partition];
3438 pos++, blp++)
3439 ; /* empty */
3440 if (IS_TAPE_BLOCK_EOD(blp->fl_size))
3441 goto is_eod;
3442 if (pos >= devip->tape_eop[partition])
3443 goto is_eop;
3444 }
3445 }
3446 } else if (code == 3) { /* EOD */
3447 for (blp = devip->tape_blocks[partition] + pos;
3448 !IS_TAPE_BLOCK_EOD(blp->fl_size) && pos < devip->tape_eop[partition];
3449 pos++, blp++)
3450 ; /* empty */
3451 if (pos >= devip->tape_eop[partition])
3452 goto is_eop;
3453 } else {
3454 /* sequential filemarks not supported */
3455 mk_sense_invalid_fld(scp, SDEB_IN_CDB, 8, -1);
3456 return check_condition_result;
3457 }
3458 devip->tape_location[partition] = pos;
3459 return 0;
3460
3461 is_fm:
3462 devip->tape_location[partition] = pos;
3463 mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
3464 FILEMARK_DETECTED_ASCQ, count - i,
3465 SENSE_FLAG_FILEMARK);
3466 return check_condition_result;
3467
3468 is_eod:
3469 devip->tape_location[partition] = pos;
3470 mk_sense_info_tape(scp, BLANK_CHECK, NO_ADDITIONAL_SENSE,
3471 EOD_DETECTED_ASCQ, count - i,
3472 0);
3473 return check_condition_result;
3474
3475 is_bop:
3476 devip->tape_location[partition] = 0;
3477 mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
3478 BEGINNING_OF_P_M_DETECTED_ASCQ, count - i,
3479 SENSE_FLAG_EOM);
3480 devip->tape_location[partition] = 0;
3481 return check_condition_result;
3482
3483 is_eop:
3484 devip->tape_location[partition] = devip->tape_eop[partition] - 1;
3485 mk_sense_info_tape(scp, MEDIUM_ERROR, NO_ADDITIONAL_SENSE,
3486 EOP_EOM_DETECTED_ASCQ, (unsigned int)i,
3487 SENSE_FLAG_EOM);
3488 return check_condition_result;
3489 }
3490
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-02-11 15:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-10 19:12 [PATCH v1 0/7] scsi: scsi_debug: Add more tape support Kai Mäkisara
2025-02-10 19:12 ` [PATCH v1 1/7] scsi: scsi_debug: First fixes for tapes Kai Mäkisara
2025-02-10 19:12 ` [PATCH v1 2/7] scsi: scsi_debug: Add READ BLOCK LIMITS and modify LOAD " Kai Mäkisara
2025-02-11 10:41 ` kernel test robot
2025-02-11 14:11 ` [PATCH v1b " Kai Mäkisara
2025-02-13 3:11 ` Martin K. Petersen
2025-02-10 19:12 ` [PATCH v1 3/7] scsi: scsi_debug: Add write support with block lengths and 4 bytes of data Kai Mäkisara
2025-02-11 13:08 ` kernel test robot
2025-02-11 14:11 ` [PATCH v1b " Kai Mäkisara
2025-02-10 19:12 ` [PATCH v1 4/7] scsi: scsi_debug: Add read support and update locate for tapes Kai Mäkisara
2025-02-11 15:50 ` kernel test robot [this message]
2025-02-11 21:26 ` [PATCH v1b " Kai Mäkisara
2025-02-10 19:12 ` [PATCH v1 5/7] scsi: scsi_debug: Add compression mode page " Kai Mäkisara
2025-02-10 19:12 ` [PATCH v1 6/7] scsi: scsi_debug: Reset tape setting at device reset Kai Mäkisara
2025-02-10 19:12 ` [PATCH v1 7/7] scsi: scsi_debug: Add support for partitioning the tape Kai Mäkisara
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=202502112330.2jlgUZM7-lkp@intel.com \
--to=lkp@intel.com \
--cc=James.Bottomley@hansenpartnership.com \
--cc=Kai.Makisara@kolumbus.fi \
--cc=dgilbert@interlog.com \
--cc=jmeneghi@redhat.com \
--cc=linux-scsi@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=martin.petersen@oracle.com \
--cc=oe-kbuild-all@lists.linux.dev \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox