Commit 77f00f6324cb97cf1df6f9c4aaeea6ada23abdb2
Committed by
David S. Miller
1 parent
ae9e63bb2c
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
isdnloop: fix and simplify isdnloop_init()
Fix a buffer overflow bug by removing the revision and printk. [ 22.016214] isdnloop-ISDN-driver Rev 1.11.6.7 [ 22.097508] isdnloop: (loop0) virtual card added [ 22.174400] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: ffffffff83244972 [ 22.174400] [ 22.436157] Pid: 1, comm: swapper Not tainted 3.5.0-bisect-00018-gfa8bbb1-dirty #129 [ 22.624071] Call Trace: [ 22.720558] [<ffffffff832448c3>] ? CallcNew+0x56/0x56 [ 22.815248] [<ffffffff8222b623>] panic+0x110/0x329 [ 22.914330] [<ffffffff83244972>] ? isdnloop_init+0xaf/0xb1 [ 23.014800] [<ffffffff832448c3>] ? CallcNew+0x56/0x56 [ 23.090763] [<ffffffff8108e24b>] __stack_chk_fail+0x2b/0x30 [ 23.185748] [<ffffffff83244972>] isdnloop_init+0xaf/0xb1 Signed-off-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 0 additions and 12 deletions Side-by-side Diff
drivers/isdn/isdnloop/isdnloop.c
... | ... | @@ -16,7 +16,6 @@ |
16 | 16 | #include <linux/sched.h> |
17 | 17 | #include "isdnloop.h" |
18 | 18 | |
19 | -static char *revision = "$Revision: 1.11.6.7 $"; | |
20 | 19 | static char *isdnloop_id = "loop0"; |
21 | 20 | |
22 | 21 | MODULE_DESCRIPTION("ISDN4Linux: Pseudo Driver that simulates an ISDN card"); |
... | ... | @@ -1494,17 +1493,6 @@ |
1494 | 1493 | static int __init |
1495 | 1494 | isdnloop_init(void) |
1496 | 1495 | { |
1497 | - char *p; | |
1498 | - char rev[10]; | |
1499 | - | |
1500 | - if ((p = strchr(revision, ':'))) { | |
1501 | - strcpy(rev, p + 1); | |
1502 | - p = strchr(rev, '$'); | |
1503 | - *p = 0; | |
1504 | - } else | |
1505 | - strcpy(rev, " ??? "); | |
1506 | - printk(KERN_NOTICE "isdnloop-ISDN-driver Rev%s\n", rev); | |
1507 | - | |
1508 | 1496 | if (isdnloop_id) |
1509 | 1497 | return (isdnloop_addcard(isdnloop_id)); |
1510 | 1498 |