Improve unaligned access & backport some stuff from 3.4 kernel