Package: udisks Version: 1.0.4-7 On big endian machines (in my case parisc) unaligned accesses to 32bit integers gives warnings during boot like this:
udisks-part-id(3035): unaligned access to 0xc06d29ce at ip=0x00012a03 udisks-part-id(3035): unaligned access to 0xc06d29d2 at ip=0x00012a3b udisks-part-id(3035): unaligned access to 0xc06d29de at ip=0x00012a03 udisks-part-id(3035): unaligned access to 0xc06d29e2 at ip=0x00012a3b udisks-part-id(3035): unaligned access to 0xc06d29ee at ip=0x00012a03 Fix this by copying the 4 bytes to an aligned address and then access it. Patch attached. I did reported the bug upstream as well: https://bugs.freedesktop.org/show_bug.cgi?id=64601
Description: fix unaligned access warnings on big endian machines On big endian machines (in my case parisc) unaligned accesses to 32bit integers gives warnings during boot like this: udisks-part-id(3035): unaligned access to 0xc06d29ce at ip=0x00012a03 udisks-part-id(3035): unaligned access to 0xc06d29d2 at ip=0x00012a3b udisks-part-id(3035): unaligned access to 0xc06d29de at ip=0x00012a03 udisks-part-id(3035): unaligned access to 0xc06d29e2 at ip=0x00012a3b udisks-part-id(3035): unaligned access to 0xc06d29ee at ip=0x00012a03 Fix this by copying the 4 bytes to an aligned address and then access it. Author: Helge Deller <[email protected]> --- udisks-1.0.4.orig/src/helpers/partutil.c +++ udisks-1.0.4/src/helpers/partutil.c @@ -181,7 +181,9 @@ get_le16 (const void *buf) static guint32 get_le32 (const void *buf) { - return GUINT32_FROM_LE (*((guint32 *) buf)); + guint32 le32; + memcpy(&le32, buf, sizeof(le32)); + return GUINT32_FROM_LE (le32); } static guint64
_______________________________________________ Pkg-utopia-maintainers mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-utopia-maintainers
