Alexey Dobriyan
33ee3b2e2e
kstrto*: converting strings to integers done (hopefully) right
...
1. simple_strto*() do not contain overflow checks and crufty,
libc way to indicate failure.
2. strict_strto*() also do not have overflow checks but the name and
comments pretend they do.
3. Both families have only "long long" and "long" variants,
but users want strtou8()
4. Both "simple" and "strict" prefixes are wrong:
Simple doesn't exactly say what's so simple, strict should not exist
because conversion should be strict by default.
The solution is to use "k" prefix and add convertors for more types.
Enter
kstrtoull()
kstrtoll()
kstrtoul()
kstrtol()
kstrtouint()
kstrtoint()
kstrtou64()
kstrtos64()
kstrtou32()
kstrtos32()
kstrtou16()
kstrtos16()
kstrtou8()
kstrtos8()
Include runtime testsuite (somewhat incomplete) as well.
strict_strto*() become deprecated, stubbed to kstrto*() and
eventually will be removed altogether.
Use kstrto*() in code today!
Note: on some archs _kstrtoul() and _kstrtol() are left in tree, even if
they'll be unused at runtime. This is temporarily solution,
because I don't want to hardcode list of archs where these
functions aren't needed. Current solution with sizeof() and
__alignof__ at least always works.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-22 17:44:14 -07:00
..
lzo
lib: add support for LZO-compressed kernels
2010-01-11 09:34:04 -08:00
raid6
Move .gitignore from drivers/md to lib/raid6
2010-08-30 17:35:52 +10:00
reed_solomon
xz
kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT
2011-01-20 17:02:05 -08:00
zlib_deflate
trivial: fix typo "to to" in multiple files
2009-09-21 15:14:55 +02:00
zlib_inflate
inflate_fast: sout is already a short so ptr arith was off by one.
2010-03-12 15:52:44 -08:00
.gitignore
argv_split.c
tree-wide: convert open calls to remove spaces to skip_spaces() lib function
2009-12-15 08:53:32 -08:00
atomic64.c
lib: Fix atomic64_add_unless return value convention
2010-03-01 11:38:46 -08:00
atomic64_test.c
ARM: 6213/1: atomic64_test: add ARM as supported architecture
2010-07-27 10:43:46 +01:00
audit.c
average.c
lib: Improve EWMA efficiency by using bitshifts
2010-12-06 15:58:43 -05:00
bcd.c
bitmap.c
lib/bitmap.c: use hex_to_bin()
2010-10-26 16:52:18 -07:00
bitrev.c
btree.c
lib/btree: fix possible NULL pointer dereference
2010-05-15 12:48:10 -07:00
bug.c
modules: Fix module_bug_list list corruption race
2010-10-05 11:29:27 -07:00
bust_spinlocks.c
check_signature.c
checksum.c
lib/checksum: fix one more thinko
2009-11-03 16:06:53 +01:00
cmdline.c
cpu-notifier-error-inject.c
fault-injection: add CPU notifier error injection module
2010-05-27 09:12:48 -07:00
cpu_rmap.c
lib: cpu_rmap: CPU affinity reverse-mapping
2011-01-24 14:51:56 -08:00
cpumask.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc7.c
crc16.c
crc32.c
revert "crc32: use __BYTE_ORDER macro for endian detection"
2010-05-26 08:19:23 -07:00
crc32defs.h
ctype.c
ctype: constify read-only _ctype string
2009-12-15 08:53:32 -08:00
debug_locks.c
Revert "debug_locks: set oops_in_progress if we will log messages."
2010-11-29 15:18:28 -08:00
debugobjects.c
debugobjects: Add hint for better object identification
2011-03-08 16:10:38 +01:00
dec_and_lock.c
decompress.c
decompressors: add boot-time XZ support
2011-01-13 08:03:25 -08:00
decompress_bunzip2.c
Decompressors: include <linux/slab.h> in <linux/decompress/mm.h>
2011-01-13 08:03:23 -08:00
decompress_inflate.c
decompressors: check input size in decompress_inflate.c
2011-01-13 08:03:25 -08:00
decompress_unlzma.c
Decompressors: validate match distance in decompress_unlzma.c
2011-01-13 08:03:24 -08:00
decompress_unlzo.c
Decompressors: fix callback-to-callback mode in decompress_unlzo.c
2011-01-13 08:03:24 -08:00
decompress_unxz.c
decompressors: add boot-time XZ support
2011-01-13 08:03:25 -08:00
devres.c
lib/devres.c: fix comment typo
2010-07-11 22:16:32 +02:00
div64.c
div64_u64(): improve precision on 32bit platforms
2010-10-26 16:52:19 -07:00
dma-debug.c
llseek: automatically add .llseek fop
2010-10-15 15:53:27 +02:00
dump_stack.c
dynamic_debug.c
dynamic_debug: add #include <linux/sched.h>
2011-02-03 15:59:58 -08:00
extable.c
fault-inject.c
headers: remove sched.h from interrupt.h
2009-10-11 11:20:58 -07:00
find_last_bit.c
find_next_bit.c
flex_array.c
flex_array: export symbols to modules
2011-01-13 08:03:11 -08:00
gcd.c
gen_crc32table.c
crc32: major optimization
2010-05-25 08:07:06 -07:00
genalloc.c
genalloc: fix allocation from end of pool
2010-06-29 15:29:30 -07:00
halfmd4.c
hexdump.c
include/linux/printk.h lib/hexdump.c: neatening and add CONFIG_PRINTK guard
2011-01-13 08:03:10 -08:00
hweight.c
x86: Add optimized popcnt variants
2010-04-06 15:52:11 -07:00
idr.c
docbook: add idr/ida to kernel-api docbook
2010-10-26 17:40:56 -07:00
inflate.c
MN10300: Don't try and #include <linux/slab.h> in lib/inflate.c from bootloader
2010-08-12 09:51:35 -07:00
int_sqrt.c
iomap.c
iomap_copy.c
iommu-helper.c
iommu: inline iommu_num_pages
2010-08-09 20:45:05 -07:00
ioremap.c
ACPI, APEI, Generic Hardware Error Source POLL/IRQ/NMI notification type support
2011-01-12 03:06:19 -05:00
irq_regs.c
is_single_threaded.c
kernel: is_current_single_threaded: don't use ->mmap_sem
2009-07-17 09:11:31 +10:00
kasprintf.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
Kconfig
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
2011-03-11 14:11:11 -05:00
Kconfig.debug
kstrto*: converting strings to integers done (hopefully) right
2011-03-22 17:44:14 -07:00
Kconfig.kgdb
mips,kgdb: kdb low level trap catch and stack trace
2010-05-20 21:04:26 -05:00
Kconfig.kmemcheck
kmemcheck: depend on HAVE_ARCH_KMEMCHECK
2009-07-01 22:28:44 +02:00
klist.c
kobject.c
kobject: Introduce kset_find_obj_hinted.
2010-10-22 10:16:44 -07:00
kobject_uevent.c
kobject_uevent: fix typo in comments
2010-08-23 18:12:46 -07:00
kref.c
kref: Add a kref_sub function
2010-11-22 13:25:13 +10:00
kstrtox.c
kstrto*: converting strings to integers done (hopefully) right
2011-03-22 17:44:14 -07:00
lcm.c
block: Fix overrun in lcm() and move it to lib
2010-03-15 12:47:59 +01:00
libcrc32c.c
list_debug.c
Expand CONFIG_DEBUG_LIST to several other list operations
2011-02-18 11:32:28 -08:00
list_sort.c
lib/list_sort: test: check element addresses
2010-10-26 16:52:19 -07:00
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c
lru_cache.c
The DRBD driver
2009-10-01 21:17:49 +02:00
Makefile
kstrto*: converting strings to integers done (hopefully) right
2011-03-22 17:44:14 -07:00
nlattr.c
net: fix nla_policy_len to actually _iterate_ over the policy
2011-02-28 12:38:25 -08:00
parser.c
lib/parser: cleanup match_number()
2010-10-26 16:52:19 -07:00
percpu_counter.c
percpucounter: Optimize __percpu_counter_add a bit through the use of this_cpu() options.
2010-12-17 15:07:18 +01:00
plist.c
plist: Add priority list test
2011-03-11 15:14:48 -05:00
prio_heap.c
prio_tree.c
proportions.c
radix-tree.c
radix_tree: radix_tree_gang_lookup_tag_slot() may never return
2011-01-26 10:50:04 +10:00
random32.c
Merge branch 'master' into for-next
2010-06-16 18:08:13 +02:00
ratelimit.c
ratelimit: fix the return value when __ratelimit() fails to acquire the lock
2010-04-07 08:38:04 -07:00
rational.c
lib/rational.c needs module.h
2010-01-11 09:34:05 -08:00
rbtree.c
Export the augmented rbtree helper functions
2011-01-28 12:16:59 +10:00
reciprocal_div.c
rwsem-spinlock.c
rwsem generic spinlock: use IRQ save/restore spinlocks
2010-04-07 16:15:05 -07:00
rwsem.c
rwsem: Remove redundant asmregparm annotation
2011-01-27 12:30:40 +01:00
scatterlist.c
scatterlist: prevent invalid free when alloc fails
2010-08-30 19:55:09 +02:00
sha1.c
show_mem.c
oom: suppress nodes that are not allowed from meminfo on oom kill
2011-03-22 17:44:01 -07:00
smp_processor_id.c
sort.c
spinlock_debug.c
locking: Further name space cleanups
2009-12-14 23:55:33 +01:00
string.c
lib/string.c: simplify strnstr()
2010-03-06 11:26:35 -08:00
string_helpers.c
swiotlb.c
swiotlb: fix wrong panic
2011-02-25 15:07:36 -08:00
syscall.c
test-kstrtox.c
kstrto*: converting strings to integers done (hopefully) right
2011-03-22 17:44:14 -07:00
textsearch.c
textsearch: doc - fix spelling in lib/textsearch.c.
2011-01-24 23:33:30 -08:00
timerqueue.c
timerqueue: Make timerqueue_getnext() static inline
2010-12-11 12:34:34 +01:00
ts_bm.c
ts_fsm.c
ts_kmp.c
uuid.c
Unified UUID/GUID definition
2010-05-19 22:40:47 -04:00
vsprintf.c
kstrto*: converting strings to integers done (hopefully) right
2011-03-22 17:44:14 -07:00