hexdump: fix for non-aligned buffers
authorHoracio Mijail Anton Quiles <[email protected]>
Fri, 17 Jul 2015 23:24:04 +0000 (16:24 -0700)
committerLinus Torvalds <[email protected]>
Fri, 17 Jul 2015 23:39:53 +0000 (16:39 -0700)
commit0f70fe605fad0f3215818ba79fc12617c0ec7f90
tree4e0e1768928926e774f92081fa5236df02df8fe2
parentb4749e96a4a872c2496602566f205547c4e3c950
hexdump: fix for non-aligned buffers

A hexdump with a buf not aligned to the groupsize causes
non-naturally-aligned memory accesses.  This was causing a kernel panic
on the processor BlackFin BF527, when such an unaligned buffer was fed
by the function ubifs_scanned_corruption in fs/ubifs/scan.c .

To fix this, change accesses to the contents of the buffer so they go
through get_unaligned().  This change should be harmless to unaligned-
access-capable architectures, and any performance hit should be anyway
dwarfed by the snprintf() processing time.

Signed-off-by: Horacio Mijail Antón Quiles <[email protected]>
Cc: Andy Shevchenko <[email protected]>
Cc: David Howells <[email protected]>
Cc: Vivek Goyal <[email protected]>
Cc: Joe Perches <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
lib/hexdump.c