projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e71ec59
)
scatterlist: don't BUG when we can trivially return a proper error.
author
Nick Bowler
<
[email protected]
>
Tue, 18 Dec 2012 00:05:20 +0000
(16:05 -0800)
committer
Linus Torvalds
<
[email protected]
>
Tue, 18 Dec 2012 01:15:28 +0000
(17:15 -0800)
There is absolutely no reason to crash the kernel when we have a
perfectly good return value already available to use for conveying
failure status.
Let's return an error code instead of crashing the kernel: that sounds
like a much better plan.
[
[email protected]
: s/E2BIG/EINVAL/]
Signed-off-by: Nick Bowler <
[email protected]
>
Cc: Maxim Levitsky <
[email protected]
>
Cc: Tejun Heo <
[email protected]
>
Cc: Jens Axboe <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
lib/scatterlist.c
patch
|
blob
|
history
diff --git
a/lib/scatterlist.c
b/lib/scatterlist.c
index 3675452b23ca175b612489e362aa7274b75d96a5..7874b01e816e815466ccee3a08387b075503c72f 100644
(file)
--- a/
lib/scatterlist.c
+++ b/
lib/scatterlist.c
@@
-248,7
+248,8
@@
int __sg_alloc_table(struct sg_table *table, unsigned int nents,
unsigned int left;
#ifndef ARCH_HAS_SG_CHAIN
- BUG_ON(nents > max_ents);
+ if (WARN_ON_ONCE(nents > max_ents))
+ return -EINVAL;
#endif
memset(table, 0, sizeof(*table));