Wind River Support Network

HomeDefectsLIN4-4864
Fixed

LIN4-4864 : wrl 4.2 : p4080 kernel (preempt_rt) : non return code can cause kernel crashes

Created: Aug 18, 2011    Updated: May 18, 2015
Resolved Date: Oct 17, 2011
Found In Version: 4.2
Fix Version: 4.2,4.3
Severity: Severe
Applicable for: Wind River Linux 4
Component/s: BSP

Description

In wrl 4.2 with async P4080 BSP, we have a dangerous error in the kernel code in :

linux/arch/powerpc/mm/mmu_context_nohash.c (line 301 approx) : 

int init_new_context(struct task_struct *t, struct mm_struct *mm)
{
	paravirt_init_new_context(t, mm);
}

This will cause any value on the stack to be returned by that function, which can be zero or any other int. We need to return a proper error value. 

Steps to Reproduce

install wrl 4.2 + async BSPs 
-> .../configure --enable-board=fsl_p4080 --enable-kernel=preempt_rt --enable-rootfs=glibc_small --enable-jobs=2 

-> make -C build linux causes :

CC arch/powerpc/mm/tlb_nohash.o
/work/adietsch/ALU/workspace/p4080_42_test/build/linux/arch/powerpc/mm/mmu_context_nohash.c:
In function 'init_new_context':
/work/adietsch/ALU/workspace/p4080_42_test/build/linux/arch/powerpc/mm/mmu_context_nohash.c:301:

warning: control reaches end of non-void function 

Other Downloads


Live chat
Online