I would like to bring the following bug report to people's attention:
https://bugzilla.redhat.com/show_bug.cgi?id=680090
The issue is that the code used in e2fsprogs WRT allocating unaligned
buffers and then casting them into structs is non-portable and dangerous
- eyewateringly dangerous in something like e2fsprogs where it can lead
to thorough trashing of the file system.
Can something be done to improve the portability of the userspace code?
The issue has been discussed on the Fedora-ARM mailing list:
http://lists.fedoraproject.org/pipermail/arm/2012-July/003637.html
but the argument there was that the issue needs to be fixed upstream,
hence why I am posting it here.
This is an issue on all ARMs up to ARMv5, possibly ARMv6, and likely
other CPU architectures that don't have transparent alignment fixup in
hardware (Itanium, SPARC, probably others).
Apart from being dangerous, using unaligned arrays also affects
performance because it leads to data needlessly straddling cache lines
in the CPU. But that doesn't really matter in this case.
Many thanks.
Gordan
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html