From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751693AbdAMLDN (ORCPT ); Fri, 13 Jan 2017 06:03:13 -0500 Received: from foss.arm.com ([217.140.101.70]:39436 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751663AbdAMLDL (ORCPT ); Fri, 13 Jan 2017 06:03:11 -0500 Subject: Re: [RFC] Kernel panic down to swiotlb when doing insmod a simple driver To: Shawn Lin , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" References: Cc: Ard Biesheuvel , Mark Rutland From: Robin Murphy Message-ID: <99472068-069a-7759-8d6e-019fd875264d@arm.com> Date: Fri, 13 Jan 2017 11:03:03 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13/01/17 10:00, Shawn Lin wrote: > Hi, > > Sorry for sending this RFC for help as I couldn't find some useful hint > to slove my issue by git-log the swiotlb commit from kernel v4.4 to > v4.9 and I'm also not familar with these stuff. So could you kindly > point me to the right direction to debug it? Thanks. :) > > -------------------------------------- > We just have a very simple wifi driver *built as ko module* which only > have a probe function to do the basic init work and call SDIO API to > transfer some bytes. > > Env: kernel 4.4 stable tree, ARM64(rk3399) > > Two cases are included: And they are both wrong :) > The crash case: > > u8 __aligned(32) buf[PAGE_SIZE]; //global here in ko driver file It is only valid to do DMA from linear map addresses - I'm not sure if the modules area was in the linear map before, but either way it probably isn't now (Ard, Mark?). Either way, I don't believe static data honours ARCH_DMA_MINALIGN in general, so it's still highly inadvisable. > static int wifi_probe(struct sdio_func *func, const struct > sdio_device_id *id) > { > // prepare some SDIO work before > printk("wifi_probe: buf = 0x%x\n", buf); > sdio_memcpy_toio(func, 0, buf, 200); > } > > The workable case: > > static int wifi_probe(struct sdio_func *func, const struct > sdio_device_id *id) > { > > u8 __aligned(32) buf[PAGE_SIZE]; //move inside the probe function No. DMA from the stack is right out, both for the aforementioned alignment reasons, and the fact that we now have (or will have) virtually-mapped stacks. One of the benefits of the latter is that it catches bugs like this ;) Get your buffer from kmalloc() or a page allocation, and everything should be correct. Robin. > // prepare some SDIO work before > printk("wifi_probe: buf = 0x%x\n", buf); > sdio_memcpy_toio(func, 0, buf, 200); > } > > ------------- > How to repro it: > insmod the KO module, then kernel panic when trying to bounce a buffer > in swiotlb but the workable case I didn't see kernel did that memcpy > by adding some log, strange? > > parsing vmlinux, it locates to arch/arm64/lib/copy_template.S:167 > > 165 .Lcpy_body_large: > 166 /* pre-get 64 bytes data. */ > 167 ldp1 A_l, A_h, src, #16 > 168 ldp1 B_l, B_h, src, #16 > 169 ldp1 C_l, C_h, src, #16 > 170 ldp1 D_l, D_h, src, #16 > > -------------------------------------------------------------- > > The full crash log looks like > > [ 236.748210] wifi_probe: buf = 0xffffff8000a40b80 > [ 236.748258] swiotlb_tbl_map_single: orig_addr = 0xfffffffff8c40b80, > tlb_addr = 0xf7eae000 //I added log here > [ 236.748276] Unable to handle kernel paging request at virtual address > fffffffff8c40b80 > [ 236.776486] pgd = ffffffc0b3417000 > [ 236.776789] [fffffffff8c40b80] *pgd=00000000b3427003, > *pud=00000000b3427003, *pmd=0000000000000000 > [ 236.777601] Internal error: Oops: 96000005 [#1] PREEMPT SMP > [ 236.778093] Modules linked in: drvtst(O+) > [ 236.778463] CPU: 0 PID: 1918 Comm: insmod Tainted: G O > 4.4.36 #25 > [ 236.779096] Hardware name: Rockchip RK3399 Evaluation Board v3 edp > (Android) (DT) > [ 236.779753] task: ffffffc0e3db0c40 ti: ffffffc0b342c000 task.ti: > ffffffc0b342c000 > [ 236.780418] PC is at __memcpy+0x100/0x180 > [ 236.780777] LR is at swiotlb_tbl_map_single+0x254/0x274 > [ 236.781237] pc : [] lr : [] > pstate: 20000145 > [ 236.781885] sp : ffffffc0b342f530 > [ 236.782178] x29: ffffffc0b342f530 x28: 0000000000000001 > [ 236.782653] x27: 0000000000200000 x26: ffffffc0e8874810 > [ 236.783127] x25: 0000000000000001 x24: 00000000000000c8 > [ 236.783601] x23: fffffffff8c40b80 x22: ffffff8009158480 > [ 236.784075] x21: 00000000f7eae000 x20: ffffff8009158000 > [ 236.784550] x19: 00000000f7eae000 x18: 00000000004ff888 > [ 236.785023] x17: 0000000000000000 x16: ffffff80081bbc74 > [ 236.785498] x15: 0b030f0000000000 x14: 3034633866666666 > [ 236.785972] x13: 6666666666783020 x12: 3d20726464615f67 > [ 236.786446] x11: 69726f20656c676e x10: 69735f70616d5f6c > [ 236.786919] x9 : 62745f626c746f69 x8 : ffffff80082e8c1c > [ 236.787392] x7 : 0000000000000000 x6 : ffffffc0f7eae000 > [ 236.787866] x5 : 0000000000000001 x4 : 0000000000000000 > [ 236.788340] x3 : 0000000000000007 x2 : 0000000000000048 > [ 236.788815] x1 : fffffffff8c40b80 x0 : ffffffc0f7eae000 > [ 236.789291] > [ 236.789291] PC: 0xffffff8008357940: > [ 236.789728] 7940 36180062 f8408423 f80084c3 36100062 b8404423 > b80044c3 36080062 78402423 > [ 236.790484] 7960 780024c3 36000562 38401423 380014c3 14000028 > f1020042 5400024a a8c12027 > [ 236.791236] 7980 a88120c7 a8c12829 a8c1302b a88128c9 a88130cb > a8c1382d a88138cd f240145f > [ 236.791988] 79a0 54fffba1 1400001b d503201f d503201f d503201f > d503201f d503201f d503201f > [ 236.792739] 79c0 a8c12027 a8c12829 a8c1302b a8c1382d a88120c7 > a8c12027 a88128c9 a8c12829 > [ 236.793490] 79e0 a88130cb a8c1302b a88138cd a8c1382d f1010042 > 54fffeea a88120c7 a88128c9 > [ 236.794243] 7a00 a88130cb a88138cd f240145f 54fff841 d65f03c0 > d503201f d503201f d503201f > [ 236.794995] 7a20 d503201f d503201f d503201f d503201f d503201f > d503201f d503201f d503201f > [ 236.795748] > [ 236.795748] LR: 0xffffff800837cef0: > [ 236.796186] cef0 d0004f81 aa1a03e0 912ad821 aa1803e2 9404fda9 > 1400001b 6b19001f 540000e2 > [ 236.796939] cf10 0b130003 53155001 11000400 8b21c2e1 f8237841 > 17fffff9 d0004f80 b0003821 > [ 236.797694] cf30 912b7800 91344021 aa1703e2 aa1503e3 aa1503f3 > 97f784ba 7100079f 54000128 > [ 236.798445] cf50 d0005fc0 aa1803e2 f9453c01 cb0102a0 cb0102e1 > b25a6400 b25a6421 97ff6a55 > [ 236.799197] cf70 aa1303e0 a94153f3 a9425bf5 a94363f7 a9446bf9 > a94573fb a8c77bfd d65f03c0 > [ 236.799949] cf90 d4210000 90006ee5 911200a5 a9bf7bfd 910003fd > f94018a0 f9401ca5 cb000020 > [ 236.800703] cfb0 934ba800 f86078a5 b10004bf 540003e0 92402820 > 8b0000a5 34000084 7100049f > [ 236.801455] cfd0 54000180 14000018 721e787f 540000c1 d0005fc0 > f9453c03 cb0300a0 cb030021 > [ 236.802209] > [ 236.802209] SP: 0xffffffc0b342f4b0: > [ 236.802647] f4b0 09158480 ffffff80 f8c40b80 ffffffff 000000c8 > 00000000 00000001 00000000 > [ 236.803400] f4d0 e8874810 ffffffc0 00200000 00000000 00000001 > 00000000 b342f530 ffffffc0 > [ 236.804152] f4f0 0837cf70 ffffff80 b342f530 ffffffc0 083579c0 > ffffff80 20000145 00000000 > [ 236.804903] f510 ffffffff 00000000 00000140 00000000 00000000 > 00000080 00000000 00000000 > [ 236.805654] f530 b342f5a0 ffffffc0 0837dc18 ffffff80 00000001 > 00000000 b342f890 ffffffc0 > [ 236.806405] f550 00000001 00000000 00000000 00000000 00000000 > 00000000 09158000 ffffff80 > [ 236.807157] f570 08f76000 ffffff80 09158000 ffffff80 b342f890 > ffffffc0 e8874810 ffffffc0 > [ 236.807909] f590 00000140 00000000 001efd5c 00000000 b342f600 > ffffffc0 0809359c ffffff80 > [ 236.808662] > [ 236.808662] X0: 0xffffffc0f7eadf80: > [ 236.809099] df80 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.809852] dfa0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.810603] dfc0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.811355] dfe0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.812106] e000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.812858] e020 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.813608] e040 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.814360] e060 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.815114] > [ 236.815114] X1: 0xfffffffff8c40b00: > [ 236.815552] 0b00 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.816309] 0b20 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.817065] 0b40 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.817820] 0b60 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.818575] 0b80 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.819328] 0ba0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.820082] 0bc0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.820836] 0be0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.821595] > [ 236.821595] X6: 0xffffffc0f7eadf80: > [ 236.822032] df80 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.822785] dfa0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.823537] dfc0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.824289] dfe0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.825040] e000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.825792] e020 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.826543] e040 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.827295] e060 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.828049] > [ 236.828049] X8: 0xffffff80082e8b9c: > [ 236.828487] 8b9c 14000006 f9400453 14000004 f9400853 14000002 > f9400c53 aa1303e0 94000529 > [ 236.829239] 8bbc aa1303e0 94000532 52800000 14000002 128002a0 > f9400bf3 a8c27bfd d65f03c0 > [ 236.829993] 8bdc a9bf7bfd 71001c1f aa0403e1 910003fd 128002a3 > 54000101 f94048e0 12800163 > [ 236.830746] 8bfc f9400c00 b4000080 2a0603e2 9400049e 2a0003e3 > 2a0303e0 a8c17bfd d65f03c0 > [ 236.831497] 8c1c a9b97bfd 7100081f 910003fd a90363f7 d0006477 > f90023f9 a9025bf5 a90153f3 > [ 236.832249] 8c3c f9452ae2 aa0403f6 f90037a2 53001cb4 aa0603f5 > f94048f3 54000061 f9400660 > [ 236.833002] 8c5c 14000008 71000c1f 54000061 f9400a60 14000004 > 71001c1f 54000101 f9400e60 > [ 236.833754] 8c7c 12800167 b40008a0 aa1603e1 2a1503e2 94000426 > 14000040 128002a7 350007e0 > [ 236.834510] > [ 236.834510] X16: 0xffffff80081bbbf4: > [ 236.834955] bbf4 2a1503e1 97fffec4 3100101f 54000261 d5384100 > f9400800 90000002 912c4042 > [ 236.835708] bc14 91102003 f9020402 f9000476 b9001075 37f80114 > f9401fa0 f9000c60 f94023a0 > [ 236.836460] bc34 f9001060 52800020 b9001460 14000002 b900147f > 12804060 f94027a2 93407c00 > [ 236.837212] bc54 f9452a61 eb01005f 54000040 97fb80af a94153f3 > a9425bf5 a8c57bfd d65f03c0 > [ 236.837964] bc74 a9b67bfd 910003fd a9025bf5 f0006dd6 f90023f9 > a90363f7 aa0003f8 aa0103f7 > [ 236.838716] bc94 f9452ac0 aa0403f9 a90153f3 f9004fa0 aa0203f3 > aa0303f4 b4000302 d5384100 > [ 236.839466] bcb4 f9400400 aa0203e3 b1004063 fa403062 9a9f87e1 > 9101e3a0 b40000c1 aa0203e1 > [ 236.840218] bcd4 d2800202 94066c4a b4000080 1400001d a9007c1f > 1400001b f9403fa1 910223a0 > [ 236.840973] > [ 236.840973] X20: 0xffffff8009157f80: > [ 236.841418] 7f80 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.842169] 7fa0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.842920] 7fc0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.843672] 7fe0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.844422] 8000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.845174] 8020 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.845925] 8040 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.846677] 8060 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.847431] > [ 236.847431] X22: 0xffffff8009158400: > [ 236.847876] 8400 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.848628] 8420 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.849379] 8440 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.850130] 8460 00000000 00000000 00000000 00000000 00030003 > 00000000 00f100f1 00000000 > [ 236.850882] 8480 00000080 00000000 f7ea6000 00000000 f7eee000 > 00000000 00000000 00000000 > [ 236.851633] 84a0 00010001 00000001 f7f75000 ffffffc0 f7eae000 > 00000000 f7ea5000 ffffffc0 > [ 236.852388] 84c0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.853139] 84e0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.853892] > [ 236.853892] X23: 0xfffffffff8c40b00: > [ 236.854338] 0b00 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.855093] 0b20 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.855846] 0b40 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.856601] 0b60 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.857356] 0b80 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.858109] 0ba0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.858864] 0bc0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.859620] 0be0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.860377] > [ 236.860377] X26: 0xffffffc0e8874790: > [ 236.860822] 4790 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.861573] 47b0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.862324] 47d0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.863075] 47f0 00000000 00000000 00000000 00000000 e885d140 > ffffffc0 ffffffff 00000000 > [ 236.863828] 4810 08fefcc0 ffffff80 e933b480 ffffffc0 e885d140 > ffffffc0 e5b7c020 ffffffc0 > [ 236.864581] 4830 e5b24430 ffffffc0 08fefcd0 ffffff80 e929d480 > ffffffc0 08fef9d0 ffffff80 > [ 236.865335] 4850 e88999d8 ffffffc0 00000005 00000007 00000000 > 00000000 00000000 00000000 > [ 236.866087] 4870 00000001 00000000 e8874878 ffffffc0 e8874878 > ffffffc0 00000000 00000000 > [ 236.866843] > [ 236.866843] X29: 0xffffffc0b342f4b0: > [ 236.867288] f4b0 09158480 ffffff80 f8c40b80 ffffffff 000000c8 > 00000000 00000001 00000000 > [ 236.868041] f4d0 e8874810 ffffffc0 00200000 00000000 00000001 > 00000000 b342f530 ffffffc0 > [ 236.868794] f4f0 0837cf70 ffffff80 b342f530 ffffffc0 083579c0 > ffffff80 20000145 00000000 > [ 236.869547] f510 ffffffff 00000000 00000140 00000000 00000000 > 00000080 00000000 00000000 > [ 236.870297] f530 b342f5a0 ffffffc0 0837dc18 ffffff80 00000001 > 00000000 b342f890 ffffffc0 > [ 236.871049] f550 00000001 00000000 00000000 00000000 00000000 > 00000000 09158000 ffffff80 > [ 236.871800] f570 08f76000 ffffff80 09158000 ffffff80 b342f890 > ffffffc0 e8874810 ffffffc0 > [ 236.872552] f590 00000140 00000000 001efd5c 00000000 b342f600 > ffffffc0 0809359c ffffff80 > [ 236.873304] > [ 236.873442] Process insmod (pid: 1918, stack limit = 0xffffffc0b342c020) > [ 236.874031] Stack: (0xffffffc0b342f530 to 0xffffffc0b3430000) > [ 236.874539] f520: ffffffc0b342f5a0 > ffffff800837dc18 > [ 236.875226] f540: 0000000000000001 ffffffc0b342f890 0000000000000001 > 0000000000000000 > [ 236.875915] f560: 0000000000000000 ffffff8009158000 ffffff8008f76000 > ffffff8009158000 > [ 236.876605] f580: ffffffc0b342f890 ffffffc0e8874810 0000000000000140 > 00000000001efd5c > [ 236.877293] f5a0: ffffffc0b342f600 ffffff800809359c ffffffc0b342f890 > ffffffc0e8874810 > [ 236.877981] f5c0: 0000000000000000 0000000000000001 0000000000000001 > ffffffc0b342f938 > [ 236.878670] f5e0: ffffffc0b342f8f0 ffffffc0e5b7c738 0000000000001000 > 0000000000000000 > [ 236.879358] f600: ffffffc0b342f640 ffffff800871113c ffffffc0b342f8f0 > ffffff8008f88b60 > [ 236.880047] f620: 0000000000000000 ffffffc0e8874810 0000000000000001 > ffffff8000a40b80 > [ 236.880735] f640: ffffffc0b342f6a0 ffffff80087129cc ffffffc0e5b45018 > ffffffc0b342f8b0 > [ 236.881423] f660: ffffff8008f76000 0000000020002775 ffffffc0e5b7c700 > ffffffc0b342f8b0 > [ 236.882112] f680: ffffff8008f76000 0000000000000001 ffffffc0b342f890 > 0000000000000001 > [ 236.882800] f6a0: ffffffc0b342f730 ffffff80087132e0 ffffffc0e5b45018 > ffffffc0e5b7c000 > [ 236.883489] f6c0: ffffffc0e5b7c700 ffffff8000a40b80 ffffff8008f76000 > ffffffc0b342f8b0 > [ 236.884178] f6e0: ffffffc0b342f938 ffffffc0b342f8f0 0000000000001000 > ffffff800871325c > [ 236.884867] f700: ffffffc0e5b45018 ffffffc0e5b7c000 ffffffc0e5b7c700 > ffffff8000a40b80 > [ 236.885555] f720: ffffff8008f76000 cb88537fdc8ba624 ffffffc0b342f770 > ffffff80086f8b44 > [ 236.886243] f740: ffffffc0e5b7c000 00000000000001f4 00000000ffffff85 > ffffff80086f8ac0 > [ 236.886931] f760: ffffffc0e5b7c000 ffffffc0b342f938 ffffffc0b342f7a0 > ffffff80087ae0e8 > [ 236.887619] f780: ffffffc0b342f938 ffffffc0e5b7c000 00000000ffffff85 > ffffffc0b342f938 > [ 236.888308] f7a0: ffffffc0b342f7c0 ffffff80086f9c74 ffffffc0e5b7c000 > ffffffc0b342f938 > [ 236.888996] f7c0: ffffffc0b342f800 ffffff800870421c 00000000000000c8 > 0000000000000001 > [ 236.889685] f7e0: ffffffc0e5b7c800 ffffff8000a40b80 ffffff8008f76000 > ffffffc0b342f8b0 > [ 236.890372] f800: ffffffc0b342f9a0 ffffff8008705800 00000000000000c8 > 0000000000000000 > [ 236.891061] f820: ffffff8000a40b80 0000000000000001 ffffff8008dfdc48 > ffffff8008dfdc81 > [ 236.891748] f840: ffffff8008dfdcdb 0000000000000001 ffffffc0e5b44c00 > 00000000000000c8 > [ 236.892436] f860: ffffffc0e5b44c00 00000000000000c8 000000000000002a > ffffff800911d000 > [ 236.893125] f880: 0000000000000140 ffffff8000000000 03ffffbdbfe31002 > 000000c800000b80 > [ 236.893813] f8a0: 0000000000000000 0000000000000000 940000c800000035 > 0000000000000000 > [ 236.894501] f8c0: 0000000000000000 00000000000001b5 00000000ffffff8d > 0000000000000000 > [ 236.895190] f8e0: ffffffc0b342f8f0 ffffffc0b342f938 000000003b9aca00 > 00000001000000c8 > [ 236.895878] f900: 00000100ffffff8d 0000000000000000 0000000000000000 > ffffffc0b342f938 > [ 236.896566] f920: 0000000000000001 ffffffc0b342f890 0000000000000000 > 0000000000000000 > [ 236.897254] f940: ffffffc0b342f8b0 ffffffc0b342f8f0 0000000000000000 > 0000000000000000 > [ 236.897942] f960: 0000000000000000 ffffffc0b342f968 ffffffc0b342f968 > ffffff80086f8b98 > [ 236.898630] f980: 0000000000000000 0000000000000000 0000000000000000 > cb88537fdc8ba624 > [ 236.899319] f9a0: ffffffc0b342fa00 ffffff8008705954 ffffffc0e5b44c00 > 00000000000000c8 > [ 236.900007] f9c0: ffffff8000a40b80 ffffff8000a410a0 ffffff8000a407d8 > 0000000000000029 > [ 236.900695] f9e0: 0000000000000000 ffffffc0e926a480 0000000000000001 > 0000000000000038 > [ 236.901384] fa00: ffffffc0b342fa10 ffffff8000a40108 ffffffc0b342fa60 > ffffff8008704734 > [ 236.902072] fa20: ffffffc0e5b44c08 0000000000000000 ffffffc0e5b44c00 > ffffff8000a40410 > [ 236.902760] fa40: ffffff8000a407d8 0000000000000029 0000000000000000 > ffffff8008704704 > [ 236.903447] fa60: ffffffc0b342faa0 ffffff80084bfd6c ffffffc0e5b44c08 > 0000000000000000 > [ 236.904136] fa80: ffffff800915d000 ffffff8008fef000 ffffff8000a407d8 > 0000000000000000 > [ 236.904824] faa0: ffffffc0b342faf0 ffffff80084bff68 ffffffc0e5b44c08 > ffffffc0e5b44c68 > [ 236.905512] fac0: ffffff8000a407d8 ffffff80084bff04 ffffff8009028a38 > 0000000000000000 > [ 236.906201] fae0: 0000000000000000 ffffff80084bff40 ffffffc0b342fb20 > ffffff80084bee18 > [ 236.906889] fb00: 0000000000000000 ffffff8008f76000 ffffff8000a407d8 > ffffff80084bff04 > [ 236.907577] fb20: ffffffc0b342fb70 ffffff80084bf8ac ffffff8000a407d8 > 0000000000000000 > [ 236.908265] fb40: ffffffc0f6e996c0 ffffff8008fef000 ffffffc0b342fb60 > ffffffc0e8b8f4a8 > [ 236.908953] fb60: ffffffc0e5486ea8 cb88537fdc8ba624 ffffffc0b342fb80 > ffffff80084bf45c > [ 236.909641] fb80: ffffffc0b342fbc0 ffffff80084c0afc ffffff8000a407d8 > ffffff8008f84b20 > [ 236.910329] fba0: 0000000000000000 ffffff8008f76000 ffffff8008f84b20 > cb88537fdc8ba624 > [ 236.911017] fbc0: ffffffc0b342fbf0 ffffff8008704580 ffffff8000a44000 > ffffff8008f84b20 > [ 236.911706] fbe0: ffffffc0f6dda1c0 ffffff8008f76000 ffffffc0b342fc00 > ffffff8000a40228 > [ 236.912394] fc00: ffffffc0b342fc10 ffffff8000a4400c ffffffc0b342fc20 > ffffff8008082ba4 > [ 236.913082] fc20: ffffffc0b342fcb0 ffffff800815e564 ffffff8000a40880 > ffffff8008f96000 > [ 236.913770] fc40: 0000000000000001 ffffffc0d58a1e40 ffffff8008a4a2d0 > 0000000000000000 > [ 236.914458] fc60: 0000000000000001 ffffff8008f96000 ffffff8008a4a2d0 > 0000000000000000 > [ 236.915146] fc80: 0000000000000000 ffffffc0e926a480 0000000000000001 > ffffffc0b342fe50 > [ 236.915835] fca0: 0000000000000001 cb88537fdc8ba624 ffffffc0b342fce0 > ffffff80081150f0 > [ 236.916523] fcc0: ffffff8000a40880 ffffffc0b342fe50 0000000000000001 > ffffff8008f96000 > [ 236.917212] fce0: ffffffc0b342fe00 ffffff800811562c 00000000000014d8 > ffffff800ca364d8 > [ 236.917900] fd00: 0000007f922804e8 0000000000000000 ffffff8008f76000 > 000000555bb25d20 > [ 236.918588] fd20: 0000000000010000 ffffffc0b342c000 ffffff8008a42000 > ffffffc0b342c000 > [ 236.919275] fd40: 0000000000000077 0000000000000076 0000000000000064 > 0000000000000072 > [ 236.919963] fd60: 000000000000006e 0000000000000018 0000000000000040 > 0000000000000040 > [ 236.920652] fd80: ffffff8000a42500 ffffff8008f76000 0000000000000124 > ffffff8008112064 > [ 236.921340] fda0: ffffff8008f76000 000000555bb25d20 000000000000011d > 0000000000000069 > [ 236.922028] fdc0: ffffffc0b342fe00 0000000000000000 0000000000000000 > 0000000000000000 > [ 236.922716] fde0: 0000007f00000000 0000000000000000 ffffffc000000000 > cb88537fdc8ba624 > [ 236.923405] fe00: 0000000000000000 ffffff80080826f0 0000000000000000 > 0000007f9223f010 > [ 236.924092] fe20: ffffffffffffffff 0000007f9235e904 0000000060000000 > 0000000000000015 > [ 236.924780] fe40: 000000000000011d 0000000000000069 ffffff800c9f5000 > 00000000000414d8 > [ 236.925469] fe60: ffffff800ca35bd8 ffffff800ca1711f ffffff800ca17d08 > 0000000000002500 > [ 236.926157] fe80: 0000000000002b00 0000000000000000 0000000000000000 > 0000000000000dd8 > [ 236.926844] fea0: 0000002300000022 000000000000000d 0000000000000009 > cb88537fdc8ba624 > [ 236.927532] fec0: 0000007f9223f010 00000000000414d8 000000555bb25d20 > 0000000000000000 > [ 236.928220] fee0: 0000000000000001 0000000000000000 0000000000000000 > 0000007f9223f000 > [ 236.928909] ff00: 0000000000000069 0000007f9223f010 0000000000042000 > 0000000000000001 > [ 236.929597] ff20: 0000007f92280fe0 0000007f92281000 0000007f923f4a70 > 0000000000002000 > [ 236.930285] ff40: 000000555bb23ae0 0000007f9235e8e4 0000000000000f00 > 00000000000414d8 > [ 236.930972] ff60: 0000007f9223f010 0000000000000003 00000000000414d8 > 0000000000000000 > [ 236.931660] ff80: 0000000000000000 000000555bb26d20 0000000000000010 > 0000000000000000 > [ 236.932348] ffa0: 0000000000000000 0000007fe750e100 000000555bade83c > 0000007fe750e0b0 > [ 236.933036] ffc0: 0000007f9235e904 0000000060000000 0000007f9223f010 > 0000000000000069 > [ 236.933725] ffe0: 0000000000000000 0000000000000000 3420320216190109 > 7375020101333632 > [ 236.934409] Call trace: > [ 236.934632] Exception stack(0xffffffc0b342f340 to 0xffffffc0b342f470) > [ 236.935200] f340: 00000000f7eae000 0000008000000000 ffffffc0b342f530 > ffffff80083579c0 > [ 236.935888] f360: 0000000020000145 0000000000000053 ffffff8008f93688 > 000000000007e7b8 > [ 236.936577] f380: 0000000000000002 ffffff8008f93688 0000000000000063 > 000000000909b7e8 > [ 236.937266] f3a0: ffffffc0b342f440 ffffff80080e8d08 ffffff8008f76000 > ffffff80080e8cd4 > [ 236.937953] f3c0: 00000000f7eae000 ffffff8009158480 fffffffff8c40b80 > 00000000000000c8 > [ 236.938641] f3e0: 0000000000000001 ffffffc0e8874810 0000000000200000 > cb88537fdc8ba624 > [ 236.939329] f400: ffffffc0f7eae000 fffffffff8c40b80 0000000000000048 > 0000000000000007 > [ 236.940017] f420: 0000000000000000 0000000000000001 ffffffc0f7eae000 > 0000000000000000 > [ 236.940705] f440: ffffff80082e8c1c 62745f626c746f69 69735f70616d5f6c > 69726f20656c676e > [ 236.941392] f460: 3d20726464615f67 6666666666783020 > [ 236.941826] [] __memcpy+0x100/0x180 > [ 236.942274] [] swiotlb_map_sg_attrs+0xa8/0x170 > [ 236.942810] [] __swiotlb_map_sg_attrs+0x24/0x8c > [ 236.943353] [] > dw_mci_pre_dma_transfer.isra.16+0xf0/0x11c > [ 236.943967] [] __dw_mci_start_request+0x17c/0x4d0 > [ 236.944520] [] dw_mci_request+0xb8/0xf0 > [ 236.945002] [] __mmc_start_request+0x9c/0xc0 > [ 236.945520] [] mmc_start_request.part.17+0x100/0x11c > [ 236.946097] [] mmc_wait_for_req+0x78/0x1a8 > [ 236.946600] [] mmc_io_rw_extended+0x27c/0x2fc > [ 236.947124] [] sdio_io_rw_ext_helper+0x1e4/0x238 > [ 236.947670] [] sdio_memcpy_toio+0x24/0x2c > [ 236.948169] [] wifi_probe+0xa8/0x198 [drvtst] > [ 236.948708] [] sdio_bus_probe+0xb0/0x140 > [ 236.949195] [] driver_probe_device+0x118/0x2b0 > [ 236.949724] [] __driver_attach+0x64/0x90 > [ 236.950212] [] bus_for_each_dev+0x80/0xb0 > [ 236.950706] [] driver_attach+0x20/0x28 > [ 236.951176] [] bus_add_driver+0xe8/0x1ec > [ 236.951661] [] driver_register+0x98/0xe4 > [ 236.952147] [] sdio_register_driver+0x24/0x2c > [ 236.952675] [] wifi_sdio_init+0x30/0x68 [drvtst] > [ 236.953241] [] wifi_drv_init+0xc/0x38 [drvtst] > [ 236.953789] [] do_one_initcall+0x17c/0x198 > [ 236.954293] [] do_init_module+0x60/0x1b8 > [ 236.954779] [] load_module+0x1660/0x1a50 > [ 236.955264] [] SyS_init_module+0x14c/0x180 > [ 236.955765] [] el0_svc_naked+0x24/0x28 > [ 236.956237] Code: d503201f d503201f d503201f d503201f (a8c12027) > [ 236.956794] ---[ end trace 2030cf6e7c948d05 ]--- > [ 236.984113] Kernel panic - not syncing: Fatal exception in interrupt > From mboxrd@z Thu Jan 1 00:00:00 1970 From: robin.murphy@arm.com (Robin Murphy) Date: Fri, 13 Jan 2017 11:03:03 +0000 Subject: [RFC] Kernel panic down to swiotlb when doing insmod a simple driver In-Reply-To: References: Message-ID: <99472068-069a-7759-8d6e-019fd875264d@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 13/01/17 10:00, Shawn Lin wrote: > Hi, > > Sorry for sending this RFC for help as I couldn't find some useful hint > to slove my issue by git-log the swiotlb commit from kernel v4.4 to > v4.9 and I'm also not familar with these stuff. So could you kindly > point me to the right direction to debug it? Thanks. :) > > -------------------------------------- > We just have a very simple wifi driver *built as ko module* which only > have a probe function to do the basic init work and call SDIO API to > transfer some bytes. > > Env: kernel 4.4 stable tree, ARM64(rk3399) > > Two cases are included: And they are both wrong :) > The crash case: > > u8 __aligned(32) buf[PAGE_SIZE]; //global here in ko driver file It is only valid to do DMA from linear map addresses - I'm not sure if the modules area was in the linear map before, but either way it probably isn't now (Ard, Mark?). Either way, I don't believe static data honours ARCH_DMA_MINALIGN in general, so it's still highly inadvisable. > static int wifi_probe(struct sdio_func *func, const struct > sdio_device_id *id) > { > // prepare some SDIO work before > printk("wifi_probe: buf = 0x%x\n", buf); > sdio_memcpy_toio(func, 0, buf, 200); > } > > The workable case: > > static int wifi_probe(struct sdio_func *func, const struct > sdio_device_id *id) > { > > u8 __aligned(32) buf[PAGE_SIZE]; //move inside the probe function No. DMA from the stack is right out, both for the aforementioned alignment reasons, and the fact that we now have (or will have) virtually-mapped stacks. One of the benefits of the latter is that it catches bugs like this ;) Get your buffer from kmalloc() or a page allocation, and everything should be correct. Robin. > // prepare some SDIO work before > printk("wifi_probe: buf = 0x%x\n", buf); > sdio_memcpy_toio(func, 0, buf, 200); > } > > ------------- > How to repro it: > insmod the KO module, then kernel panic when trying to bounce a buffer > in swiotlb but the workable case I didn't see kernel did that memcpy > by adding some log, strange? > > parsing vmlinux, it locates to arch/arm64/lib/copy_template.S:167 > > 165 .Lcpy_body_large: > 166 /* pre-get 64 bytes data. */ > 167 ldp1 A_l, A_h, src, #16 > 168 ldp1 B_l, B_h, src, #16 > 169 ldp1 C_l, C_h, src, #16 > 170 ldp1 D_l, D_h, src, #16 > > -------------------------------------------------------------- > > The full crash log looks like > > [ 236.748210] wifi_probe: buf = 0xffffff8000a40b80 > [ 236.748258] swiotlb_tbl_map_single: orig_addr = 0xfffffffff8c40b80, > tlb_addr = 0xf7eae000 //I added log here > [ 236.748276] Unable to handle kernel paging request at virtual address > fffffffff8c40b80 > [ 236.776486] pgd = ffffffc0b3417000 > [ 236.776789] [fffffffff8c40b80] *pgd=00000000b3427003, > *pud=00000000b3427003, *pmd=0000000000000000 > [ 236.777601] Internal error: Oops: 96000005 [#1] PREEMPT SMP > [ 236.778093] Modules linked in: drvtst(O+) > [ 236.778463] CPU: 0 PID: 1918 Comm: insmod Tainted: G O > 4.4.36 #25 > [ 236.779096] Hardware name: Rockchip RK3399 Evaluation Board v3 edp > (Android) (DT) > [ 236.779753] task: ffffffc0e3db0c40 ti: ffffffc0b342c000 task.ti: > ffffffc0b342c000 > [ 236.780418] PC is at __memcpy+0x100/0x180 > [ 236.780777] LR is at swiotlb_tbl_map_single+0x254/0x274 > [ 236.781237] pc : [] lr : [] > pstate: 20000145 > [ 236.781885] sp : ffffffc0b342f530 > [ 236.782178] x29: ffffffc0b342f530 x28: 0000000000000001 > [ 236.782653] x27: 0000000000200000 x26: ffffffc0e8874810 > [ 236.783127] x25: 0000000000000001 x24: 00000000000000c8 > [ 236.783601] x23: fffffffff8c40b80 x22: ffffff8009158480 > [ 236.784075] x21: 00000000f7eae000 x20: ffffff8009158000 > [ 236.784550] x19: 00000000f7eae000 x18: 00000000004ff888 > [ 236.785023] x17: 0000000000000000 x16: ffffff80081bbc74 > [ 236.785498] x15: 0b030f0000000000 x14: 3034633866666666 > [ 236.785972] x13: 6666666666783020 x12: 3d20726464615f67 > [ 236.786446] x11: 69726f20656c676e x10: 69735f70616d5f6c > [ 236.786919] x9 : 62745f626c746f69 x8 : ffffff80082e8c1c > [ 236.787392] x7 : 0000000000000000 x6 : ffffffc0f7eae000 > [ 236.787866] x5 : 0000000000000001 x4 : 0000000000000000 > [ 236.788340] x3 : 0000000000000007 x2 : 0000000000000048 > [ 236.788815] x1 : fffffffff8c40b80 x0 : ffffffc0f7eae000 > [ 236.789291] > [ 236.789291] PC: 0xffffff8008357940: > [ 236.789728] 7940 36180062 f8408423 f80084c3 36100062 b8404423 > b80044c3 36080062 78402423 > [ 236.790484] 7960 780024c3 36000562 38401423 380014c3 14000028 > f1020042 5400024a a8c12027 > [ 236.791236] 7980 a88120c7 a8c12829 a8c1302b a88128c9 a88130cb > a8c1382d a88138cd f240145f > [ 236.791988] 79a0 54fffba1 1400001b d503201f d503201f d503201f > d503201f d503201f d503201f > [ 236.792739] 79c0 a8c12027 a8c12829 a8c1302b a8c1382d a88120c7 > a8c12027 a88128c9 a8c12829 > [ 236.793490] 79e0 a88130cb a8c1302b a88138cd a8c1382d f1010042 > 54fffeea a88120c7 a88128c9 > [ 236.794243] 7a00 a88130cb a88138cd f240145f 54fff841 d65f03c0 > d503201f d503201f d503201f > [ 236.794995] 7a20 d503201f d503201f d503201f d503201f d503201f > d503201f d503201f d503201f > [ 236.795748] > [ 236.795748] LR: 0xffffff800837cef0: > [ 236.796186] cef0 d0004f81 aa1a03e0 912ad821 aa1803e2 9404fda9 > 1400001b 6b19001f 540000e2 > [ 236.796939] cf10 0b130003 53155001 11000400 8b21c2e1 f8237841 > 17fffff9 d0004f80 b0003821 > [ 236.797694] cf30 912b7800 91344021 aa1703e2 aa1503e3 aa1503f3 > 97f784ba 7100079f 54000128 > [ 236.798445] cf50 d0005fc0 aa1803e2 f9453c01 cb0102a0 cb0102e1 > b25a6400 b25a6421 97ff6a55 > [ 236.799197] cf70 aa1303e0 a94153f3 a9425bf5 a94363f7 a9446bf9 > a94573fb a8c77bfd d65f03c0 > [ 236.799949] cf90 d4210000 90006ee5 911200a5 a9bf7bfd 910003fd > f94018a0 f9401ca5 cb000020 > [ 236.800703] cfb0 934ba800 f86078a5 b10004bf 540003e0 92402820 > 8b0000a5 34000084 7100049f > [ 236.801455] cfd0 54000180 14000018 721e787f 540000c1 d0005fc0 > f9453c03 cb0300a0 cb030021 > [ 236.802209] > [ 236.802209] SP: 0xffffffc0b342f4b0: > [ 236.802647] f4b0 09158480 ffffff80 f8c40b80 ffffffff 000000c8 > 00000000 00000001 00000000 > [ 236.803400] f4d0 e8874810 ffffffc0 00200000 00000000 00000001 > 00000000 b342f530 ffffffc0 > [ 236.804152] f4f0 0837cf70 ffffff80 b342f530 ffffffc0 083579c0 > ffffff80 20000145 00000000 > [ 236.804903] f510 ffffffff 00000000 00000140 00000000 00000000 > 00000080 00000000 00000000 > [ 236.805654] f530 b342f5a0 ffffffc0 0837dc18 ffffff80 00000001 > 00000000 b342f890 ffffffc0 > [ 236.806405] f550 00000001 00000000 00000000 00000000 00000000 > 00000000 09158000 ffffff80 > [ 236.807157] f570 08f76000 ffffff80 09158000 ffffff80 b342f890 > ffffffc0 e8874810 ffffffc0 > [ 236.807909] f590 00000140 00000000 001efd5c 00000000 b342f600 > ffffffc0 0809359c ffffff80 > [ 236.808662] > [ 236.808662] X0: 0xffffffc0f7eadf80: > [ 236.809099] df80 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.809852] dfa0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.810603] dfc0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.811355] dfe0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.812106] e000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.812858] e020 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.813608] e040 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.814360] e060 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.815114] > [ 236.815114] X1: 0xfffffffff8c40b00: > [ 236.815552] 0b00 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.816309] 0b20 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.817065] 0b40 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.817820] 0b60 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.818575] 0b80 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.819328] 0ba0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.820082] 0bc0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.820836] 0be0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.821595] > [ 236.821595] X6: 0xffffffc0f7eadf80: > [ 236.822032] df80 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.822785] dfa0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.823537] dfc0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.824289] dfe0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.825040] e000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.825792] e020 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.826543] e040 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.827295] e060 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.828049] > [ 236.828049] X8: 0xffffff80082e8b9c: > [ 236.828487] 8b9c 14000006 f9400453 14000004 f9400853 14000002 > f9400c53 aa1303e0 94000529 > [ 236.829239] 8bbc aa1303e0 94000532 52800000 14000002 128002a0 > f9400bf3 a8c27bfd d65f03c0 > [ 236.829993] 8bdc a9bf7bfd 71001c1f aa0403e1 910003fd 128002a3 > 54000101 f94048e0 12800163 > [ 236.830746] 8bfc f9400c00 b4000080 2a0603e2 9400049e 2a0003e3 > 2a0303e0 a8c17bfd d65f03c0 > [ 236.831497] 8c1c a9b97bfd 7100081f 910003fd a90363f7 d0006477 > f90023f9 a9025bf5 a90153f3 > [ 236.832249] 8c3c f9452ae2 aa0403f6 f90037a2 53001cb4 aa0603f5 > f94048f3 54000061 f9400660 > [ 236.833002] 8c5c 14000008 71000c1f 54000061 f9400a60 14000004 > 71001c1f 54000101 f9400e60 > [ 236.833754] 8c7c 12800167 b40008a0 aa1603e1 2a1503e2 94000426 > 14000040 128002a7 350007e0 > [ 236.834510] > [ 236.834510] X16: 0xffffff80081bbbf4: > [ 236.834955] bbf4 2a1503e1 97fffec4 3100101f 54000261 d5384100 > f9400800 90000002 912c4042 > [ 236.835708] bc14 91102003 f9020402 f9000476 b9001075 37f80114 > f9401fa0 f9000c60 f94023a0 > [ 236.836460] bc34 f9001060 52800020 b9001460 14000002 b900147f > 12804060 f94027a2 93407c00 > [ 236.837212] bc54 f9452a61 eb01005f 54000040 97fb80af a94153f3 > a9425bf5 a8c57bfd d65f03c0 > [ 236.837964] bc74 a9b67bfd 910003fd a9025bf5 f0006dd6 f90023f9 > a90363f7 aa0003f8 aa0103f7 > [ 236.838716] bc94 f9452ac0 aa0403f9 a90153f3 f9004fa0 aa0203f3 > aa0303f4 b4000302 d5384100 > [ 236.839466] bcb4 f9400400 aa0203e3 b1004063 fa403062 9a9f87e1 > 9101e3a0 b40000c1 aa0203e1 > [ 236.840218] bcd4 d2800202 94066c4a b4000080 1400001d a9007c1f > 1400001b f9403fa1 910223a0 > [ 236.840973] > [ 236.840973] X20: 0xffffff8009157f80: > [ 236.841418] 7f80 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.842169] 7fa0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.842920] 7fc0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.843672] 7fe0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.844422] 8000 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.845174] 8020 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.845925] 8040 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.846677] 8060 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.847431] > [ 236.847431] X22: 0xffffff8009158400: > [ 236.847876] 8400 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.848628] 8420 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.849379] 8440 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.850130] 8460 00000000 00000000 00000000 00000000 00030003 > 00000000 00f100f1 00000000 > [ 236.850882] 8480 00000080 00000000 f7ea6000 00000000 f7eee000 > 00000000 00000000 00000000 > [ 236.851633] 84a0 00010001 00000001 f7f75000 ffffffc0 f7eae000 > 00000000 f7ea5000 ffffffc0 > [ 236.852388] 84c0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.853139] 84e0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.853892] > [ 236.853892] X23: 0xfffffffff8c40b00: > [ 236.854338] 0b00 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.855093] 0b20 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.855846] 0b40 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.856601] 0b60 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.857356] 0b80 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.858109] 0ba0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.858864] 0bc0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.859620] 0be0 ******** ******** ******** ******** ******** > ******** ******** ******** > [ 236.860377] > [ 236.860377] X26: 0xffffffc0e8874790: > [ 236.860822] 4790 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.861573] 47b0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.862324] 47d0 00000000 00000000 00000000 00000000 00000000 > 00000000 00000000 00000000 > [ 236.863075] 47f0 00000000 00000000 00000000 00000000 e885d140 > ffffffc0 ffffffff 00000000 > [ 236.863828] 4810 08fefcc0 ffffff80 e933b480 ffffffc0 e885d140 > ffffffc0 e5b7c020 ffffffc0 > [ 236.864581] 4830 e5b24430 ffffffc0 08fefcd0 ffffff80 e929d480 > ffffffc0 08fef9d0 ffffff80 > [ 236.865335] 4850 e88999d8 ffffffc0 00000005 00000007 00000000 > 00000000 00000000 00000000 > [ 236.866087] 4870 00000001 00000000 e8874878 ffffffc0 e8874878 > ffffffc0 00000000 00000000 > [ 236.866843] > [ 236.866843] X29: 0xffffffc0b342f4b0: > [ 236.867288] f4b0 09158480 ffffff80 f8c40b80 ffffffff 000000c8 > 00000000 00000001 00000000 > [ 236.868041] f4d0 e8874810 ffffffc0 00200000 00000000 00000001 > 00000000 b342f530 ffffffc0 > [ 236.868794] f4f0 0837cf70 ffffff80 b342f530 ffffffc0 083579c0 > ffffff80 20000145 00000000 > [ 236.869547] f510 ffffffff 00000000 00000140 00000000 00000000 > 00000080 00000000 00000000 > [ 236.870297] f530 b342f5a0 ffffffc0 0837dc18 ffffff80 00000001 > 00000000 b342f890 ffffffc0 > [ 236.871049] f550 00000001 00000000 00000000 00000000 00000000 > 00000000 09158000 ffffff80 > [ 236.871800] f570 08f76000 ffffff80 09158000 ffffff80 b342f890 > ffffffc0 e8874810 ffffffc0 > [ 236.872552] f590 00000140 00000000 001efd5c 00000000 b342f600 > ffffffc0 0809359c ffffff80 > [ 236.873304] > [ 236.873442] Process insmod (pid: 1918, stack limit = 0xffffffc0b342c020) > [ 236.874031] Stack: (0xffffffc0b342f530 to 0xffffffc0b3430000) > [ 236.874539] f520: ffffffc0b342f5a0 > ffffff800837dc18 > [ 236.875226] f540: 0000000000000001 ffffffc0b342f890 0000000000000001 > 0000000000000000 > [ 236.875915] f560: 0000000000000000 ffffff8009158000 ffffff8008f76000 > ffffff8009158000 > [ 236.876605] f580: ffffffc0b342f890 ffffffc0e8874810 0000000000000140 > 00000000001efd5c > [ 236.877293] f5a0: ffffffc0b342f600 ffffff800809359c ffffffc0b342f890 > ffffffc0e8874810 > [ 236.877981] f5c0: 0000000000000000 0000000000000001 0000000000000001 > ffffffc0b342f938 > [ 236.878670] f5e0: ffffffc0b342f8f0 ffffffc0e5b7c738 0000000000001000 > 0000000000000000 > [ 236.879358] f600: ffffffc0b342f640 ffffff800871113c ffffffc0b342f8f0 > ffffff8008f88b60 > [ 236.880047] f620: 0000000000000000 ffffffc0e8874810 0000000000000001 > ffffff8000a40b80 > [ 236.880735] f640: ffffffc0b342f6a0 ffffff80087129cc ffffffc0e5b45018 > ffffffc0b342f8b0 > [ 236.881423] f660: ffffff8008f76000 0000000020002775 ffffffc0e5b7c700 > ffffffc0b342f8b0 > [ 236.882112] f680: ffffff8008f76000 0000000000000001 ffffffc0b342f890 > 0000000000000001 > [ 236.882800] f6a0: ffffffc0b342f730 ffffff80087132e0 ffffffc0e5b45018 > ffffffc0e5b7c000 > [ 236.883489] f6c0: ffffffc0e5b7c700 ffffff8000a40b80 ffffff8008f76000 > ffffffc0b342f8b0 > [ 236.884178] f6e0: ffffffc0b342f938 ffffffc0b342f8f0 0000000000001000 > ffffff800871325c > [ 236.884867] f700: ffffffc0e5b45018 ffffffc0e5b7c000 ffffffc0e5b7c700 > ffffff8000a40b80 > [ 236.885555] f720: ffffff8008f76000 cb88537fdc8ba624 ffffffc0b342f770 > ffffff80086f8b44 > [ 236.886243] f740: ffffffc0e5b7c000 00000000000001f4 00000000ffffff85 > ffffff80086f8ac0 > [ 236.886931] f760: ffffffc0e5b7c000 ffffffc0b342f938 ffffffc0b342f7a0 > ffffff80087ae0e8 > [ 236.887619] f780: ffffffc0b342f938 ffffffc0e5b7c000 00000000ffffff85 > ffffffc0b342f938 > [ 236.888308] f7a0: ffffffc0b342f7c0 ffffff80086f9c74 ffffffc0e5b7c000 > ffffffc0b342f938 > [ 236.888996] f7c0: ffffffc0b342f800 ffffff800870421c 00000000000000c8 > 0000000000000001 > [ 236.889685] f7e0: ffffffc0e5b7c800 ffffff8000a40b80 ffffff8008f76000 > ffffffc0b342f8b0 > [ 236.890372] f800: ffffffc0b342f9a0 ffffff8008705800 00000000000000c8 > 0000000000000000 > [ 236.891061] f820: ffffff8000a40b80 0000000000000001 ffffff8008dfdc48 > ffffff8008dfdc81 > [ 236.891748] f840: ffffff8008dfdcdb 0000000000000001 ffffffc0e5b44c00 > 00000000000000c8 > [ 236.892436] f860: ffffffc0e5b44c00 00000000000000c8 000000000000002a > ffffff800911d000 > [ 236.893125] f880: 0000000000000140 ffffff8000000000 03ffffbdbfe31002 > 000000c800000b80 > [ 236.893813] f8a0: 0000000000000000 0000000000000000 940000c800000035 > 0000000000000000 > [ 236.894501] f8c0: 0000000000000000 00000000000001b5 00000000ffffff8d > 0000000000000000 > [ 236.895190] f8e0: ffffffc0b342f8f0 ffffffc0b342f938 000000003b9aca00 > 00000001000000c8 > [ 236.895878] f900: 00000100ffffff8d 0000000000000000 0000000000000000 > ffffffc0b342f938 > [ 236.896566] f920: 0000000000000001 ffffffc0b342f890 0000000000000000 > 0000000000000000 > [ 236.897254] f940: ffffffc0b342f8b0 ffffffc0b342f8f0 0000000000000000 > 0000000000000000 > [ 236.897942] f960: 0000000000000000 ffffffc0b342f968 ffffffc0b342f968 > ffffff80086f8b98 > [ 236.898630] f980: 0000000000000000 0000000000000000 0000000000000000 > cb88537fdc8ba624 > [ 236.899319] f9a0: ffffffc0b342fa00 ffffff8008705954 ffffffc0e5b44c00 > 00000000000000c8 > [ 236.900007] f9c0: ffffff8000a40b80 ffffff8000a410a0 ffffff8000a407d8 > 0000000000000029 > [ 236.900695] f9e0: 0000000000000000 ffffffc0e926a480 0000000000000001 > 0000000000000038 > [ 236.901384] fa00: ffffffc0b342fa10 ffffff8000a40108 ffffffc0b342fa60 > ffffff8008704734 > [ 236.902072] fa20: ffffffc0e5b44c08 0000000000000000 ffffffc0e5b44c00 > ffffff8000a40410 > [ 236.902760] fa40: ffffff8000a407d8 0000000000000029 0000000000000000 > ffffff8008704704 > [ 236.903447] fa60: ffffffc0b342faa0 ffffff80084bfd6c ffffffc0e5b44c08 > 0000000000000000 > [ 236.904136] fa80: ffffff800915d000 ffffff8008fef000 ffffff8000a407d8 > 0000000000000000 > [ 236.904824] faa0: ffffffc0b342faf0 ffffff80084bff68 ffffffc0e5b44c08 > ffffffc0e5b44c68 > [ 236.905512] fac0: ffffff8000a407d8 ffffff80084bff04 ffffff8009028a38 > 0000000000000000 > [ 236.906201] fae0: 0000000000000000 ffffff80084bff40 ffffffc0b342fb20 > ffffff80084bee18 > [ 236.906889] fb00: 0000000000000000 ffffff8008f76000 ffffff8000a407d8 > ffffff80084bff04 > [ 236.907577] fb20: ffffffc0b342fb70 ffffff80084bf8ac ffffff8000a407d8 > 0000000000000000 > [ 236.908265] fb40: ffffffc0f6e996c0 ffffff8008fef000 ffffffc0b342fb60 > ffffffc0e8b8f4a8 > [ 236.908953] fb60: ffffffc0e5486ea8 cb88537fdc8ba624 ffffffc0b342fb80 > ffffff80084bf45c > [ 236.909641] fb80: ffffffc0b342fbc0 ffffff80084c0afc ffffff8000a407d8 > ffffff8008f84b20 > [ 236.910329] fba0: 0000000000000000 ffffff8008f76000 ffffff8008f84b20 > cb88537fdc8ba624 > [ 236.911017] fbc0: ffffffc0b342fbf0 ffffff8008704580 ffffff8000a44000 > ffffff8008f84b20 > [ 236.911706] fbe0: ffffffc0f6dda1c0 ffffff8008f76000 ffffffc0b342fc00 > ffffff8000a40228 > [ 236.912394] fc00: ffffffc0b342fc10 ffffff8000a4400c ffffffc0b342fc20 > ffffff8008082ba4 > [ 236.913082] fc20: ffffffc0b342fcb0 ffffff800815e564 ffffff8000a40880 > ffffff8008f96000 > [ 236.913770] fc40: 0000000000000001 ffffffc0d58a1e40 ffffff8008a4a2d0 > 0000000000000000 > [ 236.914458] fc60: 0000000000000001 ffffff8008f96000 ffffff8008a4a2d0 > 0000000000000000 > [ 236.915146] fc80: 0000000000000000 ffffffc0e926a480 0000000000000001 > ffffffc0b342fe50 > [ 236.915835] fca0: 0000000000000001 cb88537fdc8ba624 ffffffc0b342fce0 > ffffff80081150f0 > [ 236.916523] fcc0: ffffff8000a40880 ffffffc0b342fe50 0000000000000001 > ffffff8008f96000 > [ 236.917212] fce0: ffffffc0b342fe00 ffffff800811562c 00000000000014d8 > ffffff800ca364d8 > [ 236.917900] fd00: 0000007f922804e8 0000000000000000 ffffff8008f76000 > 000000555bb25d20 > [ 236.918588] fd20: 0000000000010000 ffffffc0b342c000 ffffff8008a42000 > ffffffc0b342c000 > [ 236.919275] fd40: 0000000000000077 0000000000000076 0000000000000064 > 0000000000000072 > [ 236.919963] fd60: 000000000000006e 0000000000000018 0000000000000040 > 0000000000000040 > [ 236.920652] fd80: ffffff8000a42500 ffffff8008f76000 0000000000000124 > ffffff8008112064 > [ 236.921340] fda0: ffffff8008f76000 000000555bb25d20 000000000000011d > 0000000000000069 > [ 236.922028] fdc0: ffffffc0b342fe00 0000000000000000 0000000000000000 > 0000000000000000 > [ 236.922716] fde0: 0000007f00000000 0000000000000000 ffffffc000000000 > cb88537fdc8ba624 > [ 236.923405] fe00: 0000000000000000 ffffff80080826f0 0000000000000000 > 0000007f9223f010 > [ 236.924092] fe20: ffffffffffffffff 0000007f9235e904 0000000060000000 > 0000000000000015 > [ 236.924780] fe40: 000000000000011d 0000000000000069 ffffff800c9f5000 > 00000000000414d8 > [ 236.925469] fe60: ffffff800ca35bd8 ffffff800ca1711f ffffff800ca17d08 > 0000000000002500 > [ 236.926157] fe80: 0000000000002b00 0000000000000000 0000000000000000 > 0000000000000dd8 > [ 236.926844] fea0: 0000002300000022 000000000000000d 0000000000000009 > cb88537fdc8ba624 > [ 236.927532] fec0: 0000007f9223f010 00000000000414d8 000000555bb25d20 > 0000000000000000 > [ 236.928220] fee0: 0000000000000001 0000000000000000 0000000000000000 > 0000007f9223f000 > [ 236.928909] ff00: 0000000000000069 0000007f9223f010 0000000000042000 > 0000000000000001 > [ 236.929597] ff20: 0000007f92280fe0 0000007f92281000 0000007f923f4a70 > 0000000000002000 > [ 236.930285] ff40: 000000555bb23ae0 0000007f9235e8e4 0000000000000f00 > 00000000000414d8 > [ 236.930972] ff60: 0000007f9223f010 0000000000000003 00000000000414d8 > 0000000000000000 > [ 236.931660] ff80: 0000000000000000 000000555bb26d20 0000000000000010 > 0000000000000000 > [ 236.932348] ffa0: 0000000000000000 0000007fe750e100 000000555bade83c > 0000007fe750e0b0 > [ 236.933036] ffc0: 0000007f9235e904 0000000060000000 0000007f9223f010 > 0000000000000069 > [ 236.933725] ffe0: 0000000000000000 0000000000000000 3420320216190109 > 7375020101333632 > [ 236.934409] Call trace: > [ 236.934632] Exception stack(0xffffffc0b342f340 to 0xffffffc0b342f470) > [ 236.935200] f340: 00000000f7eae000 0000008000000000 ffffffc0b342f530 > ffffff80083579c0 > [ 236.935888] f360: 0000000020000145 0000000000000053 ffffff8008f93688 > 000000000007e7b8 > [ 236.936577] f380: 0000000000000002 ffffff8008f93688 0000000000000063 > 000000000909b7e8 > [ 236.937266] f3a0: ffffffc0b342f440 ffffff80080e8d08 ffffff8008f76000 > ffffff80080e8cd4 > [ 236.937953] f3c0: 00000000f7eae000 ffffff8009158480 fffffffff8c40b80 > 00000000000000c8 > [ 236.938641] f3e0: 0000000000000001 ffffffc0e8874810 0000000000200000 > cb88537fdc8ba624 > [ 236.939329] f400: ffffffc0f7eae000 fffffffff8c40b80 0000000000000048 > 0000000000000007 > [ 236.940017] f420: 0000000000000000 0000000000000001 ffffffc0f7eae000 > 0000000000000000 > [ 236.940705] f440: ffffff80082e8c1c 62745f626c746f69 69735f70616d5f6c > 69726f20656c676e > [ 236.941392] f460: 3d20726464615f67 6666666666783020 > [ 236.941826] [] __memcpy+0x100/0x180 > [ 236.942274] [] swiotlb_map_sg_attrs+0xa8/0x170 > [ 236.942810] [] __swiotlb_map_sg_attrs+0x24/0x8c > [ 236.943353] [] > dw_mci_pre_dma_transfer.isra.16+0xf0/0x11c > [ 236.943967] [] __dw_mci_start_request+0x17c/0x4d0 > [ 236.944520] [] dw_mci_request+0xb8/0xf0 > [ 236.945002] [] __mmc_start_request+0x9c/0xc0 > [ 236.945520] [] mmc_start_request.part.17+0x100/0x11c > [ 236.946097] [] mmc_wait_for_req+0x78/0x1a8 > [ 236.946600] [] mmc_io_rw_extended+0x27c/0x2fc > [ 236.947124] [] sdio_io_rw_ext_helper+0x1e4/0x238 > [ 236.947670] [] sdio_memcpy_toio+0x24/0x2c > [ 236.948169] [] wifi_probe+0xa8/0x198 [drvtst] > [ 236.948708] [] sdio_bus_probe+0xb0/0x140 > [ 236.949195] [] driver_probe_device+0x118/0x2b0 > [ 236.949724] [] __driver_attach+0x64/0x90 > [ 236.950212] [] bus_for_each_dev+0x80/0xb0 > [ 236.950706] [] driver_attach+0x20/0x28 > [ 236.951176] [] bus_add_driver+0xe8/0x1ec > [ 236.951661] [] driver_register+0x98/0xe4 > [ 236.952147] [] sdio_register_driver+0x24/0x2c > [ 236.952675] [] wifi_sdio_init+0x30/0x68 [drvtst] > [ 236.953241] [] wifi_drv_init+0xc/0x38 [drvtst] > [ 236.953789] [] do_one_initcall+0x17c/0x198 > [ 236.954293] [] do_init_module+0x60/0x1b8 > [ 236.954779] [] load_module+0x1660/0x1a50 > [ 236.955264] [] SyS_init_module+0x14c/0x180 > [ 236.955765] [] el0_svc_naked+0x24/0x28 > [ 236.956237] Code: d503201f d503201f d503201f d503201f (a8c12027) > [ 236.956794] ---[ end trace 2030cf6e7c948d05 ]--- > [ 236.984113] Kernel panic - not syncing: Fatal exception in interrupt >