aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-01-28 00:17:55 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2014-01-28 00:17:55 -0500
commit54c0a4b46150db1571d955d598cd342c9f1d9657 (patch)
treefb5968daa68092779e7db3eb1ccd96829783dfc3 /lib
parent1b17366d695c8ab03f98d0155357e97a427e1dce (diff)
parentc2218e26c0d03c368fff825a6f15b7bb3418dbde (diff)
Merge branch 'akpm' (incoming from Andrew)
Merge misc updates from Andrew Morton: - a few hotfixes - dynamic-debug updates - ipc updates - various other sweepings off the factory floor * akpm: (31 commits) firmware/google: drop 'select EFI' to avoid recursive dependency compat: fix sys_fanotify_mark checkpatch.pl: check for function declarations without arguments mm/migrate.c: fix setting of cpupid on page migration twice against normal page softirq: use const char * const for softirq_to_name, whitespace neatening softirq: convert printks to pr_<level> softirq: use ffs() in __do_softirq() kernel/kexec.c: use vscnprintf() instead of vsnprintf() in vmcoreinfo_append_str() splice: fix unexpected size truncation ipc: fix compat msgrcv with negative msgtyp ipc,msg: document barriers ipc: delete seq_max field in struct ipc_ids ipc: simplify sysvipc_proc_open() return ipc: remove useless return statement ipc: remove braces for single statements ipc: standardize code comments ipc: whitespace cleanup ipc: change kern_ipc_perm.deleted type to bool ipc: introduce ipc_valid_object() helper to sort out IPC_RMID races ipc/sem.c: avoid overflow of semop undo (semadj) value ...
Diffstat (limited to 'lib')
-rw-r--r--lib/dynamic_debug.c14
-rw-r--r--lib/swiotlb.c4
2 files changed, 8 insertions, 10 deletions
diff --git a/lib/dynamic_debug.c b/lib/dynamic_debug.c
index 600ac57e2777..7288e38e1757 100644
--- a/lib/dynamic_debug.c
+++ b/lib/dynamic_debug.c
@@ -268,14 +268,12 @@ static int ddebug_tokenize(char *buf, char *words[], int maxwords)
268 */ 268 */
269static inline int parse_lineno(const char *str, unsigned int *val) 269static inline int parse_lineno(const char *str, unsigned int *val)
270{ 270{
271 char *end = NULL;
272 BUG_ON(str == NULL); 271 BUG_ON(str == NULL);
273 if (*str == '\0') { 272 if (*str == '\0') {
274 *val = 0; 273 *val = 0;
275 return 0; 274 return 0;
276 } 275 }
277 *val = simple_strtoul(str, &end, 10); 276 if (kstrtouint(str, 10, val) < 0) {
278 if (end == NULL || end == str || *end != '\0') {
279 pr_err("bad line-number: %s\n", str); 277 pr_err("bad line-number: %s\n", str);
280 return -EINVAL; 278 return -EINVAL;
281 } 279 }
@@ -348,14 +346,14 @@ static int ddebug_parse_query(char *words[], int nwords,
348 } 346 }
349 if (last) 347 if (last)
350 *last++ = '\0'; 348 *last++ = '\0';
351 if (parse_lineno(first, &query->first_lineno) < 0) { 349 if (parse_lineno(first, &query->first_lineno) < 0)
352 pr_err("line-number is <0\n");
353 return -EINVAL; 350 return -EINVAL;
354 }
355 if (last) { 351 if (last) {
356 /* range <first>-<last> */ 352 /* range <first>-<last> */
357 if (parse_lineno(last, &query->last_lineno) 353 if (parse_lineno(last, &query->last_lineno) < 0)
358 < query->first_lineno) { 354 return -EINVAL;
355
356 if (query->last_lineno < query->first_lineno) {
359 pr_err("last-line:%d < 1st-line:%d\n", 357 pr_err("last-line:%d < 1st-line:%d\n",
360 query->last_lineno, 358 query->last_lineno,
361 query->first_lineno); 359 query->first_lineno);
diff --git a/lib/swiotlb.c b/lib/swiotlb.c
index 2e1c102759ce..b604b831f4d1 100644
--- a/lib/swiotlb.c
+++ b/lib/swiotlb.c
@@ -172,7 +172,7 @@ int __init swiotlb_init_with_tbl(char *tlb, unsigned long nslabs, int verbose)
172 /* 172 /*
173 * Get the overflow emergency buffer 173 * Get the overflow emergency buffer
174 */ 174 */
175 v_overflow_buffer = memblock_virt_alloc_nopanic( 175 v_overflow_buffer = memblock_virt_alloc_low_nopanic(
176 PAGE_ALIGN(io_tlb_overflow), 176 PAGE_ALIGN(io_tlb_overflow),
177 PAGE_SIZE); 177 PAGE_SIZE);
178 if (!v_overflow_buffer) 178 if (!v_overflow_buffer)
@@ -220,7 +220,7 @@ swiotlb_init(int verbose)
220 bytes = io_tlb_nslabs << IO_TLB_SHIFT; 220 bytes = io_tlb_nslabs << IO_TLB_SHIFT;
221 221
222 /* Get IO TLB memory from the low pages */ 222 /* Get IO TLB memory from the low pages */
223 vstart = memblock_virt_alloc_nopanic(PAGE_ALIGN(bytes), PAGE_SIZE); 223 vstart = memblock_virt_alloc_low_nopanic(PAGE_ALIGN(bytes), PAGE_SIZE);
224 if (vstart && !swiotlb_init_with_tbl(vstart, io_tlb_nslabs, verbose)) 224 if (vstart && !swiotlb_init_with_tbl(vstart, io_tlb_nslabs, verbose))
225 return; 225 return;
226 226