* [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds
@ 2026-06-04 23:43 Samuel Moelius
2026-06-05 5:59 ` "Kai Mäkisara (Kolumbus)"
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Samuel Moelius @ 2026-06-04 23:43 UTC (permalink / raw)
To: James E.J. Bottomley
Cc: Samuel Moelius, Martin K. Petersen, open list:SCSI SUBSYSTEM, open list
The tape setup path uses one tape_block entry as the end-of-data marker
after the usable tape blocks. For the one-partition layout, partition 0
uses all TAPE_UNITS data slots and partition 1's marker is written at
tape_blocks[0] + TAPE_UNITS.
Only TAPE_UNITS entries are allocated, so that marker write is one
element past the allocation during device initialization before any
command is issued.
Allocate one extra tape_block entry for the marker. This keeps the
existing partitioning paths unchanged while providing backing storage for
the sentinel.
Assisted-by: Codex:gpt-5.5-cyber-preview
Signed-off-by: Samuel Moelius <sam.moelius@trailofbits.com>
---
Changes in v3
- Use TAPE_UNITS + 1 approach
Changes in v2
- Fixed handling of part_1_size == 0 case
drivers/scsi/scsi_debug.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 1515495fd9ea..38fedfa3cefe 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -6648,7 +6648,7 @@ static int scsi_debug_sdev_configure(struct scsi_device *sdp,
if (sdebug_ptype == TYPE_TAPE) {
if (!devip->tape_blocks[0]) {
devip->tape_blocks[0] =
- kzalloc_objs(struct tape_block, TAPE_UNITS);
+ kzalloc_objs(struct tape_block, TAPE_UNITS + 1);
if (!devip->tape_blocks[0])
return 1;
}
--
2.43.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds
2026-06-04 23:43 [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds Samuel Moelius
@ 2026-06-05 5:59 ` "Kai Mäkisara (Kolumbus)"
2026-06-08 20:38 ` Martin K. Petersen
2026-06-16 2:26 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: "Kai Mäkisara (Kolumbus)" @ 2026-06-05 5:59 UTC (permalink / raw)
To: Samuel Moelius
Cc: James E.J. Bottomley, Martin K. Petersen,
open list:SCSI SUBSYSTEM, open list
> On 5. Jun 2026, at 2.43, Samuel Moelius <sam.moelius@trailofbits.com> wrote:
>
> The tape setup path uses one tape_block entry as the end-of-data marker
> after the usable tape blocks. For the one-partition layout, partition 0
> uses all TAPE_UNITS data slots and partition 1's marker is written at
> tape_blocks[0] + TAPE_UNITS.
>
> Only TAPE_UNITS entries are allocated, so that marker write is one
> element past the allocation during device initialization before any
> command is issued.
>
> Allocate one extra tape_block entry for the marker. This keeps the
> existing partitioning paths unchanged while providing backing storage for
> the sentinel.
>
> Assisted-by: Codex:gpt-5.5-cyber-preview
> Signed-off-by: Samuel Moelius <sam.moelius@trailofbits.com>
> ---
> Changes in v3
> - Use TAPE_UNITS + 1 approach
Reviewed-by: Kai Mäkisara <Kai.Makisara@kolumbus.fi <mailto:Kai.Makisara@kolumbus.fi>>
Thanks, Kai
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds
2026-06-04 23:43 [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds Samuel Moelius
2026-06-05 5:59 ` "Kai Mäkisara (Kolumbus)"
@ 2026-06-08 20:38 ` Martin K. Petersen
2026-06-16 2:26 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2026-06-08 20:38 UTC (permalink / raw)
To: Samuel Moelius
Cc: James E.J. Bottomley, Martin K. Petersen,
open list:SCSI SUBSYSTEM, open list
Samuel,
> The tape setup path uses one tape_block entry as the end-of-data
> marker after the usable tape blocks. For the one-partition layout,
> partition 0 uses all TAPE_UNITS data slots and partition 1's marker is
> written at tape_blocks[0] + TAPE_UNITS.
Applied to 7.2/scsi-staging, thanks!
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds
2026-06-04 23:43 [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds Samuel Moelius
2026-06-05 5:59 ` "Kai Mäkisara (Kolumbus)"
2026-06-08 20:38 ` Martin K. Petersen
@ 2026-06-16 2:26 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2026-06-16 2:26 UTC (permalink / raw)
To: James E.J. Bottomley, Samuel Moelius
Cc: Martin K . Petersen, linux-scsi, linux-kernel
On Thu, 04 Jun 2026 23:43:56 +0000, Samuel Moelius wrote:
> The tape setup path uses one tape_block entry as the end-of-data marker
> after the usable tape blocks. For the one-partition layout, partition 0
> uses all TAPE_UNITS data slots and partition 1's marker is written at
> tape_blocks[0] + TAPE_UNITS.
>
> Only TAPE_UNITS entries are allocated, so that marker write is one
> element past the allocation during device initialization before any
> command is issued.
>
> [...]
Applied to 7.2/scsi-queue, thanks!
[1/1] scsi: scsi_debug: fix one-partition tape setup bounds
https://git.kernel.org/mkp/scsi/c/3c08f6034d74
--
Martin K. Petersen
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-16 2:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-04 23:43 [PATCH v3] scsi: scsi_debug: fix one-partition tape setup bounds Samuel Moelius
2026-06-05 5:59 ` "Kai Mäkisara (Kolumbus)"
2026-06-08 20:38 ` Martin K. Petersen
2026-06-16 2:26 ` Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®