Package list libatasmart / 1892d7d
Add 0001-Dont-test-undefined-bits.patch: Fix an incorrect IO error reading SMART status, by filtering out undefined bits. Thanks Phillip Susi. (LP: #1143495) Martin Pitt 8 years ago
3 changed file(s) with 32 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
33 (LP: #1013171)
44 * debian/local/apport-hook.py: Include output of "udisksctl dump" from
55 udisks2.
6 * Add 0001-Dont-test-undefined-bits.patch: Fix an incorrect IO error reading
7 SMART status, by filtering out undefined bits. Thanks Phillip Susi.
8 (LP: #1143495)
69
710 -- Martin Pitt <mpitt@debian.org> Fri, 15 Jun 2012 08:29:53 +0200
811
0 Author: Phillip Susi <psusi@ubuntu.com>
1 Subject: fix an incorrect IO error reading SMART status
2 Description: The read SMART status command's return status
3 was testing for a success/failure value that included 8
4 bits that are "N/A" according to the standard, and required
5 that they be zeros. At least some drives do not fill them
6 with zeros, so correct this by masking off the undefined
7 bits.
8 Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61998
9 Bug-Ubuntu: https://launchpad.net/bugs/1143495
10
11 Index: b/atasmart.c
12 ===================================================================
13 --- a/atasmart.c
14 +++ b/atasmart.c
15 @@ -925,10 +925,10 @@
16 /* SAT/USB bridges truncate packets, so we only check for 4F,
17 * not for 2C on those */
18 if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x00C2U)) &&
19 - cmd[4] == htons(0x4F00U))
20 + (cmd[4] & htons(0xFF00U)) == htons(0x4F00U))
21 *good = TRUE;
22 else if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x002CU)) &&
23 - cmd[4] == htons(0xF400U))
24 + (cmd[4] & htons(0xFF00U)) == htons(0xF400U))
25 *good = FALSE;
26 else {
27 errno = EIO;
00 # Debian patches for libatasmart
1 0001-Dont-test-undefined-bits.patch
12 0002-Drop-our-own-many-bad-sectors-heuristic.patch