summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-03-10 21:01:08 +0100
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-03-24 20:56:50 +0100
commit207fbefb18de9bc6f871e4008da29879c90cb67e (patch)
treea1f24a4b814ee43ca3e8dffa290e3db84a68d5b9
parentfirewire: cdev: secure add_descriptor ioctl (diff)
downloadlinux-207fbefb18de9bc6f871e4008da29879c90cb67e.tar.xz
linux-207fbefb18de9bc6f871e4008da29879c90cb67e.zip
firewire: cdev: fix race of ioctl_send_request with bus reset
The bus reset handler concurrently frees client->device->node. Use device->node_id instead. This is equivalent to device->node->node_id while device->generation is current. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r--drivers/firewire/fw-cdev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/firewire/fw-cdev.c b/drivers/firewire/fw-cdev.c
index 160cb27e120c..c54e019c9586 100644
--- a/drivers/firewire/fw-cdev.c
+++ b/drivers/firewire/fw-cdev.c
@@ -585,7 +585,7 @@ static int ioctl_send_request(struct client *client, void *buffer)
return -EINVAL;
}
- return init_request(client, request, client->device->node->node_id,
+ return init_request(client, request, client->device->node_id,
client->device->max_speed);
}