linux/drivers/net/wan
Zefan Li 578a1310f2 dlci: validate the net device in dlci_del()
We triggered an oops while running trinity with 3.4 kernel:

BUG: unable to handle kernel paging request at 0000000100000d07
IP: [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
PGD 640c0d067 PUD 0
Oops: 0000 [#1] PREEMPT SMP
CPU 3
...
Pid: 7302, comm: trinity-child3 Not tainted 3.4.24.09+ 40 Huawei Technologies Co., Ltd. Tecal RH2285          /BC11BTSA
RIP: 0010:[<ffffffffa0109738>]  [<ffffffffa0109738>] dlci_ioctl+0xd8/0x2d4 [dlci]
...
Call Trace:
  [<ffffffff8137c5c3>] sock_ioctl+0x153/0x280
  [<ffffffff81195494>] do_vfs_ioctl+0xa4/0x5e0
  [<ffffffff8118354a>] ? fget_light+0x3ea/0x490
  [<ffffffff81195a1f>] sys_ioctl+0x4f/0x80
  [<ffffffff81478b69>] system_call_fastpath+0x16/0x1b
...

It's because the net device is not a dlci device.

Reported-by: Li Jinyue <lijinyue@huawei.com>
Signed-off-by: Li Zefan <lizefan@huawei.com>
Cc: stable@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-06-26 15:36:42 -07:00
..
lmc drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
.gitignore
c101.c drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
cosa.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2013-02-26 20:16:07 -08:00
cosa.h
dlci.c dlci: validate the net device in dlci_del() 2013-06-26 15:36:42 -07:00
dscc4.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
farsync.c wan: Remove unnecessary alloc/OOM messages 2013-02-04 13:22:34 -05:00
farsync.h
hd64570.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
hd64570.h
hd64572.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
hd64572.h
hdlc_cisco.c
hdlc_fr.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
hdlc_ppp.c net/wan/hdlc_ppp: use break in switch 2011-08-22 11:30:38 -07:00
hdlc_raw_eth.c net: replace random_ether_addr() with eth_hw_addr_random() 2012-02-15 15:34:16 -05:00
hdlc_raw.c
hdlc_x25.c wan: make LAPB callbacks const 2011-09-16 19:20:20 -04:00
hdlc.c wan: Remove unnecessary alloc/OOM messages 2013-02-04 13:22:34 -05:00
hostess_sv11.c
ixp4xx_hss.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-12-12 18:07:07 -08:00
Kconfig tty/serial patches for 3.9-rc1 2013-02-21 13:41:04 -08:00
lapbether.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
Makefile wanrouter: completely decouple obsolete code from kernel. 2013-01-31 19:20:33 -05:00
n2.c drivers/net: Remove unnecessary k.alloc/v.alloc OOM messages 2012-01-31 16:20:21 -05:00
pc300too.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
pci200syn.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
sbni.c module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00
sbni.h
sdla.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sealevel.c module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00
wanxl.c drivers/net: fix up function prototypes after __dev* removals 2012-12-07 14:22:22 -05:00
wanxl.h
wanxlfw.inc_shipped
wanxlfw.S Fix the wanxl firmware to include missing constants 2012-11-09 16:28:37 -05:00
x25_asy.c wan: Remove unnecessary alloc/OOM messages 2013-02-04 13:22:34 -05:00
x25_asy.h
z85230.c sections: fix section conflicts in drivers/net/wan 2012-10-06 03:04:43 +09:00
z85230.h