linux-hardened/drivers/firewire
JiSheng Zhang f9543d0ab6 firewire: queue the right number of data
There will be 4 padding bytes in struct fw_cdev_event_response on some platforms
The member:__u32 data will point to these padding bytes. While queue the
response and data in complete_transaction in fw-cdev.c, it will queue like this:
|response(excluding padding bytes)|4 padding bytes|4 padding bytes|data.
It queue 4 extra bytes. That is to say it use "&response + sizeof(response)"
while other place of kernel and userspace library use "&response + offsetof
(typeof(response), data)". So it will lost the last 4 bytes of data. This patch
can fix it while not changing the struct definition.

Signed-off-by: JiSheng Zhang <jszhang3@mail.ustc.edu.cn>

This fixes responses to outbound block read requests on 64bit architectures.
Tested on i686, x86-64, and x86-64 with i686 userland, using firecontrol and
gscanbus.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
2008-07-20 15:25:03 +02:00
..
fw-card.c firewire: warn on unfinished transactions during card removal 2008-07-14 13:06:04 +02:00
fw-cdev.c firewire: queue the right number of data 2008-07-20 15:25:03 +02:00
fw-device.c firewire: clean up fw_card reference counting 2008-07-14 13:06:03 +02:00
fw-device.h firewire: remove unused struct members 2008-07-14 13:06:03 +02:00
fw-iso.c firewire: cleanups 2008-04-18 17:55:37 +02:00
fw-ohci.c firewire: remove unused struct members 2008-07-14 13:06:03 +02:00
fw-ohci.h firewire: fw-ohci: log regAccessFail events 2008-04-18 17:55:34 +02:00
fw-sbp2.c firewire: fw-sbp2: fix parsing of logical unit directories 2008-06-27 20:55:00 +02:00
fw-topology.c firewire: fix race of bus reset with request transmission 2008-07-14 13:06:04 +02:00
fw-topology.h firewire: reread config ROM when device reset the bus 2008-04-18 17:55:36 +02:00
fw-transaction.c firewire: small fw_fill_request cleanup 2008-07-14 13:06:04 +02:00
fw-transaction.h firewire: clean up fw_card reference counting 2008-07-14 13:06:03 +02:00
Kconfig firewire: Kconfig menu touch-up 2008-06-19 00:12:35 +02:00
Makefile firewire: prefix modules with firewire- instead of fw- 2007-05-27 23:21:01 +02:00