dahdi-linux/drivers/dahdi
Shaun Ruffell bb5eeccef3 dahdi: Prevent memory corruption on device unload.
The channels now have embedded 'struct devices' that contain a device_private
pointer in which to store the device private data. When a device is
unregistered in the system the device privata data is freed by the device core,
even though the chan_release function doesn't free the memory
associated with the device, So when dev_set_drvdata() is called,
it's writing into freed memory.

We also need zero out the embedded struct device before registration,
since we do not have any guarantee that it points to valid memory (or, if a
channel was unregisterd with sysfs, and then reregistered without being cleared
out).  Otherwise the core could try to use the previously freed private
data again.

Signed-off-by: Shaun Ruffell <sruffell@digium.com>
Signed-off-by: Russ Meyerriecks <rmeyerriecks@digium.com>
2013-05-08 11:48:28 -05:00
..
datamods wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
firmware wctdm24xxp, wcte12xp: Allow VPMOCT032 firmware to be compiled into driver. 2012-04-02 13:58:11 +00:00
hpec Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
oct612x oct612x: Break the oct612x out into a separate library. 2013-05-06 15:42:33 -05:00
voicebus wcte12xp, wctdm24xxp, wct4xxp: Print warning about potential GPL violation w/HOTPLUG_FIRMWARE=no. 2012-04-05 20:32:37 +00:00
vpmadt032_loader Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
wcb4xxp wcb4xxp: Allocate memory in hfc_decode_st_state() with GFP_ATOMIC. 2013-01-23 16:14:07 -06:00
wct4xxp wct4xxp: Companding on VPM needs to be changed when switching linemodes. 2013-05-06 15:42:33 -05:00
wctc4xxp Remove Makefiles that are only needed on kernels < 2.6.9 2012-04-02 13:58:03 +00:00
wctdm24xxp wctdm24xxp: Eliminate chance for channel to be stuck in RED alarm. 2013-01-25 11:43:54 -06:00
wcte12xp wcte12xp: Fix stack corruption when checking T1 RBS states. 2012-07-11 16:13:22 +00:00
xpp xpp: FXO: new CID style -- passthrough 2013-03-28 21:06:47 +02:00
adt_lec.c wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
adt_lec.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
arith.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
biquad.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
dahdi_dummy.c dahdi_dummy: Include timer.h instead of time.h 2012-04-05 16:15:22 +00:00
dahdi_dynamic_eth.c Revert "dahdi_dynamic_eth: Move tx packet flushing to process context." 2012-12-11 10:27:56 -06:00
dahdi_dynamic_ethmf.c Remove support for kernels < 2.6.18 2012-03-13 20:09:12 +00:00
dahdi_dynamic_loc.c dahdi_dynamic_loc: Change and check the dyn->pvt pointer under lock. 2012-04-03 19:44:45 +00:00
dahdi_dynamic.c dahdi_dynamic: Use a tasklet for flushing dynamic drivers. 2012-12-11 10:27:56 -06:00
dahdi_echocan_jpah.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_kb1.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_mg2.c Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
dahdi_echocan_oslec.c code cleanup - refactor module_printk() 2012-02-09 15:24:40 +00:00
dahdi_echocan_sec2.c code cleanup: remove unused debug_printk() 2012-02-09 15:25:03 +00:00
dahdi_echocan_sec.c code cleanup: remove unused debug_printk() 2012-02-09 15:25:03 +00:00
dahdi_transcode.c 'dahdi_copy_string()' -> 'strlcpy()' 2011-01-03 18:26:29 +00:00
dahdi-base.c dahdi: Save the current maintstat in the span before calling into the drivers. 2013-05-06 15:42:33 -05:00
dahdi-sysfs-chan.c dahdi: Prevent memory corruption on device unload. 2013-05-08 11:48:28 -05:00
dahdi-sysfs.c sysfs: refactor lineconfig string representation 2012-05-23 12:36:42 +00:00
dahdi-sysfs.h Remove support for kernels < 2.6.18 2012-03-13 20:09:12 +00:00
dahdi-version.c dahdi: Do not rebuild dahdi-base.c when only updating the version. 2011-02-28 14:19:09 +00:00
dahdi.h Update Digium copyright on files changed since beginning of the year. 2012-03-21 18:56:05 +00:00
ecdis.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
fir.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
fxo_modes.h wctdm24xxp, wctdm: Reduce memory used by fxo_modes array. 2011-04-04 16:26:00 +00:00
Kbuild Kbuild: Fix OSLEC build error 2013-03-13 16:51:53 -05:00
Kconfig wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
makefw.c wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
pciradio.c dahdi: Register devices instead of individual spans. 2011-10-26 18:58:14 +00:00
pciradio.rbt wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
proslic.h wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
tor2-hw.h "struct pci_device_id[]" -> "DEFINE_PCI_DEVICE_TABLE" 2011-01-03 18:26:24 +00:00
tor2.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00
tormenta2.rbt wct4xxp: Moving the transmit short detection behind debug module param. 2010-08-27 21:59:27 +00:00
wcfxo.c dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device. 2011-10-26 19:00:28 +00:00
wct1xxp.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00
wctdm.c dahdi: Remove dahdi_span.irq and move dahdi_span.irqmisses into dahdi_device. 2011-10-26 19:00:28 +00:00
wcte11xp.c convert span->spantype to enumerated type 2012-05-23 12:20:23 +00:00