diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Kconfig.debug | 2 | ||||
| -rw-r--r-- | lib/Makefile | 2 | ||||
| -rw-r--r-- | lib/idr.c | 4 | ||||
| -rw-r--r-- | lib/kasprintf.c | 44 | ||||
| -rw-r--r-- | lib/lzo/lzo1x_compress.c | 6 | ||||
| -rw-r--r-- | lib/vsprintf.c | 35 |
6 files changed, 51 insertions, 42 deletions
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index f3e0c2abcbd..50a94eee4d9 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -349,7 +349,7 @@ config DEBUG_HIGHMEM config DEBUG_BUGVERBOSE bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED depends on BUG - depends on ARM || ARM26 || AVR32 || M32R || M68K || SPARC32 || SPARC64 || FRV || SUPERH || GENERIC_BUG || BFIN + depends on ARM || AVR32 || M32R || M68K || SPARC32 || SPARC64 || FRV || SUPERH || GENERIC_BUG || BFIN default !EMBEDDED help Say Y here to make BUG() panics output the file name and line number diff --git a/lib/Makefile b/lib/Makefile index 61496638740..d9e5f1cd0bf 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -2,7 +2,7 @@ # Makefile for some libs needed in the kernel. # -lib-y := ctype.o string.o vsprintf.o cmdline.o \ +lib-y := ctype.o string.o vsprintf.o kasprintf.o cmdline.o \ rbtree.o radix-tree.o dump_stack.o \ idr.o int_sqrt.o bitmap.o extable.o prio_tree.o \ sha1.o irq_regs.o reciprocal_div.o argv_split.o diff --git a/lib/idr.c b/lib/idr.c index ffd61941e75..d0f1acdbfa3 100644 --- a/lib/idr.c +++ b/lib/idr.c @@ -405,7 +405,7 @@ EXPORT_SYMBOL(idr_remove); */ void idr_remove_all(struct idr *idp) { - int n, id, max, error = 0; + int n, id, max; struct idr_layer *p; struct idr_layer *pa[MAX_LEVEL]; struct idr_layer **paa = &pa[0]; @@ -415,7 +415,7 @@ void idr_remove_all(struct idr *idp) max = 1 << n; id = 0; - while (id < max && !error) { + while (id < max) { while (n > IDR_BITS && p) { n -= IDR_BITS; *paa++ = p; diff --git a/lib/kasprintf.c b/lib/kasprintf.c new file mode 100644 index 00000000000..c5ff1fd1003 --- /dev/null +++ b/lib/kasprintf.c @@ -0,0 +1,44 @@ +/* + * linux/lib/kasprintf.c + * + * Copyright (C) 1991, 1992 Linus Torvalds + */ + +#include <stdarg.h> +#include <linux/module.h> +#include <linux/types.h> +#include <linux/string.h> + +/* Simplified asprintf. */ +char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) +{ + unsigned int len; + char *p; + va_list aq; + + va_copy(aq, ap); + len = vsnprintf(NULL, 0, fmt, aq); + va_end(aq); + + p = kmalloc(len+1, gfp); + if (!p) + return NULL; + + vsnprintf(p, len+1, fmt, ap); + + return p; +} +EXPORT_SYMBOL(kvasprintf); + +char *kasprintf(gfp_t gfp, const char *fmt, ...) +{ + va_list ap; + char *p; + + va_start(ap, fmt); + p = kvasprintf(gfp, fmt, ap); + va_end(ap); + + return p; +} +EXPORT_SYMBOL(kasprintf); diff --git a/lib/lzo/lzo1x_compress.c b/lib/lzo/lzo1x_compress.c index c935f00073e..a6040990a62 100644 --- a/lib/lzo/lzo1x_compress.c +++ b/lib/lzo/lzo1x_compress.c @@ -32,13 +32,13 @@ _lzo1x_1_do_compress(const unsigned char *in, size_t in_len, ip += 4; for (;;) { - dindex = ((0x21 * DX3(ip, 5, 5, 6)) >> 5) & D_MASK; + dindex = ((size_t)(0x21 * DX3(ip, 5, 5, 6)) >> 5) & D_MASK; m_pos = dict[dindex]; if (m_pos < in) goto literal; - if (ip == m_pos || (ip - m_pos) > M4_MAX_OFFSET) + if (ip == m_pos || ((size_t)(ip - m_pos) > M4_MAX_OFFSET)) goto literal; m_off = ip - m_pos; @@ -51,7 +51,7 @@ _lzo1x_1_do_compress(const unsigned char *in, size_t in_len, if (m_pos < in) goto literal; - if (ip == m_pos || (ip - m_pos) > M4_MAX_OFFSET) + if (ip == m_pos || ((size_t)(ip - m_pos) > M4_MAX_OFFSET)) goto literal; m_off = ip - m_pos; diff --git a/lib/vsprintf.c b/lib/vsprintf.c index 6b6734df6d2..7b481cea54a 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -978,38 +978,3 @@ int sscanf(const char * buf, const char * fmt, ...) } EXPORT_SYMBOL(sscanf); - - -/* Simplified asprintf. */ -char *kvasprintf(gfp_t gfp, const char *fmt, va_list ap) -{ - unsigned int len; - char *p; - va_list aq; - - va_copy(aq, ap); - len = vsnprintf(NULL, 0, fmt, aq); - va_end(aq); - - p = kmalloc(len+1, gfp); - if (!p) - return NULL; - - vsnprintf(p, len+1, fmt, ap); - - return p; -} -EXPORT_SYMBOL(kvasprintf); - -char *kasprintf(gfp_t gfp, const char *fmt, ...) -{ - va_list ap; - char *p; - - va_start(ap, fmt); - p = kvasprintf(gfp, fmt, ap); - va_end(ap); - - return p; -} -EXPORT_SYMBOL(kasprintf); |
