All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] block: bugfix for Amiga partition overflow check patch
@ 2023-07-03 23:07 Michael Schmitz
  2023-07-04  5:08 ` John Paul Adrian Glaubitz
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Schmitz @ 2023-07-03 23:07 UTC (permalink / raw)
  To: linux-block, axboe
  Cc: linux-m68k, chzigotzky, geert, hch, martin, Michael Schmitz, stable

Making 'blk' sector_t (i.e. 64 bit if LBD support is active)
fails the 'blk>0' test in the partition block loop if a
value of (signed int) -1 is used to mark the end of the
partition block list.

This bug was introduced in patch 3 of my prior Amiga partition
support fixes series, and spotted by Christian Zigotzky when
testing the latest block updates.

Explicitly cast 'blk' to signed int to allow use of -1 to
terminate the partition block linked list.

Testing by Christian also exposed another aspect of the old
bug fixed in commits fc3d092c6b ("block: fix signed int
overflow in Amiga partition support") and b6f3f28f60
("block: add overflow checks for Amiga partition support"):

Partitons that did overflow the disk size (due to 32 bit int
overflow) were not skipped but truncated to the end of the
disk. Users who missed the warning message during boot would
go on to create a filesystem with a size exceeding the
actual partition size. Now that the 32 bit overflow has been
corrected, such filesystems may refuse to mount with a
'filesystem exceeds partition size' error. Users should
either correct the partition size, or resize the filesystem
before attempting to boot a kernel with the RDB fixes in
place.

Reported-by: Christian Zigotzky <chzigotzky@xenosoft.de>
Fixes: b6f3f28f60 ("block: add overflow checks for Amiga partition support")
Message-ID: 024ce4fa-cc6d-50a2-9aae-3701d0ebf668@xenosoft.de
Cc: <stable@vger.kernel.org> # 6.4
Link: https://lore.kernel.org/r/024ce4fa-cc6d-50a2-9aae-3701d0ebf668@xenosoft.de
Signed-off-by: Michael Schmitz <schmitzmic@gmail.com>
Tested-by: Christian Zigotzky <chzigotzky@xenosoft.de>

--

Changes since v1:

- corrected Fixes: tag
- added Tested-by:
- reworded commit message to describe filesystem partition
  size mismatch problem
---
 block/partitions/amiga.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/partitions/amiga.c b/block/partitions/amiga.c
index ed222b9c901b..506921095412 100644
--- a/block/partitions/amiga.c
+++ b/block/partitions/amiga.c
@@ -90,7 +90,7 @@ int amiga_partition(struct parsed_partitions *state)
 	}
 	blk = be32_to_cpu(rdb->rdb_PartitionList);
 	put_dev_sector(sect);
-	for (part = 1; blk>0 && part<=16; part++, put_dev_sector(sect)) {
+	for (part = 1; (s32) blk>0 && part<=16; part++, put_dev_sector(sect)) {
 		/* Read in terms partition table understands */
 		if (check_mul_overflow(blk, (sector_t) blksize, &blk)) {
 			pr_err("Dev %s: overflow calculating partition block %llu! Skipping partitions %u and beyond\n",
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] block: bugfix for Amiga partition overflow check patch
  2023-07-03 23:07 [PATCH v2] block: bugfix for Amiga partition overflow check patch Michael Schmitz
@ 2023-07-04  5:08 ` John Paul Adrian Glaubitz
  2023-07-04  5:46   ` Michael Schmitz
  0 siblings, 1 reply; 3+ messages in thread
From: John Paul Adrian Glaubitz @ 2023-07-04  5:08 UTC (permalink / raw)
  To: Michael Schmitz, linux-block, axboe
  Cc: linux-m68k, chzigotzky, geert, hch, martin, stable

On Tue, 2023-07-04 at 11:07 +1200, Michael Schmitz wrote:
> Partitons that did overflow the disk size (due to 32 bit int
  ^^^^^^^^^ typo

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] block: bugfix for Amiga partition overflow check patch
  2023-07-04  5:08 ` John Paul Adrian Glaubitz
@ 2023-07-04  5:46   ` Michael Schmitz
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Schmitz @ 2023-07-04  5:46 UTC (permalink / raw)
  To: John Paul Adrian Glaubitz, linux-block, axboe
  Cc: linux-m68k, chzigotzky, geert, hch, martin, stable

Hi Adrian,

Am 04.07.2023 um 17:08 schrieb John Paul Adrian Glaubitz:
> On Tue, 2023-07-04 at 11:07 +1200, Michael Schmitz wrote:
>> Partitons that did overflow the disk size (due to 32 bit int
>   ^^^^^^^^^ typo

Thanks, that or a dodgy keyboard, meh...

Will send v3 ...

Cheers,

	Michael

>
> Adrian
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-07-04  5:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-03 23:07 [PATCH v2] block: bugfix for Amiga partition overflow check patch Michael Schmitz
2023-07-04  5:08 ` John Paul Adrian Glaubitz
2023-07-04  5:46   ` Michael Schmitz

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.