>This doesn't show the backtrace part which contains the allocation AFAICS. My bad. Here is a complete dump: [ 264.082531] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM [ 264.088350] Modules linked in: [ 264.091406] CPU: 0 PID: 3805 Comm: kworker/0:4 Tainted: G W 3.10.33-g990282b #1 [ 264.099572] Workqueue: events netstat_work_func [ 264.104097] task: e7b12040 ti: dc7d4000 task.ti: dc7d4000 [ 264.109485] PC is at zs_map_object+0x180/0x18c [ 264.113918] LR is at zram_bvec_rw.isra.15+0x304/0x88c [ 264.118956] pc : [] lr : [] psr: 200f0013 [ 264.118956] sp : dc7d5460 ip : fff00814 fp : 00000002 [ 264.130407] r10: ea8ec000 r9 : ebc93340 r8 : 00000000 [ 264.135618] r7 : c191502c r6 : dc7d4020 r5 : d25f5684 r4 : ec3158c0 [ 264.142128] r3 : 00000200 r2 : 00000002 r1 : c191502c r0 : ea8ec000 -------- [ 265.772426] [] (zs_map_object+0x180/0x18c) from [] (zram_bvec_rw.isra.15+0x304/0x88c) [ 265.781973] [] (zram_bvec_rw.isra.15+0x304/0x88c) from [] (zram_make_request+0x1d8/0x378) [ 265.791868] [] (zram_make_request+0x1d8/0x378) from [] (generic_make_request+0xb0/0xdc) [ 265.801588] [] (generic_make_request+0xb0/0xdc) from [] (submit_bio+0x88/0x140) [ 265.810617] [] (submit_bio+0x88/0x140) from [] (__swap_writepage+0x198/0x230) [ 265.819471] [] (__swap_writepage+0x198/0x230) from [] (shrink_page_list+0x4e0/0x974) [ 265.828930] [] (shrink_page_list+0x4e0/0x974) from [] (shrink_inactive_list+0x150/0x3c8) [ 265.838736] [] (shrink_inactive_list+0x150/0x3c8) from [] (shrink_lruvec+0x20c/0x448) [ 265.848282] [] (shrink_lruvec+0x20c/0x448) from [] (shrink_zone+0x78/0x188) [ 265.856960] [] (shrink_zone+0x78/0x188) from [] (do_try_to_free_pages+0x100/0x544) [ 265.866246] [] (do_try_to_free_pages+0x100/0x544) from [] (try_to_free_pages+0x238/0x428) [ 265.876140] [] (try_to_free_pages+0x238/0x428) from [] (__alloc_pages_nodemask+0x5b0/0x90c) [ 265.886207] [] (__alloc_pages_nodemask+0x5b0/0x90c) from [] (__get_free_pages+0x1c/0x34) [ 265.896014] [] (__get_free_pages+0x1c/0x34) from [] (tcp4_seq_show+0x248/0x4b4) [ 265.905042] [] (tcp4_seq_show+0x248/0x4b4) from [] (seq_read+0x1e4/0x484) [ 265.913550] [] (seq_read+0x1e4/0x484) from [] (proc_reg_read+0x60/0x88) [ 265.921884] [] (proc_reg_read+0x60/0x88) from [] (vfs_read+0xa0/0x14c) [ 265.930129] [] (vfs_read+0xa0/0x14c) from [] (SyS_read+0x44/0x80) [ 265.937942] [] (SyS_read+0x44/0x80) from [] (netstat_work_func+0x54/0xec) [ 265.946450] [] (netstat_work_func+0x54/0xec) from [] (process_one_work+0x13c/0x454) [ 265.955823] [] (process_one_work+0x13c/0x454) from [] (worker_thread+0x140/0x3dc) 265.965022] [] (worker_thread+0x140/0x3dc) from [] (kthread+0xe0/0xe4) [ 265.973269] [] (kthread+0xe0/0xe4) from [] (ret_from_fork+0x14/0x20) [ 264.148640] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [ 264.155930] Control: 30c5387d Table: aaf7c000 DAC: fffffffd On Wednesday 03 October 2018 04:31 PM, Michal Hocko wrote: > On Wed 03-10-18 16:18:37, Ashish Mhetre wrote: >>> How? No allocation request from the interrupt context can use a >>> sleepable allocation context and that means that no reclaim is allowed >>> from the IRQ context. >> Kernel Oops happened when ZRAM was used as swap with zsmalloc as alloctor >> under memory pressure condition. >> This is probably because of kmalloc() from IRQ as pointed out by Sergey. > Yes most likely and that should be fixed. > >>> Could you provide the Oops message? >> BUG_ON() got triggered at https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/mm/zsmalloc.c?h=next-20181002#n1324 with Oops message: >> [ 264.082531] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM >> [ 264.088350] Modules linked in: >> [ 264.091406] CPU: 0 PID: 3805 Comm: kworker/0:4 Tainted: G W >> 3.10.33-g990282b #1 >> [ 264.099572] Workqueue: events netstat_work_func >> [ 264.104097] task: e7b12040 ti: dc7d4000 task.ti: dc7d4000 >> [ 264.109485] PC is at zs_map_object+0x180/0x18c >> [ 264.113918] LR is at zram_bvec_rw.isra.15+0x304/0x88c >> [ 264.118956] pc : [] lr : [] psr: 200f0013 >> [ 264.118956] sp : dc7d5460 ip : fff00814 fp : 00000002 >> [ 264.130407] r10: ea8ec000 r9 : ebc93340 r8 : 00000000 >> [ 264.135618] r7 : c191502c r6 : dc7d4020 r5 : d25f5684 r4 : ec3158c0 >> [ 264.142128] r3 : 00000200 r2 : 00000002 r1 : c191502c r0 : ea8ec000 > This doesn't show the backtrace part which contains the allocation > AFAICS.