[EMAIL PROTECTED] wrote: > > http://bugzilla.kernel.org/show_bug.cgi?id=5138 > > Summary: 64bit put_unaligned/get_unaligned does not work on 32bit > kernel > Kernel Version: 2.6.12 > Status: NEW > Severity: normal > Owner: [EMAIL PROTECTED] > Submitter: [EMAIL PROTECTED] > > > Most recent kernel where this bug did not occur:2.6.11 > Distribution:any > Hardware Environment:mips, possibly parisc, sh, sparc > Software Environment:32bit kernel > Problem Description: > put_unaligned/get_unaligned in include/asm-generic/unaligned.h use 'unsigned > long' to hold 64bit value. > So if sizeof(long) was smaller than 8, higher 32bit will be lost.
get_unaligned() looks OK to me. But yes, there is a seemingly-unneeded typecast in put_unaligned() which I think will indeed truncate 64-bit values. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html