]> git.baikalelectronics.ru Git - kernel.git/commit
staging: android: binder: fix alignment issues
authorSerban Constantinescu <serban.constantinescu@arm.com>
Thu, 4 Jul 2013 09:54:46 +0000 (10:54 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Jul 2013 21:37:22 +0000 (14:37 -0700)
commit863720d01ff1d867debd68e0e9f7101326b096ca
tree09b2de8fae602093ff786bb5aa90226771be0c89
parentf8b582c3d3e7a30f71fd7c6c4b430762a2bc41e1
staging: android: binder: fix alignment issues

The Android userspace aligns the data written to the binder buffers to
4bytes. Thus for 32bit platforms or 64bit platforms running an 32bit
Android userspace we can have a buffer looking like this:

platform    buffer(binder_cmd   pointer)      size
32/32                 32b         32b          8B
64/32                 32b         64b          12B
64/64                 32b         64b          12B

Thus the kernel needs to check that the buffer size is aligned to 4bytes
not to (void *) that will be 8bytes on 64bit machines.

The change does not affect existing 32bit ABI.

Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Acked-by: Arve Hjønnevåg <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/android/binder.c