aboutsummaryrefslogtreecommitdiff
path: root/core/cpu.c
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-06-15 14:58:16 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-06-15 14:58:16 +1000
commitb74afe76de627523e1953d0f2ce2f5c34c58f0b5 (patch)
tree6c6b3b5ce22570b03e072ec55850a97a3f7f784d /core/cpu.c
parentb44ad627def7efa7d22c031fff6be1706edf8827 (diff)
downloadskiboot-b74afe76de627523e1953d0f2ce2f5c34c58f0b5.zip
skiboot-b74afe76de627523e1953d0f2ce2f5c34c58f0b5.tar.gz
skiboot-b74afe76de627523e1953d0f2ce2f5c34c58f0b5.tar.bz2
Move prlog(PR_TRACE) in cpu job to be before freeing CPU job
Use-after-free bug. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/cpu.c')
-rw-r--r--core/cpu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/cpu.c b/core/cpu.c
index 6812ff0..f087848 100644
--- a/core/cpu.c
+++ b/core/cpu.c
@@ -187,9 +187,9 @@ void cpu_process_jobs(void)
data = job->data;
no_return = job->no_return;
unlock(&cpu->job_lock);
+ prlog(PR_TRACE, "running job %s on %x\n", job->name, cpu->pir);
if (no_return)
free(job);
- prlog(PR_TRACE, "running job %s on %x\n", job->name, cpu->pir);
func(data);
lock(&cpu->job_lock);
if (!no_return) {