acrn-kernel/lib
Reinette Chatre 01a3ee2b20 [PATCH] bitmap: parse input from kernel and user buffers
lib/bitmap.c:bitmap_parse() is a library function that received as input a
user buffer.  This seemed to have originated from the way the write_proc
function of the /proc filesystem operates.

This has been reworked to not use kmalloc and eliminates a lot of
get_user() overhead by performing one access_ok before using __get_user().

We need to test if we are in kernel or user space (is_user) and access the
buffer differently.  We cannot use __get_user() to access kernel addresses
in all cases, for example in architectures with separate address space for
kernel and user.

This function will be useful for other uses as well; for example, taking
input for /sysfs instead of /proc, so it was changed to accept kernel
buffers.  We have this use for the Linux UWB project, as part as the
upcoming bandwidth allocator code.

Only a few routines used this function and they were changed too.

Signed-off-by: Reinette Chatre <reinette.chatre@linux.intel.com>
Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Cc: Paul Jackson <pj@sgi.com>
Cc: Joe Korty <joe.korty@ccur.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-11 11:14:22 -07:00
..
reed_solomon fix file specification in comments 2006-10-03 23:01:26 +02:00
zlib_deflate
zlib_inflate [PATCH] Fix ppc32 zImage inflate 2006-07-31 13:28:37 -07:00
.gitignore
Kconfig [PATCH] syscall class hookup for all normal targets 2006-09-12 03:04:40 -04:00
Kconfig.debug [PATCH] Add CONFIG_HEADERS_CHECK option to automatically run 'make headers_check' 2006-10-11 11:14:21 -07:00
Makefile [PATCH] Add carta_random32() library routine 2006-10-11 11:14:21 -07:00
audit.c [PATCH] fix missing ifdefs in syscall classes hookup for generic targets 2006-09-22 17:48:56 -07:00
bitmap.c [PATCH] bitmap: parse input from kernel and user buffers 2006-10-11 11:14:22 -07:00
bust_spinlocks.c
carta_random32.c [PATCH] Add carta_random32() library routine 2006-10-11 11:14:21 -07:00
cmdline.c
cpumask.c [PATCH] cpumask: add highest_possible_node_id 2006-10-02 07:57:17 -07:00
crc-ccitt.c
crc16.c
crc32.c
crc32defs.h
ctype.c
debug_locks.c [PATCH] lockdep: better lock debugging 2006-07-03 15:27:01 -07:00
dec_and_lock.c
div64.c
dump_stack.c
extable.c
find_next_bit.c
gen_crc32table.c
genalloc.c [PATCH] make genpool allocator adhere to kernel-doc standards 2006-10-02 07:57:12 -07:00
halfmd4.c
hweight.c [PATCH] optimize hweight64 for x86_64 2006-09-26 10:52:38 +02:00
idr.c [PATCH] Convert idr's internal locking to _irqsave variant 2006-07-14 21:53:54 -07:00
inflate.c
int_sqrt.c
iomap.c
iomap_copy.c
ioremap.c [PATCH] Generic ioremap_page_range: flush_cache_vmap 2006-10-01 00:39:31 -07:00
irq_regs.c [PATCH] irq_reqs: export __irq_regs 2006-10-06 08:53:40 -07:00
kernel_lock.c [PATCH] lockdep: prove spinlock rwlock locking correctness 2006-07-03 15:27:04 -07:00
klist.c Driver core: Don't call put methods while holding a spinlock 2006-09-25 21:08:40 -07:00
kobject.c kobject: must_check fixes 2006-09-25 21:08:39 -07:00
kobject_uevent.c PCI: docking station: remove dock uevents 2006-08-03 13:20:06 -07:00
kref.c
libcrc32c.c
list_debug.c [PATCH] list_del-debug fix 2006-10-01 00:39:17 -07:00
locking-selftest-hardirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-mutex.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-rlock-hardirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-rlock-softirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-rlock.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-rsem.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-softirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-spin-hardirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-spin-softirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-spin.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-wlock-hardirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-wlock-softirq.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-wlock.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest-wsem.h [PATCH] lockdep: locking API self tests 2006-07-03 15:27:03 -07:00
locking-selftest.c [PATCH] lockdep: allow read_lock() recursion of same class 2006-07-03 15:27:04 -07:00
parser.c
percpu_counter.c
plist.c
prio_tree.c
radix-tree.c [PATCH] gfp annotations: radix_tree_root 2006-10-10 15:37:23 -07:00
rbtree.c [PATCH] rbtree: fixed reversed RB_EMPTY_NODE and rb_next/prev 2006-09-30 20:26:56 +02:00
rwsem-spinlock.c [PATCH] lockdep: prove rwsem locking correctness 2006-07-03 15:27:04 -07:00
rwsem.c [PATCH] lib/rwsem.c: un-inline rwsem_down_failed_common() 2006-09-29 09:18:22 -07:00
semaphore-sleepers.c
sha1.c
smp_processor_id.c
sort.c [PATCH] low performance of lib/sort.c 2006-10-03 08:03:41 -07:00
spinlock_debug.c [PATCH] spinlock_debug: don't recompute (jiffies_per_loop * HZ) in spinloop 2006-09-29 09:18:06 -07:00
string.c
swiotlb.c
textsearch.c
ts_bm.c [TEXTSEARCH]: Fix Boyer Moore initialization bug 2006-08-22 14:33:58 -07:00
ts_fsm.c [PATCH] lib/ts_fsm.c: constify structs 2006-09-29 09:18:23 -07:00
ts_kmp.c
vsprintf.c