linux-stable/drivers/firewire
Stefan Richter e300839da4 firewire: core: add_descriptor size check
Presently, firewire-core only checks whether descriptors that are to be
added by userspace drivers to the local node's config ROM do not exceed
a size of 256 quadlets.  However, the sum of the bare minimum ROM plus
all descriptors (from firewire-core, from firewire-net, from userspace)
must not exceed 256 quadlets.

Otherwise, the bounds of a statically allocated buffer will be
overwritten.  If the kernel survives that, firewire-core will
subsequently be unable to parse the local node's config ROM.

(Note, userspace drivers can add descriptors only through device files
of local nodes.  These are usually only accessible by root, unlike
device files of remote nodes which may be accessible to lesser
privileged users.)

Therefore add a test which takes the actual present and required ROM
size into account for all descriptors of kernelspace and userspace
drivers.

Cc: stable@kernel.org
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2010-01-26 20:54:50 +01:00
..
core-card.c firewire: core: add_descriptor size check 2010-01-26 20:54:50 +01:00
core-cdev.c firewire: cdev: fix another memory leak in an error path 2009-12-29 19:58:16 +01:00
core-device.c driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
core-iso.c firewire: core: fix crash in iso resource management 2009-09-05 15:59:34 +02:00
core-topology.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
core-transaction.c firewire: fix use of multiple AV/C devices, allow multiple FCP listeners 2009-12-29 19:58:16 +01:00
core.h firewire: core: optimize Topology Map creation 2009-10-14 23:10:48 +02:00
Kconfig firewire, ieee1394: update Kconfig help 2009-12-29 19:58:17 +01:00
Makefile firewire: net: add Kconfig item, rename driver 2009-06-14 14:26:29 +02:00
net.c drivers: Kill now superfluous ->last_rx stores 2009-09-02 23:07:36 -07:00
ohci.c firewire: ohci: always use packet-per-buffer mode for isochronous reception 2009-12-29 19:58:17 +01:00
ohci.h firewire: reorganize header files 2009-06-05 16:26:18 +02:00
sbp2.c firewire: normalize style of queue_work wrappers 2009-10-14 23:10:48 +02:00