From 24d8170fa18e3bad9ef2fa1e100e34e93a6c1126 Mon Sep 17 00:00:00 2001 From: Marin Ramesa Date: Sat, 9 Nov 2013 05:29:01 +0100 Subject: Remove lint code --- kern/processor.c | 6 ------ 1 file changed, 6 deletions(-) (limited to 'kern/processor.c') diff --git a/kern/processor.c b/kern/processor.c index 19868609..55daf7fb 100644 --- a/kern/processor.c +++ b/kern/processor.c @@ -647,18 +647,12 @@ processor_set_create( processor_set_t *new_set, processor_set_t *new_name) { -#ifdef lint - host++; new_set++; new_name++; -#endif /* lint */ return KERN_FAILURE; } kern_return_t processor_set_destroy( processor_set_t pset) { -#ifdef lint - pset++; -#endif /* lint */ return KERN_FAILURE; } -- cgit v1.2.3 From 0bc878ba51a4b0d419ae2b33b4ca93863799532c Mon Sep 17 00:00:00 2001 From: Marin Ramesa Date: Tue, 12 Nov 2013 11:30:37 +0100 Subject: kern: remove register qualifiers * kern/processor.c: Remove register qualifiers. --- kern/processor.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) (limited to 'kern/processor.c') diff --git a/kern/processor.c b/kern/processor.c index 55daf7fb..0cb99742 100644 --- a/kern/processor.c +++ b/kern/processor.c @@ -77,7 +77,7 @@ void processor_init(processor_t, int); */ void pset_sys_bootstrap(void) { - register int i; + int i; pset_init(&default_pset); default_pset.empty = FALSE; @@ -109,8 +109,8 @@ void pset_sys_bootstrap(void) */ void pset_sys_init(void) { - register int i; - register processor_t processor; + int i; + processor_t processor; /* * Allocate the cache for processor sets. @@ -138,7 +138,7 @@ void pset_sys_init(void) */ void pset_init( - register processor_set_t pset) + processor_set_t pset) { int i; @@ -189,7 +189,7 @@ void pset_init( */ void processor_init( - register processor_t pr, + processor_t pr, int slot_num) { int i; @@ -414,14 +414,14 @@ void pset_reference( kern_return_t processor_info( - register processor_t processor, + processor_t processor, int flavor, host_t *host, processor_info_t info, natural_t *count) { - register int slot_num, state; - register processor_basic_info_t basic_info; + int slot_num, state; + processor_basic_info_t basic_info; if (processor == PROCESSOR_NULL) return KERN_INVALID_ARGUMENT; @@ -503,7 +503,7 @@ void quantum_set( processor_set_t pset) { #if NCPUS > 1 - register int i,ncpus; + int i, ncpus; ncpus = pset->processor_count; @@ -567,8 +567,8 @@ processor_set_create( kern_return_t processor_set_destroy( processor_set_t pset) { - register queue_entry_t elem; - register queue_head_t *list; + queue_entry_t elem; + queue_head_t *list; if (pset == PROCESSOR_SET_NULL || pset == &default_pset) return KERN_INVALID_ARGUMENT; @@ -686,7 +686,7 @@ processor_set_info( return KERN_INVALID_ARGUMENT; if (flavor == PROCESSOR_SET_BASIC_INFO) { - register processor_set_basic_info_t basic_info; + processor_set_basic_info_t basic_info; if (*count < PROCESSOR_SET_BASIC_INFO_COUNT) return KERN_FAILURE; @@ -706,7 +706,7 @@ processor_set_info( return KERN_SUCCESS; } else if (flavor == PROCESSOR_SET_SCHED_INFO) { - register processor_set_sched_info_t sched_info; + processor_set_sched_info_t sched_info; if (*count < PROCESSOR_SET_SCHED_INFO_COUNT) return KERN_FAILURE; @@ -751,8 +751,8 @@ processor_set_max_priority( pset->max_priority = max_priority; if (change_threads) { - register queue_head_t *list; - register thread_t thread; + queue_head_t *list; + thread_t thread; list = &pset->threads; queue_iterate(list, thread, thread_t, pset_threads) { @@ -822,8 +822,8 @@ processor_set_policy_disable( pset->policies &= ~policy; if (change_threads) { - register queue_head_t *list; - register thread_t thread; + queue_head_t *list; + thread_t thread; list = &pset->threads; queue_iterate(list, thread, thread_t, pset_threads) { -- cgit v1.2.3 From f7a65556ad6c395d5001bbc1a27b334715b40a85 Mon Sep 17 00:00:00 2001 From: Marin Ramesa Date: Fri, 29 Nov 2013 22:54:02 +0100 Subject: kern/processor.c: remove forward declarations * kern/processor.c (quantum_set, pset_init, processor_init): Remove forward declarations. * kern/processor.h (quantum_set, pset_init, processor_init): Add prototypes. --- kern/processor.c | 7 ------- kern/processor.h | 4 +++- 2 files changed, 3 insertions(+), 8 deletions(-) (limited to 'kern/processor.c') diff --git a/kern/processor.c b/kern/processor.c index 0cb99742..865c3247 100644 --- a/kern/processor.c +++ b/kern/processor.c @@ -65,13 +65,6 @@ decl_simple_lock_data(, all_psets_lock); processor_t master_processor; processor_t processor_ptr[NCPUS]; -/* - * Forward declarations. - */ -void quantum_set(processor_set_t); -void pset_init(processor_set_t); -void processor_init(processor_t, int); - /* * Bootstrap the processor/pset system so the scheduler can run. */ diff --git a/kern/processor.h b/kern/processor.h index 7bd29cfc..b81526c0 100644 --- a/kern/processor.h +++ b/kern/processor.h @@ -321,7 +321,9 @@ extern kern_return_t processor_set_threads( #endif void processor_doaction(processor_t processor); - void processor_doshutdown(processor_t processor); +void quantum_set(processor_set_t pset); +void pset_init(processor_set_t pset); +void processor_init(processor_t pr, int slot_num); #endif /* _KERN_PROCESSOR_H_ */ -- cgit v1.2.3 From 99a43d36c83d318f24edd8c6d80f060686a6c398 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Fri, 29 May 2015 14:44:39 +0200 Subject: kern: fix argument handling Previously, the processor argument was not checked. If called with a non-processor argument (like a task), `processor' is set to NULL, triggering a page fault. Likewise for the other functions. * kern/processor.c (processor_get_assignment): Fix argument handling. * kern/task.c (task_get_assignment): Likewise. * kern/thread.c (thread_get_assignment): Likewise. --- kern/processor.c | 2 ++ kern/task.c | 3 +++ kern/thread.c | 3 +++ 3 files changed, 8 insertions(+) (limited to 'kern/processor.c') diff --git a/kern/processor.c b/kern/processor.c index 865c3247..48e92731 100644 --- a/kern/processor.c +++ b/kern/processor.c @@ -657,6 +657,8 @@ processor_get_assignment( processor_set_t *pset) { int state; + if (processor == PROCESSOR_NULL) + return KERN_INVALID_ARGUMENT; state = processor->state; if (state == PROCESSOR_SHUTDOWN || state == PROCESSOR_OFF_LINE) diff --git a/kern/task.c b/kern/task.c index dcd53712..b384347f 100644 --- a/kern/task.c +++ b/kern/task.c @@ -1063,6 +1063,9 @@ kern_return_t task_get_assignment( task_t task, processor_set_t *pset) { + if (task == TASK_NULL) + return KERN_INVALID_ARGUMENT; + if (!task->active) return KERN_FAILURE; diff --git a/kern/thread.c b/kern/thread.c index f52c95b8..8b1e9f58 100644 --- a/kern/thread.c +++ b/kern/thread.c @@ -1974,6 +1974,9 @@ kern_return_t thread_get_assignment( thread_t thread, processor_set_t *pset) { + if (thread == THREAD_NULL) + return KERN_INVALID_ARGUMENT; + *pset = thread->processor_set; pset_reference(*pset); return KERN_SUCCESS; -- cgit v1.2.3