[vserver] A bug about system call on ARM

From: Wang, Yalin <Yalin.Wang_at_sonymobile.com>
Date: Wed 29 May 2013 - 06:28:42 BST
Message-ID: <35FD53F367049845BC99AC72306C23D1610991B848@CNBJMBX05.corpusers.net>

Hi all,

I am a new comer to this mailing list ,
I am happy to join this community .

I have a bug reported from our android phones which is caused by the system call .
It seems like kernel bugs from my view .

Crash in file arch\arm\kernel\ entry-common.S

#if defined(CONFIG_OABI_COMPAT)

                        /*
                        * If we have CONFIG_OABI_COMPAT then we need to look at the swi
                        * value to determine if it is an EABI or an old ABI call.
                        */
#ifdef CONFIG_ARM_THUMB
                        tst r8, #PSR_T_BIT
                        movne r10, #0 @ no thumb OABI emulation
                        ldreq r10, [lr, #-4] @ get SWI instruction // crash at this instruction, when get SWI instruction
#else
                        ldr r10, [lr, #-4] @ get SWI instruction
  A710( and ip, r10, #0x0f000000 @ check for SWI )
  A710( teq ip, #0x0f000000 )
  A710( bne .Larm710bug )
#endif
#ifdef CONFIG_CPU_ENDIAN_BE8
                        rev r10, r10 @ little endian instruction
#endif

Then reason why it will crash when get SWI instruction is maybe
This page is clear to aged by kernel,
But this MMU fault happpened in kernel,
So the kernel do_page_fault function will not clear this page to young,
So that will crash .

It should poll this page to make it present or the fault should be handled by fixup section ,
Anyway, this place should not crash by kernel .

The kernel version I used is 3.4.0
I have add the kernel log and the call stack recoverd by trace32 tools
Pls have a look at it .

Thanks .

Yalin.Wang
Software Engineer
OS Kernel&Graphics

Sony Mobile Communications
Tel: +86 10 5966 9819
Phone: 18610323092
Address: No.16 Guangshun South Street, Chaoyang, Beijing, P.R.C.

sonymobile.com<http://sonymobile.com/>

[cid:image001.jpg@01CE5C5F.6BD2AAE0]

image001.jpg
Received on Wed May 29 06:29:03 2013
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Wed 29 May 2013 - 06:29:03 BST by hypermail 2.1.8