* Regression due to "libata: implement SECURITY PROTOCOL IN/OUT"
@ 2017-08-24 11:29 Ido Schimmel
2017-08-24 12:07 ` Christoph Hellwig
0 siblings, 1 reply; 8+ messages in thread
From: Ido Schimmel @ 2017-08-24 11:29 UTC (permalink / raw)
To: hch, tj; +Cc: xiaolong.ye, mlxsw, michaelsh, linux-ide
Hi,
Booting kernel v4.13-rc6 on my system results in the following errors in
the kernel log:
ata5.00: qc timeout (cmd 0x47)
ata5.00: READ LOG DMA EXT failed, trying PIO
ata5.00: ATA Identify Device Log not supported
ata5.00: Security Log not supported
ata5.00: failed to set xfermode (err_mask=0x40)
ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata5.00: qc timeout (cmd 0xec)
ata5.00: failed to IDENTIFY (I/O error, err_mask=0x5)
ata5.00: revalidation failed (errno=-5)
ata5: limiting SATA link speed to 3.0 Gbps
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
ata5.00: qc timeout (cmd 0xec)
ata5.00: failed to IDENTIFY (I/O error, err_mask=0x5)
ata5.00: revalidation failed (errno=-5)
ata5.00: disabled
ata5: hard resetting link
ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 320)
ata5: EH complete
And a dracut shell. Bisected this down to commit 818831c8b22f ("libata:
implement SECURITY PROTOCOL IN/OUT"). Can you please look into it? I can
easily test your patches.
I didn't find any relevant patches in patchwork or similar reports
beside this one:
https://www.spinics.net/lists/kernel/msg2533719.html
To which no one replied.
Thanks!
More info that might help:
Full bisection log:
git bisect start
# bad: [5771a8c08880cdca3bfb4a3fc6d309d6bba20877] Linux v4.13-rc1
git bisect bad 5771a8c08880cdca3bfb4a3fc6d309d6bba20877
# good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
# good: [e5f76a2e0e84ca2a215ecbf6feae88780d055c56] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
git bisect good e5f76a2e0e84ca2a215ecbf6feae88780d055c56
# bad: [bd78acad8e866e1167f9de97c9b090ee6c2c96a7] parisc: move generic-y of exported headers to uapi/asm/Kbuild
git bisect bad bd78acad8e866e1167f9de97c9b090ee6c2c96a7
# bad: [e0f25a3f2d052e36ff67a9b4db835c3e27e950d8] Merge tag 'hwlock-v4.13' of git://github.com/andersson/remoteproc
git bisect bad e0f25a3f2d052e36ff67a9b4db835c3e27e950d8
# bad: [920f2ecdf6c3b3526f60fbd38c68597953cad3ee] Merge tag 'sound-4.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
git bisect bad 920f2ecdf6c3b3526f60fbd38c68597953cad3ee
# good: [b821d298f8864dc3c3d42643812df43289159507] Merge remote-tracking branch 'asoc/topic/inte' into asoc-next
git bisect good b821d298f8864dc3c3d42643812df43289159507
# good: [7fc8e7c1d9787ab8cb0f91adb3bc9c2c64c00ef8] Merge branch 'for-linus' into for-next
git bisect good 7fc8e7c1d9787ab8cb0f91adb3bc9c2c64c00ef8
# good: [9b51f04424e17051a89ab32d892ca66b2a104825] Merge branch 'parisc-4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
git bisect good 9b51f04424e17051a89ab32d892ca66b2a104825
# bad: [109a5db5042c035ded330b948a710b9a0c20934d] Merge branch 'for-4.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
git bisect bad 109a5db5042c035ded330b948a710b9a0c20934d
# bad: [79af3ae6e293855321dcd1a43c73be316fdff1a9] ata: pata_octeon_cf: make of_device_ids const.
git bisect bad 79af3ae6e293855321dcd1a43c73be316fdff1a9
# good: [f01f62c257cc343246a5a9b2df8135f01fc044ab] libata: move ata_read_log_page to libata-core.c
git bisect good f01f62c257cc343246a5a9b2df8135f01fc044ab
# bad: [af36ddc988922adc00221b37662120cd78f4aa7d] ata: Add DT bindings for Faraday Technology FTIDE010
git bisect bad af36ddc988922adc00221b37662120cd78f4aa7d
# good: [1d51d5f3907abf86ef0521971bcddf5853564263] libata: clarify log page naming / grouping
git bisect good 1d51d5f3907abf86ef0521971bcddf5853564263
# bad: [818831c8b22f75353f59a63a484e20736c0567c9] libata: implement SECURITY PROTOCOL IN/OUT
git bisect bad 818831c8b22f75353f59a63a484e20736c0567c9
# good: [a0fd2454a36ffab2ce39b3a91c1385a5f98e63f0] libata: factor out a ata_identify_page_supported helper
git bisect good a0fd2454a36ffab2ce39b3a91c1385a5f98e63f0
# first bad commit: [818831c8b22f75353f59a63a484e20736c0567c9] libata: implement SECURITY PROTOCOL IN/OUT
Relevant hardware info:
$ lshw -class disk
*-disk
description: ATA Disk
product: M.2 (S42) 3ME3
physical id: 0.0.0
bus info: scsi@4:0.0.0
logical name: /dev/sda
version: 19
serial: 20161029AA101511210E
size: 14GiB (16GB)
capabilities: partitioned partitioned:dos
configuration: ansiversion=5 logicalsectorsize=512 sectorsize=512 signature=8de6ec69
$ lshw -class storage
*-storage:0
description: SATA controller
product: Atom processor C2000 AHCI SATA2 Controller
vendor: Intel Corporation
physical id: 17
bus info: pci@0000:00:17.0
version: 02
width: 32 bits
clock: 66MHz
capabilities: storage msi pm ahci_1.0 bus_master cap_list
configuration: driver=ahci latency=0
resources: irq:27 ioport:f0f0(size=8) ioport:f0e0(size=4) ioport:f0d0(size=8) ioport:f0c0(size=4) ioport:f040(size=32) memory:dfcaa000-dfcaa7ff
*-storage:1
description: SATA controller
product: Atom processor C2000 AHCI SATA3 Controller
vendor: Intel Corporation
physical id: 18
bus info: pci@0000:00:18.0
version: 02
width: 32 bits
clock: 66MHz
capabilities: storage msi pm ahci_1.0 bus_master cap_list
configuration: driver=ahci latency=0
resources: irq:28 ioport:f0b0(size=8) ioport:f0a0(size=4) ioport:f090(size=8) ioport:f080(size=4) ioport:f020(size=32) memory:dfca9000-dfca97ff
*-scsi
physical id: 1
logical name: scsi4
capabilities: emulated
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-24 11:29 Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" Ido Schimmel @ 2017-08-24 12:07 ` Christoph Hellwig 2017-08-24 12:18 ` Ido Schimmel 0 siblings, 1 reply; 8+ messages in thread From: Christoph Hellwig @ 2017-08-24 12:07 UTC (permalink / raw) To: Ido Schimmel; +Cc: hch, tj, xiaolong.ye, mlxsw, michaelsh, linux-ide What kind of device is this? Seems like we need to blacklist it as it chokes when we tried to read the Identify Devіce Log. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-24 12:07 ` Christoph Hellwig @ 2017-08-24 12:18 ` Ido Schimmel 2017-08-26 17:15 ` Ido Schimmel 0 siblings, 1 reply; 8+ messages in thread From: Ido Schimmel @ 2017-08-24 12:18 UTC (permalink / raw) To: Christoph Hellwig; +Cc: tj, xiaolong.ye, mlxsw, michaelsh, linux-ide On Thu, Aug 24, 2017 at 02:07:29PM +0200, Christoph Hellwig wrote: > What kind of device is this? Seems like we need to blacklist it > as it chokes when we tried to read the Identify Devіce Log. Is the below enough or do you need more info? $ smartctl -a /dev/sda === START OF INFORMATION SECTION === Model Family: Innodisk 3IE3/3ME3 SSDs Device Model: M.2 (S42) 3ME3 Serial Number: 20161029AA101511210E LU WWN Device Id: 5 24693e 2016a210e Firmware Version: S15A19 User Capacity: 16,013,942,784 bytes [16.0 GB] Sector Size: 512 bytes logical/physical Rotation Rate: Solid State Device Form Factor: 2.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ATA8-ACS (minor revision not indicated) SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Thu Aug 24 15:10:44 2017 IDT SMART support is: Available - device has SMART capability. SMART support is: Enabled === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: Offline data collection status: (0x00) Offline data collection activity was never started. Auto Offline Data Collection: Disabled. Total time to complete Offline data collection: ( 32) seconds. Offline data collection capabilities: (0x00) Offline data collection not supported. SMART capabilities: (0x0003) Saves SMART data before entering power-saving mode. Supports SMART auto save timer. Error logging capability: (0x00) Error logging NOT supported. General Purpose Logging supported. SCT capabilities: (0x0039) SCT Status supported. SCT Error Recovery Control supported. SCT Feature Control supported. SCT Data Table supported. SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x0000 000 000 000 Old_age Offline - 0 2 Throughput_Performance 0x0000 000 000 000 Old_age Offline - 0 3 Spin_Up_Time 0x0000 000 000 000 Old_age Offline - 0 5 Later_Bad_Block 0x0013 100 100 001 Pre-fail Always - 0 7 Seek_Error_Rate 0x0000 000 000 000 Old_age Offline - 0 8 Seek_Time_Performance 0x0000 000 000 000 Old_age Offline - 0 9 Power_On_Hours 0x0002 255 000 000 Old_age Always - 255 10 Spin_Retry_Count 0x0000 000 000 000 Old_age Offline - 0 12 Power_Cycle_Count 0x0002 097 000 000 Old_age Always - 97 163 Total_Bad_Block_Count 0x0000 000 000 000 Old_age Offline - 13 168 SATA_PHY_Error_Count 0x0000 000 000 000 Old_age Offline - 0 169 Remaining_Lifetime_Perc 0x0000 099 000 000 Old_age Offline - 99 175 Bad_Cluster_Table_Count 0x0000 000 000 000 Old_age Offline - 0 192 Power-Off_Retract_Count 0x0000 000 000 000 Old_age Offline - 0 194 Temperature_Celsius 0x0000 030 100 000 Old_age Offline - 30 (2 100 0 0 0) 197 Current_Pending_Sector 0x0012 000 100 000 Old_age Always - 0 225 Data_Log_Write_Count 0x0000 000 240 000 Old_age Offline - 272040 240 Write_Head 0x0000 000 000 000 Old_age Offline - 0 165 Max_Erase_Count 0x0002 010 001 000 Old_age Always - 10 167 Average_Erase_Count 0x0002 005 001 000 Old_age Always - 5 170 Spare_Block_Count 0x0003 100 001 000 Pre-fail Always - 65 171 Program_Fail_Count 0x0002 000 001 000 Old_age Always - 0 172 Erase_Fail_Count 0x0002 000 001 000 Old_age Always - 0 176 RANGE_RECORD_Count 0x0000 100 001 000 Old_age Offline - 0 187 Reported_Uncorrect 0x0002 000 001 000 Old_age Always - 0 229 Flash_ID 0x0002 100 001 000 Old_age Always - 0x51769394de98 232 Spares_Remaining_Perc 0x0003 100 001 000 Pre-fail Always - 0 235 Later_Bad_Blk_Inf_R/W/E 0x0002 000 000 000 Old_age Always - 0 0 0 241 Host_Writes_32MiB 0x0002 100 001 000 Old_age Always - 1062 242 Host_Reads_32MiB 0x0002 100 001 000 Old_age Always - 762 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-24 12:18 ` Ido Schimmel @ 2017-08-26 17:15 ` Ido Schimmel 2017-08-27 9:05 ` Christoph Hellwig 0 siblings, 1 reply; 8+ messages in thread From: Ido Schimmel @ 2017-08-26 17:15 UTC (permalink / raw) To: Christoph Hellwig; +Cc: tj, xiaolong.ye, mlxsw, michaelsh, linux-ide On Thu, Aug 24, 2017 at 03:18:04PM +0300, Ido Schimmel wrote: > On Thu, Aug 24, 2017 at 02:07:29PM +0200, Christoph Hellwig wrote: > > What kind of device is this? Seems like we need to blacklist it > > as it chokes when we tried to read the Identify Devіce Log. > > Is the below enough or do you need more info? Ping? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-26 17:15 ` Ido Schimmel @ 2017-08-27 9:05 ` Christoph Hellwig 2017-08-27 10:53 ` Ido Schimmel 0 siblings, 1 reply; 8+ messages in thread From: Christoph Hellwig @ 2017-08-27 9:05 UTC (permalink / raw) To: Ido Schimmel Cc: Christoph Hellwig, tj, xiaolong.ye, mlxsw, michaelsh, linux-ide On Sat, Aug 26, 2017 at 08:15:37PM +0300, Ido Schimmel wrote: > On Thu, Aug 24, 2017 at 03:18:04PM +0300, Ido Schimmel wrote: > > On Thu, Aug 24, 2017 at 02:07:29PM +0200, Christoph Hellwig wrote: > > > What kind of device is this? Seems like we need to blacklist it > > > as it chokes when we tried to read the Identify Devіce Log. > > > > Is the below enough or do you need more info? > > Ping? Sorry, been a bit busy. Is this an actual SSD connected to a real controller, or a PCIe SSD that implements ahci itself? Can you send the full dmesg output, plus lspci -v, plus the output of hdparm -i /dev/sdN for the device after a working boot? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-27 9:05 ` Christoph Hellwig @ 2017-08-27 10:53 ` Ido Schimmel 2017-08-27 17:03 ` Christoph Hellwig 0 siblings, 1 reply; 8+ messages in thread From: Ido Schimmel @ 2017-08-27 10:53 UTC (permalink / raw) To: Christoph Hellwig; +Cc: tj, xiaolong.ye, mlxsw, michaelsh, linux-ide Hi Christoph, On Sun, Aug 27, 2017 at 11:05:46AM +0200, Christoph Hellwig wrote: > On Sat, Aug 26, 2017 at 08:15:37PM +0300, Ido Schimmel wrote: > > On Thu, Aug 24, 2017 at 03:18:04PM +0300, Ido Schimmel wrote: > > > On Thu, Aug 24, 2017 at 02:07:29PM +0200, Christoph Hellwig wrote: > > > > What kind of device is this? Seems like we need to blacklist it > > > > as it chokes when we tried to read the Identify Devіce Log. > > > > > > Is the below enough or do you need more info? > > > > Ping? > > Sorry, been a bit busy. Is this an actual SSD connected to a real > controller, or a PCIe SSD that implements ahci itself? Yes, it's an actual SSD. Not PCIe. > Can you send the full dmesg output, plus lspci -v, plus the output of > hdparm -i /dev/sdN for the device after a working boot? dmesg from 4.12.8 kernel: https://pastebin.com/HjMFqrP8 lspci -v from 4.12.8 kernel: https://pastebin.com/UFnKVmg9 hdparm -i from 4.12.8 kernel: https://pastebin.com/GdCVcj3G dmesg from 4.13-rc6 kernel where the error is showed: https://pastebin.com/uVLRsybx Thank you for your time. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-27 10:53 ` Ido Schimmel @ 2017-08-27 17:03 ` Christoph Hellwig 2017-08-27 18:25 ` Ido Schimmel 0 siblings, 1 reply; 8+ messages in thread From: Christoph Hellwig @ 2017-08-27 17:03 UTC (permalink / raw) To: Ido Schimmel Cc: Christoph Hellwig, tj, xiaolong.ye, mlxsw, michaelsh, linux-ide Does this make your boot issue go away? diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index fa7dd4394c02..697f5f896b19 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -2079,6 +2079,8 @@ unsigned int ata_read_log_page(struct ata_device *dev, u8 log, */ if (ap_flags & ATA_FLAG_NO_LOG_PAGE) return AC_ERR_DEV; + if (dev->horkage & ATA_HORKAGE_NO_LOG_PAGE) + return AC_ERR_DEV; retry: ata_tf_init(dev, &tf); @@ -4578,6 +4580,8 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { { "WDC WD3000JD-*", NULL, ATA_HORKAGE_WD_BROKEN_LPM }, { "WDC WD3200JD-*", NULL, ATA_HORKAGE_WD_BROKEN_LPM }, + + { "M.2 (S42) 3ME3", NULL, ATA_HORKAGE_NO_LOG_PAGE }, /* End Marker */ { } }; diff --git a/include/linux/libata.h b/include/linux/libata.h index 931c32f1f18d..9e927ae7fced 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -438,6 +438,7 @@ enum { ATA_HORKAGE_NO_DMA_LOG = (1 << 23), /* don't use DMA for log read */ ATA_HORKAGE_NOTRIM = (1 << 24), /* don't use TRIM */ ATA_HORKAGE_MAX_SEC_1024 = (1 << 25), /* Limit max sects to 1024 */ + ATA_HORKAGE_NO_LOG_PAGE = (1 << 26), /* Doesn't like Get Log Page */ /* DMA mask for user DMA control: User visible values; DO NOT renumber */ ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" 2017-08-27 17:03 ` Christoph Hellwig @ 2017-08-27 18:25 ` Ido Schimmel 0 siblings, 0 replies; 8+ messages in thread From: Ido Schimmel @ 2017-08-27 18:25 UTC (permalink / raw) To: Christoph Hellwig; +Cc: tj, xiaolong.ye, mlxsw, michaelsh, linux-ide On Sun, Aug 27, 2017 at 07:03:48PM +0200, Christoph Hellwig wrote: > Does this make your boot issue go away? Yes. Feel free to submit officially with my tag: Tested-by: Ido Schimmel <idosch@mellanox.com> Hopefully the patch can be sent to Linus sometime this week, before 4.13 is released. Thanks a lot Christoph! ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-08-27 18:25 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-08-24 11:29 Regression due to "libata: implement SECURITY PROTOCOL IN/OUT" Ido Schimmel 2017-08-24 12:07 ` Christoph Hellwig 2017-08-24 12:18 ` Ido Schimmel 2017-08-26 17:15 ` Ido Schimmel 2017-08-27 9:05 ` Christoph Hellwig 2017-08-27 10:53 ` Ido Schimmel 2017-08-27 17:03 ` Christoph Hellwig 2017-08-27 18:25 ` Ido Schimmel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).