lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7fedb8c2-931f-406b-b46e-83bf3f452136@kernel.org>
Date: Tue, 10 Sep 2024 19:53:08 +0200
From: Jesper Dangaard Brouer <hawk@...nel.org>
To: Damien Le Moal <dlemoal@...nel.org>,
 Linus Torvalds <torvalds@...uxfoundation.org>,
 LKML <linux-kernel@...r.kernel.org>, Christoph Hellwig <hch@...radead.org>
Cc: Netdev <netdev@...r.kernel.org>, Jens Axboe <axboe@...nel.dk>,
 linux-ide@...r.kernel.org, cassel@...nel.org, handan.babu@...cle.com,
 djwong@...nel.org, Linux-XFS <linux-xfs@...r.kernel.org>,
 hdegoede@...hat.com, "David S. Miller" <davem@...emloft.net>,
 Jakub Kicinski <kuba@...nel.org>, kernel-team <kernel-team@...udflare.com>
Subject: Re: Regression v6.11 booting cannot mount harddisks (xfs)

Hi Hellwig,

I bisected my boot problem down to this commit:

$ git bisect good
af2814149883e2c1851866ea2afcd8eadc040f79 is the first bad commit
commit af2814149883e2c1851866ea2afcd8eadc040f79
Author: Christoph Hellwig <hch@....de>
Date:   Mon Jun 17 08:04:38 2024 +0200

     block: freeze the queue in queue_attr_store

     queue_attr_store updates attributes used to control generating I/O, and
     can cause malformed bios if changed with I/O in flight.  Freeze the 
queue
     in common code instead of adding it to almost every attribute.

     Signed-off-by: Christoph Hellwig <hch@....de>
     Reviewed-by: Bart Van Assche <bvanassche@....org>
     Reviewed-by: Damien Le Moal <dlemoal@...nel.org>
     Reviewed-by: Hannes Reinecke <hare@...e.de>
     Reviewed-by: Chaitanya Kulkarni <kch@...dia.com>
     Link: https://lore.kernel.org/r/20240617060532.127975-12-hch@lst.de
     Signed-off-by: Jens Axboe <axboe@...nel.dk>

  block/blk-mq.c    | 5 +++--
  block/blk-sysfs.c | 9 ++-------
  2 files changed, 5 insertions(+), 9 deletions(-)

git describe --contains af2814149883e2c1851866ea2afcd8eadc040f79
v6.11-rc1~80^2~66^2~15


On 10/09/2024 16.49, Jesper Dangaard Brouer wrote:
> 
> 
> On 10/09/2024 15.06, Damien Le Moal wrote:
>> On 2024/09/10 21:19, Jesper Dangaard Brouer wrote:
>>> Hi Linus,
>>>
>>> My testlab kernel devel server isn't booting correctly on v6.11 branches
>>> (e.g. net-next at 6.11.0-rc5)
>>> I just confirmed this also happens on your tree tag: v6.11-rc7.
>>>
>>> The symptom/issue is that harddisk dev names (e.g /dev/sda, /dev/sdb,
>>> /dev/sdc) gets reordered.  I switched /etc/fstab to use UUID's instead
>>> (which boots on v6.10) but on 6.11 it still cannot mount harddisks and
>>> doesn't fully boot.
>>
>> Parallel SCSI device scanning has been around for a long time... This is
>> controlled with CONFIG_SCSI_SCAN_ASYNC. And yes, that can cause disk 
>> names to
>> change, which is why it is never a good idea to rely on them but 
>> instead use
>> /dev/disk/by-* names. Disabling CONFIG_SCSI_SCAN_ASYNC will likely not 
>> guarantee
>> that disk names will be constant, given that you seem to have 2 AHCI 
>> adapters on
>> your host and PCI device scanning is done in parallel.
>>
>>> E.g. errors:
>>>     systemd[1]: Expecting device
>>> dev-disk-by\x2duuid-0c2b348d\x2de013\x2d482b\x2da91c\x2d029640ec427a.device
>>> - /dev/disk/by-uuid/0c2b348d-e013-482b-a91c-029640ec42
>>> 7a...
>>>     [DEPEND] Dependency failed for var-lib.mount - /var/lib.
>>>     [...]
>>>     [ TIME ] Timed out waiting for device
>>> dev-d…499e46-b40d-4067-afd4-5f6ad09fcff2.
>>>     [DEPEND] Dependency failed for boot.mount - /boot.
>>>
>>> That corresponds to fstab's:
>>>    - UUID=8b499e46-b40d-4067-afd4-5f6ad09fcff2 /boot     xfs defaults 
>>> 0 0
>>>    - UUID=0c2b348d-e013-482b-a91c-029640ec427a /var/lib/ xfs defaults 
>>> 0 0
>>>
>>> It looks like disk controller initialization happens in *parallel* on
>>> these newer kernels as dmesg shows init printk's overlapping:
>>>
>>>    [    5.683393] scsi 5:0:0:0: Direct-Access     ATA      SAMSUNG
>>> MZ7KM120 003Q PQ: 0 ANSI: 5
>>>    [    5.683641] scsi 7:0:0:0: Direct-Access     ATA      SAMSUNG
>>> MZ7KM120 003Q PQ: 0 ANSI: 5
>>>    [    5.683797] scsi 8:0:0:0: Direct-Access     ATA      Samsung SSD
>>> 840  BB0Q PQ: 0 ANSI: 5
>>>    [...]
>>>    [    7.057376] sd 5:0:0:0: [sda] 234441648 512-byte logical blocks:
>>> (120 GB/112 GiB)
>>>    [    7.062279] sd 7:0:0:0: [sdb] 234441648 512-byte logical blocks:
>>> (120 GB/112 GiB)
>>>    [    7.070628] sd 5:0:0:0: [sda] Write Protect is off
>>>    [    7.070701] sd 8:0:0:0: [sdc] 488397168 512-byte logical blocks:
>>> (250 GB/233 GiB)
>>>
>>> Perhaps this could be a hint to what changed?
>>
>> See above. The disk /dev/sdX names not being reliable is rather normal.
>> Are you sure you have the correct UUIDs of your FSes on the disks ? 
>> You can
>> check them with "blkid /dev/sdX[n]"
>>
> 
> I have checked that I use the correct UUIDs.
> 
> I checked my /etc/fstab have the UUID entries under /dev/disk/by-uuid/
> via this oneliner, which needs to have a /etc/fstab entry under each
> UUID. We can see I have one partition that I'm not using
> (0fd3bc38-6496-401f-87f2-87e09532de53), which is expected.
> 
> $ for UUID in $(ls /dev/disk/by-uuid/); do echo $UUID; grep -H $UUID 
> /etc/fstab; done
> 09e8c15f-80d2-47e3-8e73-d3fdfcf33eef
> /etc/fstab:UUID=09e8c15f-80d2-47e3-8e73-d3fdfcf33eef /     xfs     
> defaults        0 0
> 0c2b348d-e013-482b-a91c-029640ec427a
> /etc/fstab:UUID=0c2b348d-e013-482b-a91c-029640ec427a    /var/lib/        
> xfs defaults 0 0
> 0fd3bc38-6496-401f-87f2-87e09532de53
> 581920da-1ccb-4b25-856c-036310032a74
> /etc/fstab:UUID=581920da-1ccb-4b25-856c-036310032a74    /nix            
> xfs    defaults 0 0
> 8b499e46-b40d-4067-afd4-5f6ad09fcff2
> /etc/fstab:UUID=8b499e46-b40d-4067-afd4-5f6ad09fcff2 /boot     xfs     
> defaults        0 0
> cd409a50-0371-47ca-9213-49a2bc7b9317
> /etc/fstab:UUID=cd409a50-0371-47ca-9213-49a2bc7b9317 swap     swap    
> defaults        0 0
> 
> 
>>> Any hints what commit I should try to test revert?
>>> Or good starting point for bisecting?
>>
>> You said that 6.10 works, so maybe start from there ?
> 
> I tested I could boot tag v6.10, and have started bisection.
> 
> I've not tried to deselect CONFIG_SCSI_SCAN_ASYNC as the kernel that
> worked on tag v6.10 also had this CONFIG_SCSI_SCAN_ASYNC enabled. So, it
> is likely not related to the async controller init.
> 
> --Jesper

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ