lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 23 Aug 2020 01:28:42 +0800
From:   Zhou Yanjie <zhouyanjie@...yeetech.com>
To:     Paul Cercueil <paul@...pouillou.net>
Cc:     Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
        Paul Burton <paulburton@...nel.org>,
        Krzysztof Kozlowski <krzk@...nel.org>, od@...c.me,
        linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org
Subject: Re: [PATCH v2 00/13] Convert Ingenic to a generic board v2


在 2020/8/19 下午11:35, Paul Cercueil 写道:
> Hi Zhou,
>
> Le mer. 19 août 2020 à 22:12, Zhou Yanjie <zhouyanjie@...yeetech.com> 
> a écrit :
>> Hi Paul,
>>
>> I have some good news and some bad news.
>>
>> Good news is:
>>
>> I tested this series of patches on CU1000-Neo & CU1830-Neo, and it 
>> can boot normally and log in to  debian normally.
>>
>> Bad news is:
>>
>> 1. Because we dropped arch/mips/jz4740/setup.c, so it did not return 
>> MACH_INGENIC_XXXX correctly, which caused the correction of the L2 
>> cache probe in arch/mips/mm/sc-mips.c to fail, causing JZ4770/X1000 
>> to detect the L2 cache capacity incorrect.
>
> It's properly detected here on JZ4770. The detection code was just 
> moved to arch/mips/generic/board-ingenic.c.
>
>> 2. When I did some heavy work (compiled docker source code after 
>> logging in with ssh), the following message appeared:
>
> Chances are that these messages are related. Stuff like that tends to 
> appear in -rc1 and get fixed afterwards.

OK, I will wait for -rc2 and try again.

Thanks and best regards!

>
> Cheers,
> -Paul
>
>> message1:
>>
>> [ 4694.290776] warn_alloc: 25 callbacks suppressed
>> [ 4694.290791] containerd-shim: page allocation failure: order:4, 
>> mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null)
>> [ 4694.315266] CPU: 0 PID: 19817 Comm: containerd-shim Not tainted 
>> 5.8.0-00013-g192f2fd7b678 #15
>> [ 4694.317993] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
>> 850dfcb4 00000000 ffffffff
>> [ 4694.320818]         80a50000 80a576c7 809c4374 00004d69 80ad348c 
>> 00000001 850dfc58 7750292a
>> [ 4694.322695]         00000000 00000000 809c4374 ffff00fe 850dffe0 
>> 00001400 00000199 00000000
>> [ 4694.325083]         ffffffff 866f7600 80a50000 878bd778 80a50000 
>> 80000000 809c2b50 00000000
>> [ 4694.326957]         00040cc0 00000000 000001d2 00000000 80a53220 
>> 7750292a 0000a098 80ad0000
>> [ 4694.327750]         ...
>> [ 4694.340943] Call Trace:
>> [ 4694.341181] [<8001ae08>] show_stack+0x6c/0x12c
>> [ 4694.355233] [<800f64b0>] warn_alloc+0xa8/0x130
>> [ 4694.361283] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
>> [ 4694.362839] [<80103110>] ____cache_alloc+0x324/0x8fc
>> [ 4694.367439] [<801038e4>] __kmalloc+0x78/0xd8
>> [ 4694.376798] [<80195b28>] proc_sys_call_handler+0xf4/0x1d8
>> [ 4694.377229] [<80195c44>] proc_sys_read+0x14/0x20
>> [ 4694.384090] [<80116274>] vfs_read+0xac/0x108
>> [ 4694.385654] [<801165d4>] ksys_read+0x80/0xe0
>> [ 4694.395277] [<8001ec8c>] syscall_common+0x34/0x58
>> [ 4694.394544] Mem-Info:
>> [ 4694.396828] active_anon:661 inactive_anon:942 isolated_anon:0
>> [ 4694.396828]  active_file:10515 inactive_file:9667 isolated_file:0
>> [ 4694.396828]  unevictable:0 dirty:2003 writeback:0
>> [ 4694.396828]  slab_reclaimable:1609 slab_unreclaimable:3103
>> [ 4694.396828]  mapped:2182 shmem:156 pagetables:207 bounce:0
>> [ 4694.396828]  free:1635 free_pcp:7 free_cma:0
>> [ 4694.405770] Node 0 active_anon:2644kB inactive_anon:3768kB 
>> active_file:42060kB inactive_file:38668kB unevictable:0kB 
>> isolated(anon):0kB isolated(file):0kB mapped:8728kB dirty:8048kB 
>> writeback:0kB shmem:624kB writeback_tmp:0kB all_unreclaimable? no
>> [ 4694.408349] Normal free:6484kB min:1376kB low:1720kB high:2064kB 
>> reserved_highatomic:0KB active_anon:2644kB inactive_anon:3768kB 
>> active_file:42064kB inactive_file:38724kB unevictable:0kB 
>> writepending:8060kB present:131072kB managed:118804kB mlocked:0kB 
>> kernel_stack:584kB pagetables:828kB bounce:0kB free_pcp:32kB 
>> local_pcp:32kB free_cma:0kB
>> [ 4694.409607] lowmem_reserve[]: 0 0 0
>> [ 4694.410382] Normal: 117*4kB (UM) 406*8kB (UM) 149*16kB (UME) 
>> 12*32kB (UME) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 
>> 0*4096kB = 6484kB
>> [ 4694.418673] 20618 total pagecache pages
>> [ 4694.423125] 226 pages in swap cache
>> [ 4694.423912] Swap cache stats: add 535090, delete 534864, find 
>> 234586/366812
>> [ 4694.431304] Free swap  = 774396kB
>> [ 4694.431900] Total swap = 786428kB
>> [ 4694.432480] 32768 pages RAM
>> [ 4694.432537] 0 pages HighMem/MovableOnly
>> [ 4694.441338] 3067 pages reserved
>> [ 4694.441770] 0 pages cma reserved
>>
>> ---------------------------------------------------------
>>
>> message2:
>>
>> [ 4426.473667] warn_alloc: 27 callbacks suppressed
>> [ 4426.473681] kswapd0: page allocation failure: order:0, 
>> mode:0xa20(GFP_ATOMIC), nodemask=(null)
>> [ 4426.475946] CPU: 0 PID: 439 Comm: kswapd0 Not tainted 
>> 5.8.0-00013-g192f2fd7b678 #15
>> [ 4426.478136] Stack : 80ae0000 80a50000 80860000 809b8fb0 809e4a30 
>> 87c0dccc 00000000 ffffffff
>> [ 4426.478301]         80a50000 80a576c7 809c4374 000001b7 80ad348c 
>> 00000001 87c0dc70 b7c290ba
>> [ 4426.478464]         00000000 00000000 809c4374 00000000 0000000f 
>> 00000000 0000019f 00000000
>> [ 4426.478626]         bff4ffd7 1c5e5f3c 80ae0000 31672d33 80a50000 
>> 00000000 809c2b50 00000000
>> [ 4426.478787]         00000a20 00000000 00000000 00000000 00000002 
>> 804d392c 00000000 80ad0000
>> [ 4426.478940]         ...
>> [ 4426.481390] Call Trace:
>> [ 4426.483842] [<8001ae08>] show_stack+0x6c/0x12c
>> [ 4426.485555] [<800f64b0>] warn_alloc+0xa8/0x130
>> [ 4426.487275] [<800f6dfc>] __alloc_pages_nodemask+0x8a4/0x8d8
>> [ 4426.487382] [<800f6f80>] page_frag_alloc+0x74/0x144
>> [ 4426.489534] [<805fc1a4>] __napi_alloc_skb+0x88/0x118
>> [ 4426.491769] [<8052ed8c>] stmmac_napi_poll_rx+0x434/0xa94
>> [ 4426.494354] [<80613eb0>] net_rx_action+0x11c/0x310
>> [ 4426.496414] [<807ecd0c>] __do_softirq+0x10c/0x258
>> [ 4426.498395] [<800320c0>] __irq_exit_rcu+0x68/0xbc
>> [ 4426.500365] [<80032324>] irq_exit+0x10/0x1c
>> [ 4426.501844] [<804876b4>] plat_irq_dispatch+0x8c/0xb8
>> [ 4426.504076] [<800154f8>] handle_int+0x138/0x144
>> [ 4426.505883] [<8005280c>] arch_local_irq_enable+0x4/0xc
>> [ 4426.508289] Mem-Info:
>> [ 4426.510576] active_anon:770 inactive_anon:1763 isolated_anon:0
>> [ 4426.510576]  active_file:5581 inactive_file:15166 isolated_file:0
>> [ 4426.510576]  unevictable:0 dirty:1262 writeback:880
>> [ 4426.510576]  slab_reclaimable:1187 slab_unreclaimable:3016
>> [ 4426.510576]  mapped:3478 shmem:315 pagetables:186 bounce:0
>> [ 4426.510576]  free:453 free_pcp:16 free_cma:0
>> [ 4426.512469] Node 0 active_anon:3080kB inactive_anon:7052kB 
>> active_file:22324kB inactive_file:60664kB unevictable:0kB 
>> isolated(anon):0kB isolated(file):0kB mapped:13912kB dirty:5048kB 
>> writeback:3520kB shmem:1260kB writeback_tmp:0kB all_unreclaimable? no
>> [ 4426.512938] Normal free:1812kB min:5472kB low:5816kB high:6160kB 
>> reserved_highatomic:0KB active_anon:3080kB inactive_anon:7052kB 
>> active_file:22324kB inactive_file:60664kB unevictable:0kB 
>> writepending:8568kB present:131072kB managed:118804kB mlocked:0kB 
>> kernel_stack:544kB pagetables:744kB bounce:0kB free_pcp:64kB 
>> local_pcp:64kB free_cma:0kB
>> [ 4426.515643] lowmem_reserve[]: 0 0 0
>> [ 4426.516400] Normal: 11*4kB (U) 59*8kB (UE) 75*16kB (U) 3*32kB (U) 
>> 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1812kB
>> [ 4426.517399] 21378 total pagecache pages
>> [ 4426.518507] 306 pages in swap cache
>> [ 4426.519259] Swap cache stats: add 533859, delete 533553, find 
>> 134676/266712
>> [ 4426.520752] Free swap  = 777212kB
>> [ 4426.521331] Total swap = 786428kB
>> [ 4426.521911] 32768 pages RAM
>> [ 4426.521973] 0 pages HighMem/MovableOnly
>> [ 4426.523072] 3067 pages reserved
>> [ 4426.523474] 0 pages cma reserved
>>
>> ---------------------------------------------------------
>>
>> message3:
>>
>> [  292.077309] CPU 0 Unable to handle kernel paging request at 
>> virtual address 00000104, epc == 801e7f30, ra == 801e7f24
>> [  292.087904] Oops[#1]:
>> [  292.090169] CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 
>> 5.9.0-rc1-00016-g8d1e63c37d0d-dirty #1
>> [  292.098768] Workqueue: events cache_reap
>> [  292.102675] $ 0   : 00000000 00000001 808f3bf4 00000122
>> [  292.107887] $ 4   : 808f3bf8 00000100 0000003c 87c02080
>> [  292.113099] $ 8   : 87c01000 8581e301 00000001 00000000
>> [  292.118311] $12   : 87c3dc7c 0000000a 810021c4 00000100
>> [  292.123523] $16   : 85855600 8100218c 86284600 80790000
>> [  292.128735] $20   : 0000003c 00000000 8100219c fffffffe
>> [  292.133946] $24   : 00000122 87c02090
>> [  292.139158] $28   : 87c3c000 87c3dc48 807b0000 801e7f24
>> [  292.144371] Hi    : 00000000
>> [  292.147237] Lo    : 000c6bf4
>> [  292.150109] epc   : 801e7f30 free_block+0x68/0x198
>> [  292.154887] ra    : 801e7f24 free_block+0x5c/0x198
>> [  292.159660] Status: 10001402 KERNEL EXL
>> [  292.163569] Cause : 4080800c (ExcCode 03)
>> [  292.167563] BadVA : 00000104
>> [  292.170430] PrId  : 00d00100 (Ingenic XBurst)
>> [  292.174776] Process kworker/0:0 (pid: 5, threadinfo=50ecb211, 
>> task=a81ea849, tls=00000000)
>> [  292.183016] Stack : 87c2e020 87c50cd0 8079e358 00000000 87c01000 
>> 801e8b14 87c50cd0 87c2e050
>> [  292.191353]         87c50cd0 8014930c 87c3dc7c 87c50ca0 807a0000 
>> 87c3dc7c 87c3dc7c 018070a3
>> [  292.199689]         80790000 86284600 801e8618 00000000 00000100 
>> 00000122 00000000 8100219c
>> [  292.208025]         fffffffe 801e8544 00000003 00000000 00000000 
>> 87c3dce0 808f3bf4 00000000
>> [  292.216361]         87c01000 801e8618 87c06300 00000000 00000000 
>> 87c3dce0 87c01000 85855a80
>> [  292.224697]         ...
>> [  292.227132] Call Trace:
>> [  292.229569] [<801e7f30>] free_block+0x68/0x198
>> [  292.234003] [<801e8b14>] ___cache_free+0x1f8/0x2e8
>> [  292.238781] [<801e8544>] kfree+0x48/0x6c
>> [  292.242693] [<801e8618>] kmem_freepages+0xb0/0x124
>> [  292.247471] [<801e86e0>] slab_destroy+0x48/0x7c
>> [  292.251989] [<801e8778>] slabs_destroy+0x64/0x94
>> [  292.256593] [<801e8b4c>] ___cache_free+0x230/0x2e8
>> [  292.261372] [<801e8544>] kfree+0x48/0x6c
>> [  292.265283] [<801e8618>] kmem_freepages+0xb0/0x124
>> [  292.270062] [<801e86e0>] slab_destroy+0x48/0x7c
>> [  292.274580] [<801e8778>] slabs_destroy+0x64/0x94
>> [  292.279185] [<801e8d90>] drain_array.isra.59.constprop.61+0xb4/0xdc
>> [  292.285437] [<801e8f84>] cache_reap+0x64/0x120
>> [  292.289869] [<80137204>] process_one_work+0x1b8/0x25c
>> [  292.294907] [<80137588>] worker_thread+0x294/0x3c4
>> [  292.299684] [<8013cfe0>] kthread+0x148/0x150
>> [  292.303941] [<8010506c>] ret_from_kernel_thread+0x14/0x1c
>> [  292.309324] Code: 8c430008  8c450004  24440004 <aca30004> ac650000 
>>  8c430014  ac4f0004  ac580008 8d0a0014
>> [  292.319053]
>> [  292.320591] ---[ end trace 2a1f2afba7a08ca1 ]---
>> [  292.325197] Kernel panic - not syncing: Fatal exception
>> [  292.330409] Rebooting in 10 seconds..
>>
>> these three kinds of message appear at random. Sometimes they will 
>> appear at the beginning of the compilation, and sometimes they will 
>> appear after tens of minutes of compilation.
>>
>> Thanks and best regards!
>>
>> 在 2020/8/12 上午8:14, Paul Cercueil 写道:
>>> Hi,
>>>
>>> Changes since V1:
>>>
>>> - the get_system_type() now will simply return the "system_type"
>>>    variable if non-NULL, and the various boards can set this pointer
>>>    should they want to set a custom value. The .get_system_type
>>>    callback that v1 added to the struct mips_machine is gone.
>>>
>>> - the board-ingenic.c has been modified accordingly.
>>>
>>> - patch [06/13] is new, it makes sure that the kernel's command line is
>>>    initialized properly and includes the parameters passed by the
>>>    bootloader.
>>>
>>> - the cu1830-neo board defconfig has now been regenerated in patch
>>>    [12/13].
>>>
>>> Cheers,
>>> -Paul
>>>
>>> Paul Cercueil (13):
>>>    MIPS: cpu-probe: Set Ingenic's writecombine to _CACHE_CACHABLE_WA
>>>    MIPS: cpu-probe: Mark XBurst CPU as having vtagged caches
>>>    MIPS: cpu-probe: ingenic: Fix broken BUG_ON
>>>    MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
>>>    MIPS: generic: Allow boards to set system type
>>>    MIPS: generic: Init command line with fw_init_cmdline()
>>>    MIPS: generic: Support booting with built-in or appended DTB
>>>    MIPS: generic: Add support for zboot
>>>    MIPS: generic: Increase NR_IRQS to 256
>>>    MIPS: generic: Add support for Ingenic SoCs
>>>    MIPS: jz4740: Drop folder
>>>    MIPS: configs: Regenerate configs of Ingenic boards
>>>    MAINTAINERS: Update paths to Ingenic platform code
>>>
>>>   MAINTAINERS                                   |   4 +-
>>>   arch/mips/Kbuild.platforms                    |   1 -
>>>   arch/mips/Kconfig                             |  43 ++++--
>>>   arch/mips/configs/ci20_defconfig              |   4 +-
>>>   arch/mips/configs/cu1000-neo_defconfig        |  16 +-
>>>   arch/mips/configs/cu1830-neo_defconfig        |  15 +-
>>>   arch/mips/configs/gcw0_defconfig              |   2 +-
>>>   arch/mips/configs/qi_lb60_defconfig           |   5 +-
>>>   arch/mips/configs/rs90_defconfig              |   4 +-
>>>   arch/mips/generic/Kconfig                     |   8 +-
>>>   arch/mips/generic/Makefile                    |   1 +
>>>   arch/mips/generic/Platform                    |   1 +
>>>   arch/mips/generic/board-ingenic.c             | 108 +++++++++++++
>>>   arch/mips/generic/init.c                      |  11 +-
>>>   arch/mips/generic/proc.c                      |   5 +
>>>   arch/mips/include/asm/mach-generic/irq.h      |   2 +-
>>>   .../asm/mach-jz4740/cpu-feature-overrides.h   |  50 ------
>>>   arch/mips/include/asm/mach-jz4740/irq.h       |  13 --
>>>   arch/mips/include/asm/pgtable-bits.h          |   5 -
>>>   arch/mips/{jz4740 => ingenic}/Kconfig         |  16 +-
>>>   arch/mips/jz4740/Makefile                     |   9 --
>>>   arch/mips/jz4740/Platform                     |   3 -
>>>   arch/mips/jz4740/setup.c                      | 145 
>>> ------------------
>>>   arch/mips/kernel/cpu-probe.c                  |   8 +-
>>>   24 files changed, 186 insertions(+), 293 deletions(-)
>>>   create mode 100644 arch/mips/generic/board-ingenic.c
>>>   delete mode 100644 
>>> arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h
>>>   delete mode 100644 arch/mips/include/asm/mach-jz4740/irq.h
>>>   rename arch/mips/{jz4740 => ingenic}/Kconfig (91%)
>>>   delete mode 100644 arch/mips/jz4740/Makefile
>>>   delete mode 100644 arch/mips/jz4740/Platform
>>>   delete mode 100644 arch/mips/jz4740/setup.c
>>>
>

Powered by blists - more mailing lists