diff options
| author | Al Viro <[email protected]> | 2007-10-29 05:11:28 +0000 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2007-10-29 14:41:33 +0000 |
| commit | 142956af525002c5378e7d91d81a01189841a785 (patch) | |
| tree | bcf73cc0e2d56d8d46d470fcedaadf42ae0602bd /fs/proc/array.c | |
| parent | fix reentrancy bug in arcmsr_get_iop_{r,w}qbuffer() (diff) | |
| download | kernel-142956af525002c5378e7d91d81a01189841a785.tar.gz kernel-142956af525002c5378e7d91d81a01189841a785.zip | |
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]>
Diffstat (limited to 'fs/proc/array.c')
0 files changed, 0 insertions, 0 deletions
