diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-01-29 15:50:52 -0500 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-02-01 16:53:21 -0500 |
commit | 7f0bd4c213ff8dca0eb3bdd887f5c62c8d30fab5 (patch) | |
tree | 99b45b5466dc27308e6d65751baf5e109eb37385 /litmus/sched_psn_edf.c | |
parent | fab768a4cdc49ad7886cac0d0361f8432965a817 (diff) |
fdso: pass userpsace config argument to object constructor
As Glenn pointed out, it is useful for some protocols (e.g.,
k-exclusion protocols) to know the userspace configuration at object
creation time. This patch changes the fdso API to pass the parameter
to the object constructor, which is then in turn passed to the lock
allocater. The return code from the lock allocater is passed to
userspace in return.
This also fixes some null pointer dereferences in the FDSO code found
by the test suite in liblitmus.
Diffstat (limited to 'litmus/sched_psn_edf.c')
-rw-r--r-- | litmus/sched_psn_edf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/litmus/sched_psn_edf.c b/litmus/sched_psn_edf.c index 801bc92c5835..abb06fa53e3a 100644 --- a/litmus/sched_psn_edf.c +++ b/litmus/sched_psn_edf.c | |||
@@ -547,7 +547,8 @@ static struct litmus_lock* psnedf_new_fmlp(void) | |||
547 | /* **** lock constructor **** */ | 547 | /* **** lock constructor **** */ |
548 | 548 | ||
549 | 549 | ||
550 | static long psnedf_allocate_lock(struct litmus_lock **lock, int type) | 550 | static long psnedf_allocate_lock(struct litmus_lock **lock, int type, |
551 | void* __user unused) | ||
551 | { | 552 | { |
552 | int err = -ENXIO; | 553 | int err = -ENXIO; |
553 | struct srp_semaphore* srp; | 554 | struct srp_semaphore* srp; |