lshw doesn't deal w/ device-tree endianness
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lshw |
Unknown
|
Unknown
|
|||
lshw (Debian) |
Fix Released
|
Unknown
|
|||
lshw (Ubuntu) |
Fix Released
|
Medium
|
Brian Murray | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
lshw parses /proc/device-tree to read system properties on device-tree-based platforms. But, on little endian systems like armhf and arm64, it doesn't properly convert the data, which should always be big endian. This can cause incorrect data to be reported. For instance, a 1GHz cpu might be reported as 13MHz because lshw reads a frequency of 0xca9a3b (13MHz) instead of 0x3b9aca00 (1GHz).
[Test Case]
Run lshw on an HP m800 cartridge and examine the cpu frequency.
[Regression Potential]
We're changing parsing code, so there's a possibility that we break that code on systems that currently work in trusty. I tested on a big endian system to make sure it didn't break things there (powerpc), and found the output to be byte-for-byte identical before and after the patch.
Related branches
- Brian Murray: Approve
-
Diff: 194 lines (+169/-0)4 files modifieddebian/changelog (+7/-0)
debian/patches/ddr3-device-tree-support.patch (+130/-0)
debian/patches/fix-endianness-problem-in-dev-tree-parsing.patch (+30/-0)
debian/patches/series (+2/-0)
description: | updated |
Changed in lshw (Debian): | |
status: | Unknown → New |
Changed in lshw (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in lshw (Ubuntu): | |
assignee: | nobody → Brian Murray (brian-murray) |
tags: |
added: verification-done removed: verification-needed |
Changed in lshw (Debian): | |
status: | New → Fix Released |
project owner has emailed me and said an update was checked into subversion. I will check out new subversion code and give it a try