summaryrefslogtreecommitdiff
path: root/arch/microblaze/include/asm/uaccess.h
AgeCommit message (Collapse)AuthorFilesLines
2010-08-02microblaze: Fix __copy_to/from_user_inatomic macrosMichal Simek1-2/+2
__copy_to/from_user_inatomic should call __copy_to/from_user because there is not necessary to check access because of kernel function. might_sleep in copy_to/from_user macros is causing problems in debug sessions too (CONFIG_DEBUG_SPINLOCK_SLEEP). BUG: sleeping function called from invalid context at .../arch/microblaze/include/asm/uaccess.h:388 in_atomic(): 1, irqs_disabled(): 0, pid: 1, name: swapper 1 lock held by swapper/1: #0: (&p->cred_guard_mutex){......}, at: [<c00d4b90>] prepare_bprm_creds+0x2c/0x88 Kernel Stack: ... Call Trace: [<c0006bd4>] microblaze_unwind+0x7c/0x94 [<c0006684>] show_stack+0xf4/0x190 [<c0006730>] dump_stack+0x10/0x30 [<c00103a0>] __might_sleep+0x12c/0x160 [<c0090de4>] file_read_actor+0x1d8/0x2a8 [<c0091568>] generic_file_aio_read+0x6b4/0xa64 [<c00cd778>] do_sync_read+0xac/0x110 [<c00ce254>] vfs_read+0xc8/0x160 [<c00d585c>] kernel_read+0x38/0x64 [<c00d5984>] prepare_binprm+0xfc/0x130 [<c00d6430>] do_execve+0x228/0x370 [<c000614c>] microblaze_execve+0x58/0xa4 caused by file_read_actor (mm/filemap.c) which calls __copy_to_user_inatomic. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-05-13microblaze: fix get_user/put_user side-effectsSteven J. Magnani1-18/+69
The Microblaze implementations of get_user() and (MMU) put_user() evaluate the address argument more than once. This causes unexpected side-effects for invocations that include increment operators, i.e. get_user(foo, bar++). This patch also removes the distinction between MMU and noMMU put_user(). Without the patch: $ echo 1234567890 > /proc/sys/kernel/core_pattern $ cat /proc/sys/kernel/core_pattern 12345 Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
2010-04-01microblaze: uaccess: Sync strlen, strnlen, copy_to/from_userMichal Simek1-56/+32
Last sync. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: Unify __copy_tofrom_userMichal Simek1-38/+21
Move to generic location. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: Move functions to generic locationMichal Simek1-151/+61
noMMU and MMU use them. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: Fix put_user for noMMUMichal Simek1-22/+56
Here is small regression on dhrystone tests and I think that on all benchmarking tests. It is due to better checking mechanism in put_user macro Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: Fix get_user macro for noMMUMichal Simek1-23/+66
Use unified version. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: fix clear_user for noMMU kernelMichal Simek1-45/+36
Previous patches fixed only MMU version and this is the first patch for noMMU kernel Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: Fix strncpy_from_user functionMichal Simek1-3/+11
Generic implementation for noMMU and MMU version Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: fix copy_from_user macroMichal Simek1-9/+14
copy_from_user macro also use copy_tofrom_user function Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: copy_to_user unificationMichal Simek1-9/+16
noMMU and MMU kernel will use copy copy_tofrom_user asm implementation. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: sync put/get/clear_user macrosMichal Simek1-37/+69
Add macro description and resort. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: fix put_user and get_user macrosMichal Simek1-51/+49
Use FIXUP macros and resort them. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: fix __get_user_asm macroMichal Simek1-16/+17
It is used __FIXUP_SECTION and __EX_TABLE_SECTION macros. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: uaccess: fix clean user macroMichal Simek1-34/+55
This is the first patch which does uaccess unification. I choosed to do several patches to be able to use bisect in future if any fault happens. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: move noMMU __range_ok function to uaccess.hMichal Simek1-1/+6
The same noMMU and MMU functions should be placed in one file. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: Move exception_table_entry upwardMichal Simek1-16/+15
Just sort to be able remove whole block. Signed-off-by: Michal Simek <monstr@monstr.eu>
2010-04-01microblaze: Remove segment.hMichal Simek1-1/+29
I would like to use asm-generic uaccess.h where are segment macros defined. This is just first step. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-12-14microblaze: Simple __copy_tofrom_user for noMMUJohn Williams1-6/+6
This is first patch which clear part of uaccess.h. uaccess.h will be clear later. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-07-27microblaze: Fix put_user macro for 64bits argumentsMichal Simek1-1/+1
For 64bits arguments gcc caused that put_user macro works with wrong value because of optimalization. Adding volatile caused that gcc not optimized it. It is possible to use (as Blackfin do) two put_user macros with 32bits arguments but there is one more instruction which is due to duplication zero return value which is called put_user_asm macro. Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-05-26microblaze_mmu_v2: uaccess MMU updateMichal Simek1-52/+246
Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-05-21microblaze: remove bad_user_access_lengthArnd Bergmann1-4/+3
This function was actually causing harm, by hiding errors about invalid sized get_user/put_user accesses. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
2009-03-27microblaze_v8: uaccess filesMichal Simek1-0/+134
Reviewed-by: Ingo Molnar <mingo@elte.hu> Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> Acked-by: John Linn <john.linn@xilinx.com> Acked-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>