]> Git Repo - linux.git/commit
fix abuses of ptrdiff_t
authorAl Viro <[email protected]>
Mon, 29 Oct 2007 05:11:28 +0000 (05:11 +0000)
committerLinus Torvalds <[email protected]>
Mon, 29 Oct 2007 14:41:33 +0000 (07:41 -0700)
commit142956af525002c5378e7d91d81a01189841a785
treebcf73cc0e2d56d8d46d470fcedaadf42ae0602bd
parent0c7eb2eb800c4afb2205bbaa1bc633eb29082fef
fix abuses of ptrdiff_t

Use of ptrdiff_t in places like

-                       if (!access_ok(VERIFY_WRITE, u_tmp->rx_buf, u_tmp->len))
+                       if (!access_ok(VERIFY_WRITE, (u8 __user *)
+                                               (ptrdiff_t) u_tmp->rx_buf,
+                                               u_tmp->len))

is wrong; for one thing, it's a bad C (it's what uintptr_t is for; in general
we are not even promised that ptrdiff_t is large enough to hold a pointer,
just enough to hold a difference between two pointers within the same object).
For another, it confuses the fsck out of sparse.

Use unsigned long or uintptr_t instead.  There are several places misusing
ptrdiff_t; fixed.

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/scsi/aacraid/commctrl.c
drivers/scsi/aacraid/comminit.c
drivers/scsi/aacraid/dpcsup.c
drivers/spi/spidev.c
include/linux/types.h
This page took 0.06014 seconds and 4 git commands to generate.