Skip to contentSkip to conversation

fw-cdev __user annotations

PATCH In review Al Viro 2 participants 2 messages Oct 14, 2007 Firewire

lore
Share & tools
lore

Al Viro

author
#0 lore raw

PATCH 1/1 fw-cdev __user annotations

---
 drivers/firewire/fw-cdev.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
drivers/firewire/fw-cdev.c +3 -2
index 7538864..0647130 100644
@@ -722,10 +722,11 @@ static int ioctl_queue_iso(struct client *client, void *buffer)
 		buffer_end = 0;
 	}
 
-	if (!access_ok(VERIFY_READ, request->packets, request->size))
+	p = (struct fw_cdev_iso_packet __user *)u64_to_uptr(request->packets);
+
+	if (!access_ok(VERIFY_READ, p, request->size))
 		return -EFAULT;
 
-	p = (struct fw_cdev_iso_packet __user *)u64_to_uptr(request->packets);
 	end = (void __user *)p + request->size;
 	count = 0;
 	while (p < end) {
Signature · 1 line
1.5.3.GIT
Acked-by on v1 1/1
#1 lore raw
Quoted 6 lines · Al Viro
drivers/firewire/fw-cdev.c +0 -0
@@ -722,10 +722,11 @@ static int ioctl_queue_iso(struct client *client, void *buffer)
 		buffer_end = 0;
 	}
 

drivers/firewire/fw-cdev.c static int ioctl_queue_iso(struct client *client, void *buffer) · line 732

Quoted 10 lines
drivers/firewire/fw-cdev.c +3 -2
-	if (!access_ok(VERIFY_READ, request->packets, request->size))
+	p = (struct fw_cdev_iso_packet __user *)u64_to_uptr(request->packets);
+
+	if (!access_ok(VERIFY_READ, p, request->size))
 		return -EFAULT;
 
-	p = (struct fw_cdev_iso_packet __user *)u64_to_uptr(request->packets);
 	end = (void __user *)p + request->size;
 	count = 0;
 	while (p < end) {

I will enqueue it in case Linus doesn't pick it up before my next pull request.

Signature · 3 lines
Stefan Richter
-=====-=-=== =-=- -===-
http://arcgraph.de/sr/