public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
* [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter")
       [not found] <3a333f27-6810-4313-8910-485df652e897@rclobus.nl>
@ 2025-05-20  5:57 ` Salvatore Bonaccorso
  2025-05-20  6:10   ` Salvatore Bonaccorso
                     ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Salvatore Bonaccorso @ 2025-05-20  5:57 UTC (permalink / raw)
  To: Roland Clobus, Lizhi Xu, Christoph Hellwig, Jens Axboe
  Cc: 1106070, linux-block, linux-kernel, stable, regressions

Hi

In Debian Roland Clobus reported a regression with setting up loop
devices from a backing squashfs file lying on read-only mounted target
directory from a iso.

The original report is at:
https://bugs.debian.org/1106070

Quoting the report:

On Mon, May 19, 2025 at 12:15:10PM +0200, Roland Clobus wrote:
> Package: linux-image-6.12.29-amd64
> Version: 6.12.29-1
> Severity: important
> X-Debbugs-Cc: debian-amd64@lists.debian.org
> User: debian-amd64@lists.debian.org
> Usertags: amd64
> X-Debbugs-Cc: phil@hands.com
> User: debian-qa@lists.debian.org
> Usertags: openqa
> X-Debbugs-Cc: debian-boot
> 
> Hello maintainers of the kernel,
> 
> The new kernel (6.12.29) has a modified behaviour (compared to 6.12.27) for
> the loop device.
> 
> This causes the Debian live images (for sid) to fail to boot.
> 
> The change happened between 20250518T201633Z and 20250519T021902Z, which
> matches the upload of 6.12.29 (https://tracker.debian.org/news/1646619/accepted-linux-signed-amd64-612291-source-into-unstable/)
> at 20250518T230426Z.
> 
> To reproduce:
> * Download the daily live image from https://openqa.debian.net/tests/396941/asset/iso/smallest-build_sid_20250519T021902Z.iso
> * Boot into the live image (the first boot option)
> * Result: an initramfs shell (instead of a live system) -> FAIL
> * Try: `losetup -r /dev/loop1 /run/live/medium/live/filesystem.squashfs`
> * Result: `failed to set up loop device: invalid argument` -> FAIL
> * Try: `cp /run/live/medium/live/filesystem.squashfs /`
> * Try: `losetup -r /dev/loop2 /filesystem.squashfs`
> * Result: `loop2: detected capacity change from 0 to 1460312` -> PASS
> 
> It appears that the loopback device cannot be used any more with the mount
> /run/live/medium (which is on /dev/sr0).
> 
> I've verified: the md5sum of the squashfs file is OK.
> 
> The newer kernel is not in trixie yet.
> 
> With kind regards,
> Roland Clobus

A short reproducer is as follows:

iso="netinst.iso"
url="https://openqa.debian.net/tests/396941/asset/iso/smallest-build_sid_20250519T021902Z.iso"
if [ ! -e "${iso}" ]; then
        wget "${url}" -O "${iso}"
fi
mountdir="$(mktemp -d)"
mount -v "./${iso}" "${mountdir}"
losetup -v -r -f "${mountdir}/live/filesystem.squashfs"
loosetup -l

resulting in:

mount: /tmp/tmp.HgbNe7ek3h: WARNING: source write-protected, mounted read-only.
mount: /dev/loop0 mounted on /tmp/tmp.HgbNe7ek3h.
losetup: /tmp/tmp.HgbNe7ek3h/live/filesystem.squashfs: failed to set up loop device: Invalid argument
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE         DIO LOG-SEC
/dev/loop0         0      0         1  0 /root/netinst.iso   0     512

Reverting 184b147b9f7f ("loop: Add sanity check for read/write_iter")
on top of 6.12.29 fixes the issue:

mount: /tmp/tmp.ACkkdCdYvB: WARNING: source write-protected, mounted read-only.
mount: /dev/loop0 mounted on /tmp/tmp.ACkkdCdYvB.
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                    DIO LOG-SEC
/dev/loop1         0      0         0  1 /tmp/tmp.ACkkdCdYvB/live/filesystem.squashfs   0     512
/dev/loop0         0      0         1  0 /root/netinst.iso                              0     512

For completeness, netinst.iso is a iso9660 fstype with mount options
"ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8".

#regzbot introduced: 184b147b9f7f
#regzbot link: https://bugs.debian.org/1106070

Regards,
Salvatore

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

* Re: [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter")
  2025-05-20  5:57 ` [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter") Salvatore Bonaccorso
@ 2025-05-20  6:10   ` Salvatore Bonaccorso
  2025-05-20  6:34   ` Christian Hesse
  2025-05-20 15:23   ` Jens Axboe
  2 siblings, 0 replies; 5+ messages in thread
From: Salvatore Bonaccorso @ 2025-05-20  6:10 UTC (permalink / raw)
  To: Roland Clobus, Lizhi Xu, Christoph Hellwig, Jens Axboe
  Cc: 1106070, linux-block, linux-kernel, stable, regressions

On Tue, May 20, 2025 at 07:57:31AM +0200, Salvatore Bonaccorso wrote:
> Hi
> 
> In Debian Roland Clobus reported a regression with setting up loop
> devices from a backing squashfs file lying on read-only mounted target
> directory from a iso.
> 
> The original report is at:
> https://bugs.debian.org/1106070
> 
> Quoting the report:
> 
> On Mon, May 19, 2025 at 12:15:10PM +0200, Roland Clobus wrote:
> > Package: linux-image-6.12.29-amd64
> > Version: 6.12.29-1
> > Severity: important
> > X-Debbugs-Cc: debian-amd64@lists.debian.org
> > User: debian-amd64@lists.debian.org
> > Usertags: amd64
> > X-Debbugs-Cc: phil@hands.com
> > User: debian-qa@lists.debian.org
> > Usertags: openqa
> > X-Debbugs-Cc: debian-boot
> > 
> > Hello maintainers of the kernel,
> > 
> > The new kernel (6.12.29) has a modified behaviour (compared to 6.12.27) for
> > the loop device.
> > 
> > This causes the Debian live images (for sid) to fail to boot.
> > 
> > The change happened between 20250518T201633Z and 20250519T021902Z, which
> > matches the upload of 6.12.29 (https://tracker.debian.org/news/1646619/accepted-linux-signed-amd64-612291-source-into-unstable/)
> > at 20250518T230426Z.
> > 
> > To reproduce:
> > * Download the daily live image from https://openqa.debian.net/tests/396941/asset/iso/smallest-build_sid_20250519T021902Z.iso
> > * Boot into the live image (the first boot option)
> > * Result: an initramfs shell (instead of a live system) -> FAIL
> > * Try: `losetup -r /dev/loop1 /run/live/medium/live/filesystem.squashfs`
> > * Result: `failed to set up loop device: invalid argument` -> FAIL
> > * Try: `cp /run/live/medium/live/filesystem.squashfs /`
> > * Try: `losetup -r /dev/loop2 /filesystem.squashfs`
> > * Result: `loop2: detected capacity change from 0 to 1460312` -> PASS
> > 
> > It appears that the loopback device cannot be used any more with the mount
> > /run/live/medium (which is on /dev/sr0).
> > 
> > I've verified: the md5sum of the squashfs file is OK.
> > 
> > The newer kernel is not in trixie yet.
> > 
> > With kind regards,
> > Roland Clobus
> 
> A short reproducer is as follows:
> 
> iso="netinst.iso"
> url="https://openqa.debian.net/tests/396941/asset/iso/smallest-build_sid_20250519T021902Z.iso"
> if [ ! -e "${iso}" ]; then
>         wget "${url}" -O "${iso}"
> fi
> mountdir="$(mktemp -d)"
> mount -v "./${iso}" "${mountdir}"
> losetup -v -r -f "${mountdir}/live/filesystem.squashfs"
> loosetup -l
> 
> resulting in:
> 
> mount: /tmp/tmp.HgbNe7ek3h: WARNING: source write-protected, mounted read-only.
> mount: /dev/loop0 mounted on /tmp/tmp.HgbNe7ek3h.
> losetup: /tmp/tmp.HgbNe7ek3h/live/filesystem.squashfs: failed to set up loop device: Invalid argument
> NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE         DIO LOG-SEC
> /dev/loop0         0      0         1  0 /root/netinst.iso   0     512
> 
> Reverting 184b147b9f7f ("loop: Add sanity check for read/write_iter")
> on top of 6.12.29 fixes the issue:
> 
> mount: /tmp/tmp.ACkkdCdYvB: WARNING: source write-protected, mounted read-only.
> mount: /dev/loop0 mounted on /tmp/tmp.ACkkdCdYvB.
> NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE                                    DIO LOG-SEC
> /dev/loop1         0      0         0  1 /tmp/tmp.ACkkdCdYvB/live/filesystem.squashfs   0     512
> /dev/loop0         0      0         1  0 /root/netinst.iso                              0     512
> 
> For completeness, netinst.iso is a iso9660 fstype with mount options
> "ro,relatime,nojoliet,check=s,map=n,blocksize=2048,iocharset=utf8".
> 
> #regzbot introduced: 184b147b9f7f
> #regzbot link: https://bugs.debian.org/1106070

Just tested: The regression exists as well in 6.15-rc7 so it is not
specific to the stable 6.12.y update.

Regards,
Salvatore

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

* Re: [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter")
  2025-05-20  5:57 ` [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter") Salvatore Bonaccorso
  2025-05-20  6:10   ` Salvatore Bonaccorso
@ 2025-05-20  6:34   ` Christian Hesse
  2025-05-20  7:16     ` Salvatore Bonaccorso
  2025-05-20 15:23   ` Jens Axboe
  2 siblings, 1 reply; 5+ messages in thread
From: Christian Hesse @ 2025-05-20  6:34 UTC (permalink / raw)
  To: Salvatore Bonaccorso
  Cc: Roland Clobus, Lizhi Xu, Christoph Hellwig, Jens Axboe, 1106070,
	linux-block, linux-kernel, stable, regressions

[-- Attachment #1: Type: text/plain, Size: 681 bytes --]

Salvatore Bonaccorso <carnil@debian.org> on Tue, 2025/05/20 07:57:
> In Debian Roland Clobus reported a regression with setting up loop
> devices from a backing squashfs file lying on read-only mounted target
> directory from a iso.
> 
> The original report is at:
> https://bugs.debian.org/1106070

We are suffering the same for Arch Linux. Already reported here:

https://lore.kernel.org/all/20250519175640.2fcac001@leda.eworm.net/
-- 
main(a){char*c=/*    Schoene Gruesse                         */"B?IJj;MEH"
"CX:;",b;for(a/*    Best regards             my address:    */=0;b=c[a++];)
putchar(b-1/(/*    Chris            cc -ox -xc - && ./x    */b/42*2-3)*42);}

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter")
  2025-05-20  6:34   ` Christian Hesse
@ 2025-05-20  7:16     ` Salvatore Bonaccorso
  0 siblings, 0 replies; 5+ messages in thread
From: Salvatore Bonaccorso @ 2025-05-20  7:16 UTC (permalink / raw)
  To: Christian Hesse
  Cc: Roland Clobus, Lizhi Xu, Christoph Hellwig, Jens Axboe, 1106070,
	linux-block, linux-kernel, stable, regressions

H Christian,

On Tue, May 20, 2025 at 08:34:38AM +0200, Christian Hesse wrote:
> Salvatore Bonaccorso <carnil@debian.org> on Tue, 2025/05/20 07:57:
> > In Debian Roland Clobus reported a regression with setting up loop
> > devices from a backing squashfs file lying on read-only mounted target
> > directory from a iso.
> > 
> > The original report is at:
> > https://bugs.debian.org/1106070
> 
> We are suffering the same for Arch Linux. Already reported here:
> 
> https://lore.kernel.org/all/20250519175640.2fcac001@leda.eworm.net/

Sorry missed that one! Ack, so let's continue in that thread (worth
looping in the regressions list though?)

Regards,
Salvatore

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

* Re: [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter")
  2025-05-20  5:57 ` [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter") Salvatore Bonaccorso
  2025-05-20  6:10   ` Salvatore Bonaccorso
  2025-05-20  6:34   ` Christian Hesse
@ 2025-05-20 15:23   ` Jens Axboe
  2 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2025-05-20 15:23 UTC (permalink / raw)
  To: Salvatore Bonaccorso, Roland Clobus, Lizhi Xu, Christoph Hellwig
  Cc: 1106070, linux-block, linux-kernel, stable, regressions

Fixed here:

https://git.kernel.dk/cgit/linux/commit/?h=block-6.15&id=355341e4359b2d5edf0ed5e117f7e9e7a0a5dac0

and will land upstream this week.

-- 
Jens Axboe


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

end of thread, other threads:[~2025-05-20 15:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <3a333f27-6810-4313-8910-485df652e897@rclobus.nl>
2025-05-20  5:57 ` [6.12.y regression] loosetup: failed to set up loop device: Invalid argument after 184b147b9f7f ("loop: Add sanity check for read/write_iter") Salvatore Bonaccorso
2025-05-20  6:10   ` Salvatore Bonaccorso
2025-05-20  6:34   ` Christian Hesse
2025-05-20  7:16     ` Salvatore Bonaccorso
2025-05-20 15:23   ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox