microblaze: Fix uaccess_ok macro
authorMichal Simek <michal.simek@xilinx.com>
Thu, 28 Mar 2013 15:42:44 +0000 (16:42 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Thu, 9 May 2013 07:04:32 +0000 (09:04 +0200)
commitf663b60f5215b44d147ee0c07d17ffd7e9f3f881
treedef7dc04d57d626adbf66a8eedef49a09bb8c9a1
parent6dc92c9c3f209cb07fbf282b470ed76787bbc5f8
microblaze: Fix uaccess_ok macro

Fix access_ok macro no to permit
case where user will try to access
the last address space which is equal
to segment address.

Example:
segment addr = 0xbfff ffff
address = 0xbfff fff0
size = 0x10

Current wrong implementation
0xbfff ffff >= (0xbfff fff0 | 0x10 | (0xbfff fff0 + 0x10))
0xbfff ffff >= (0xbfff fff0        | 0xc000 0000)
0xbfff ffff >= 0xf000 0000
return 0 which is access failed even the combination is valid.
because get_fs().seq returns the last valid address.

This patch fix this problem.

Size equals to zero is valid access.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/microblaze/include/asm/uaccess.h