Messages in this thread Patch in this message | | | Subject | Re: "kernel ade access" oops on LoongArch | From | Youling Tang <> | Date | Wed, 15 Feb 2023 16:25:54 +0800 |
| |
On 02/15/2023 04:07 PM, Xi Ruoyao wrote: > On Wed, 2023-02-15 at 15:51 +0800, Jinyang He wrote: > >>> There was a build error in make check, so only tst-mallocfork3- >>> malloc-check was tested separately. >>> >>> # make test t=malloc/tst-mallocfork3-malloc-check >>> make[2]: 离开目录“/home/loongson/glibc/malloc” >>> PASS: malloc/tst-mallocfork3-malloc-check >>> original exit status 0 >>> info: signals received during fork: 301 >>> info: signals received during free: 1693 >>> info: signals received during malloc: 119 >>> make[1]: 离开目录“/home/loongson/glibc” >>> >>> A total of five tests are PASS, and the serial port does not display >>> CallTrace. >>> >>> Youling. >>> >> I had test it by using the cmd "while true..." Ruoyao gave on >> >> Loongson-3A5000, CLFS 7.1, 6.2-rc8 kernel with those patches and >> >> 6.2-rc7 kernel form loongson-next. No calltrace displayed, either. > > Hmm... I've read the code for a while and I couldn't see how it could > end up accessing a bad address too. Maybe my hardware or compiler is > really faulty?
Can you modify the kernel as follows and test it, so as to avoid possible relationship with the exception table data link position and alignment rules (or use EXCEPTION_TABLE(12))?
--- a/arch/loongarch/kernel/vmlinux.lds.S +++ b/arch/loongarch/kernel/vmlinux.lds.S @@ -4,7 +4,6 @@ #include <asm/thread_info.h>
#define PAGE_SIZE _PAGE_SIZE -#define RO_EXCEPTION_TABLE_ALIGN 4
/* * Put .bss..swapper_pg_dir as the first thing in .bss. This will @@ -54,6 +53,8 @@ SECTIONS . = ALIGN(PECOFF_SEGMENT_ALIGN); _etext = .;
+ EXCEPTION_TABLE(16) +
Youling.
| |