[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2024122420-litter-cadillac-53cd@gregkh>
Date: Tue, 24 Dec 2024 10:59:46 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Zhao Mengmeng <zhaomengmeng@...inos.cn>
Cc: Jan Kara <jack@...e.cz>, sashal@...nel.org,
Salvatore Bonaccorso <carnil@...ian.org>,
Daniel Reichelt <debian@...htgeist.net>,
linux-kernel@...r.kernel.org, 1089698@...s.debian.org,
regressions@...ts.linux.dev
Subject: Re: [regression] linux: Loop-mounted UDF ISOs no longer readable
On Tue, Dec 24, 2024 at 05:46:59PM +0800, Zhao Mengmeng wrote:
> On 2024/12/23 10:48, Zhao Mengmeng wrote:
> > On 2024/12/21 03:49, Salvatore Bonaccorso wrote:
> >> Hi Jan, hi Zhao,
> >>
> >> In Debian we got he following report, full quoted below from Daniel
> >> Reichelt, dass after updating to 6.1.115 (and later, confirmed up to
> >> 6.1.119), loop-mounted UDF ISOs are no longer readable:
> >
> > Sorry to hear that...
> >
> >>> Hi,
> >>>
> >>> in 6.1.112-1 I could loop-mount Windows Setup ISOs (downloaded from M$; hashes
> >>> are fine; 10/11, DE/EN don't seem to make any difference) and access their
> >>> content perfectly fine, i.e. share the /sources/ sub-directory via samba for
> >>> netinstall scenarios.
> >>>
> >>> Starting with 6.1.115-1, the ISOs can be mounted, the root-dir is accessible
> >>> and `stat $mntpt/sources` gives output as well. However `ls $mntpt/sources`
> >>> hangs and the kernel log is spammed with entries like
> >>>
> >>> ---------------8<-------------------------
> >>> 2024-12-11T14:53:19.616728+01:00 srv kernel: [182394.024828] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.629970+01:00 srv kernel: [182394.038041] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> 2024-12-11T14:53:19.641623+01:00 srv kernel: [182394.049714] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.654841+01:00 srv kernel: [182394.062928] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> 2024-12-11T14:53:19.666495+01:00 srv kernel: [182394.074615] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.679747+01:00 srv kernel: [182394.087833] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> 2024-12-11T14:53:19.691394+01:00 srv kernel: [182394.099510] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.704646+01:00 srv kernel: [182394.112727] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> 2024-12-11T14:53:19.716283+01:00 srv kernel: [182394.124400] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.729539+01:00 srv kernel: [182394.137618] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> 2024-12-11T14:53:19.741185+01:00 srv kernel: [182394.149279] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.754422+01:00 srv kernel: [182394.162494] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> 2024-12-11T14:53:19.766071+01:00 srv kernel: [182394.174159] UDF-fs: error (device loop3): udf_fiiter_advance_blk: extent after position 12272 not allocated in directory (ino 312)
> >>> 2024-12-11T14:53:19.779289+01:00 srv kernel: [182394.187375] UDF-fs: error (device loop3): udf_verify_fi: directory (ino 312) has too big (2088) entry at pos 12272
> >>> ---------------8<-------------------------
> >>>
> >>>
> >>> 6.1.119-1 shows the same behaviour.
> >>> Let me know if you need additional info.
> >>
> >> We have not a full bisect, but Daniel confirmed already in
> >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1089698#22 some
> >> observations:
> >>
> >>> OK:
> >>> 6.1.112-1
> >>> BAD:
> >>> 6.1.115-1
> >>> 6.1.119-1
> >>> OK again:
> >>> 6.3.1-1~exp1
> >>> current trixie
> >>> current sid
> >>
> >> (current trixie is 6.11.10 based kernel, current sid is based on
> >> 6.12.5 kernel).
> >>
> >> Dies this ring some bell to you?
> >
> > I'll take a look at it. Will post it here if anything new founded.
> >
> >> #regzbot introduced: v6.1.112..v6.1.115
> >> #regzbot monitor: https://bugs.debian.org/1089698
> >>
> >> Regards,
> >> Salvatore
> >
> --------------------
> Update on 2024.12.24:
>
> Hi Jan, Sasha, after some testing and code digging, I found that v6.1 LTS may need
> this patch to solve Daniel's issue:
>
> commit 1ea1cd11c72d1405a6b98440a9d5ea82dfa07166
> Author: Jan Kara <jack@...e.cz>
> Date: Wed Jan 25 11:43:03 2023 +0100
>
> udf: Fix directory iteration for longer tail extents
>
> When directory's last extent has more that one block and its length is
> not multiple of a block side, the code wrongly decided to move to the
> next extent instead of processing the last partial block. This led to
> directory corruption. Fix the rounding issue.
>
> Signed-off-by: Jan Kara <jack@...e.cz>
It's already queued up for the next 6.1.y release in a few days, so if
you could test the -rc that is out for review right now, that would be
great!
thanks,
greg k-h
Powered by blists - more mailing lists