diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2010-02-25 19:33:22 -0500 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-29 17:27:19 -0400 |
commit | 8815090d72fe0fe8f5f67e3bcc8fbe7a5ad1704d (patch) | |
tree | f28458e6acf755353d2109991d656483323d7c65 | |
parent | 8ad3e04b815e44d084b855cfa3dcda260cdf56ae (diff) |
Bugfix: make fdso syscalls 64bit clean
This fixes a bug found by liblitmus's regression test suite.
Before:
> ** LITMUS^RT test suite.
> ** Running tests for LINUX.
> ** Testing: don't open FMLP semaphores if FMLP is not supported...
> !! TEST FAILURE open_fmlp_sem(fd, 0) -> -16, Success (expected: EBUSY)
> at tests/fdso.c:21 (test_fmlp_not_active)
> ** Testing: reject invalid object descriptors... ok.
> ** Testing: reject invalid object types...
> !! TEST FAILURE od_open(0, -1, 0) -> -22, Bad file descriptor (expected: EINVAL)
> at tests/fdso.c:51 (test_invalid_obj_type)
> ** Testing: reject invalid rt_task pointers... ok.
> ** Result: 2 ok, 2 failed.
After:
> ** LITMUS^RT test suite.
> ** Running tests for LINUX.
> ** Testing: don't open FMLP semaphores if FMLP is not supported... ok.
> ** Testing: reject invalid object descriptors... ok.
> ** Testing: reject invalid object types... ok.
> ** Testing: reject invalid rt_task pointers... ok.
> ** Result: 4 ok, 0 failed.
-rw-r--r-- | litmus/fdso.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/litmus/fdso.c b/litmus/fdso.c index 7a16f640715c..85be716941d8 100644 --- a/litmus/fdso.c +++ b/litmus/fdso.c | |||
@@ -223,7 +223,7 @@ struct od_table_entry* __od_lookup(int od) | |||
223 | } | 223 | } |
224 | 224 | ||
225 | 225 | ||
226 | asmlinkage int sys_od_open(int fd, int type, int obj_id, void* __user config) | 226 | asmlinkage long sys_od_open(int fd, int type, int obj_id, void* __user config) |
227 | { | 227 | { |
228 | int ret = 0; | 228 | int ret = 0; |
229 | struct file* file; | 229 | struct file* file; |
@@ -259,7 +259,7 @@ out: | |||
259 | } | 259 | } |
260 | 260 | ||
261 | 261 | ||
262 | asmlinkage int sys_od_close(int od) | 262 | asmlinkage long sys_od_close(int od) |
263 | { | 263 | { |
264 | int ret = -EINVAL; | 264 | int ret = -EINVAL; |
265 | struct task_struct *t = current; | 265 | struct task_struct *t = current; |