diff options
author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-07-17 02:15:36 +0200 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-07-18 23:53:28 +0200 |
commit | 9c9bdf4d50730fd04b06077e22d7a83b585f26b5 (patch) | |
tree | a7d78a732aa2502a4e43d5a5c56966b17b51a4c8 /drivers/firewire/fw-transaction.h | |
parent | 5d59a6f1ba90f15132d55d9d4d5a632f15a43d84 (diff) | |
download | op-kernel-dev-9c9bdf4d50730fd04b06077e22d7a83b585f26b5.zip op-kernel-dev-9c9bdf4d50730fd04b06077e22d7a83b585f26b5.tar.gz |
firewire: fix memory leak of fw_request instances
Found and debugged by Jay Fenlason <fenlason@redhat.com>.
The bug was especially noticeable with direct I/O over fw-sbp2.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Diffstat (limited to 'drivers/firewire/fw-transaction.h')
-rw-r--r-- | drivers/firewire/fw-transaction.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/firewire/fw-transaction.h b/drivers/firewire/fw-transaction.h index 5abed19..5ceaccd 100644 --- a/drivers/firewire/fw-transaction.h +++ b/drivers/firewire/fw-transaction.h @@ -123,6 +123,10 @@ typedef void (*fw_transaction_callback_t)(struct fw_card *card, int rcode, size_t length, void *callback_data); +/* + * Important note: The callback must guarantee that either fw_send_response() + * or kfree() is called on the @request. + */ typedef void (*fw_address_callback_t)(struct fw_card *card, struct fw_request *request, int tcode, int destination, int source, |