Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756041AbbBPPJm (ORCPT ); Mon, 16 Feb 2015 10:09:42 -0500 Received: from mailout1.w1.samsung.com ([210.118.77.11]:65365 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753112AbbBPPJk (ORCPT ); Mon, 16 Feb 2015 10:09:40 -0500 X-AuditID: cbfec7f4-b7f126d000001e9a-2a-54e207a097e9 Message-id: <54E2082F.4000100@samsung.com> Date: Mon, 16 Feb 2015 18:09:35 +0300 From: Andrey Ryabinin User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-version: 1.0 To: Dmitry Vyukov Cc: Rusty Russell , LKML , Konstantin Serebryany , Dmitry Chernenkov , Andrey Konovalov , Yuri Gribov , Konstantin Khlebnikov , Sasha Levin , Christoph Lameter , Joonsoo Kim , Andrew Morton , Dave Hansen , Andi Kleen , "x86@kernel.org" , "linux-mm@kvack.org" , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Michal Marek , "open list:KERNEL BUILD + fi..." Subject: Re: [PATCH v11 19/19] kasan: enable instrumentation of global variables References: <1404905415-9046-1-git-send-email-a.ryabinin@samsung.com> <1422985392-28652-1-git-send-email-a.ryabinin@samsung.com> <1422985392-28652-20-git-send-email-a.ryabinin@samsung.com> <87a90ea7ge.fsf@rustcorp.com.au> <54E20238.3090902@samsung.com> In-reply-to: Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrOIsWRmVeSWpSXmKPExsVy+t/xy7oL2B+FGPw6L2Lxe+9MVos569ew WRy59p3d4vq3N4wWn14+YLR4/vAhu8WEh23sFtM2ilus7G5ms9j+7C2TxcrOB6wWf3btYLK4 vGsOm8W9Nf9ZLS4dWMBk0bLvApPFzWkXWCwWH7nNbPHu2WRmi82bpjJb/NjwmNVB1GP+zo+M Hjtn3WX3WLCp1GPxnpdMHptWdbJ5bPo0id2j6+0VJo93586xe5yY8ZvF48mV6UweH5/eYvF4 v+8qm8eKDSeYPc4sOMLu8XmTnMeJli+sAQJRXDYpqTmZZalF+nYJXBmXjx1hL9gjWtG49QRT A+MaoS5GTg4JAROJ//NfMELYYhIX7q1nA7GFBJYySrx8a9fFyAVkNzNJbN5wiwUkwSugJfFk 8TOwIhYBVYlpF34xgdhsAnoS/2ZtB4uLCkRIzD/2mhmiXlDix+R7YL0iAmoSja972ECGMgvM Y5PY9vYv2GZhgQCJhkNzmSG2nWSSePFrIXsXIwcHp0CwxOMtwSAms4C6xJQpuSDlzALyEpvX vGWewCgwC8mKWQhVs5BULWBkXsUomlqaXFCclJ5rqFecmFtcmpeul5yfu4kREtlfdjAuPmZ1 iFGAg1GJh3dD2IMQIdbEsuLK3EOMEhzMSiK8y94/DBHiTUmsrEotyo8vKs1JLT7EyMTBKdXA yP9yp1Rw7Lbdvs+X5maxxs7I++pzTd5GrPHeFdtap+mzG9hmF/eyrFhdJm3aksayvs5+/+sN gkzxLzNXuOc7GBX9SN0jmM70X6Wk79t1r/zrwSce9dx3+Rap4Pv/12LhZTEn7vauvrhXrdPI Kzm1+Sincb2b9o4Ou1g+4x21Qv+l9/eJlCkpsRRnJBpqMRcVJwIANHV2FMoCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2940 Lines: 58 On 02/16/2015 05:47 PM, Dmitry Vyukov wrote: > Can a module be freed in an interrupt? > > Since commit: c749637909ee ("module: fix race in kallsyms resolution during module load success.") module's init section always freed rcu callback (rcu callbacks executed from softirq) Currently, with DEBUG_PAGEALLOC and KASAN module loading always causing kernel crash. It's harder to trigger this without DEBUG_PAGEALLOC because of lazy tlb flushing in vmalloc. BUG: unable to handle kernel paging request at fffffbfff4011000 IP: [] __asan_load8+0x2b/0xa0 PGD 7ffa3063 PUD 7ffa2063 PMD 484ea067 PTE 0 Oops: 0000 [#1] SMP DEBUG_PAGEALLOC KASAN Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: ipv6 CPU: 0 PID: 30 Comm: kworker/0:1 Tainted: G W 3.19.0-rc7-next-20150209+ #209 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014 Workqueue: events free_work task: ffff88006c5a8870 ti: ffff88006c630000 task.ti: ffff88006c630000 RIP: 0010:[] [] __asan_load8+0x2b/0xa0 RSP: 0018:ffff88006c637cd8 EFLAGS: 00010286 RAX: fffffbfff4011000 RBX: ffffffffa0088000 RCX: ffffed000da000a9 RDX: dffffc0000000000 RSI: 0000000000000001 RDI: ffffffffa0088000 RBP: ffff88006c637d08 R08: 0000000000000000 R09: ffff88006d007840 R10: ffff88006d000540 R11: ffffed000da000a9 R12: ffffffffa0088000 R13: ffff88006d61a5d8 R14: ffff88006d61a5d8 R15: ffff88006d61a5c0 FS: 0000000000000000(0000) GS:ffff88006d600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: fffffbfff4011000 CR3: 000000004d967000 CR4: 00000000000006b0 Stack: ffff88006c637ce8 fffffbfff4011000 ffffffffa0088000 ffff88006d61a5d8 ffff88006d61a5d8 ffff88006d61a5c0 ffff88006c637d28 ffffffff811bb1b8 ffff88006c5bc618 ffff88006d617b28 ffff88006c637db8 ffffffff8108e1b0 Call Trace: [] free_work+0x38/0x60 [] process_one_work+0x2a0/0x7d0 [] worker_thread+0x93/0x840 [] ? init_pwq.part.11+0x10/0x10 [] kthread+0x177/0x1a0 [] ? kthread_worker_fn+0x290/0x290 [] ? kthread_worker_fn+0x290/0x290 [] ret_from_fork+0x7c/0xb0 [] ? kthread_worker_fn+0x290/0x290 Code: 48 b8 ff ff ff ff ff 7f ff ff 55 48 89 e5 48 83 ec 30 48 39 c7 76 59 48 ba 00 00 00 00 00 fc ff df 48 89 f8 48 c1 e8 03 48 01 d0 <66> 83 38 00 75 07 c9 c3 0f 1f 44 00 00 48 8d 4f 07 48 89 ce 48 RIP [] __asan_load8+0x2b/0xa0 RSP CR2: fffffbfff4011000 ---[ end trace b9411d841784b6cf ]--- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/