alistair23-linux/drivers/firewire
Stefan Richter 928ec5f148 firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow)
The selfIDSize field of Self ID Count is 9 bits wide, and we are only
interested in the high 8 bits.  Fix the mask accordingly.  The
previously too large mask didn't do damage though because the next few
bits in the register are reserved and therefore zero with presently
existing hardware.

Also, check for the maximum possible self ID count of 252 (according to
OHCI 1.1 clause 11.2 and IEEE 1394a-2000 clause 4.3.4.1, i.e. up to four
self IDs of up to 63 nodes, even though IEEE 1394 up to edition 2008
defines only up to three self IDs per node).  More than 252 self IDs
would only happen if the self ID receive DMA unit malfunctioned, which
would likely be caught by other self ID buffer checks.  However, check
it early to be sure.  More than 253 quadlets would overflow the Topology
Map CSR.

Reported-By: PaX Team
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2009-09-12 14:48:40 +02:00
..
core-card.c firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
core-cdev.c firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
core-device.c firewire: core: don't update Broadcast_Channel if RFC 2734 conditions aren't met 2009-06-14 11:57:06 +02:00
core-iso.c firewire: core: fix crash in iso resource management 2009-09-05 15:59:34 +02:00
core-topology.c firewire: rename source files 2009-06-05 16:26:18 +02:00
core-transaction.c firewire: core: use more outbound tlabels 2009-06-14 14:23:42 +02:00
core.h firewire: core: do not DMA-map stack addresses 2009-06-25 19:42:36 +02:00
Kconfig firewire: new stack is no longer experimental 2009-06-21 10:53:26 +02:00
Makefile firewire: net: add Kconfig item, rename driver 2009-06-14 14:26:29 +02:00
net.c firewire: net: better FIFO address range check and rcodes 2009-06-16 22:48:09 +02:00
ohci.c firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow) 2009-09-12 14:48:40 +02:00
ohci.h firewire: reorganize header files 2009-06-05 16:26:18 +02:00
sbp2.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-09-05 14:59:00 -07:00