Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stackdepot runs out of capacity #36

Closed
dvyukov opened this issue Jul 5, 2016 · 10 comments
Closed

stackdepot runs out of capacity #36

dvyukov opened this issue Jul 5, 2016 · 10 comments
Assignees
Labels
KASAN KASAN-related issues

Comments

@dvyukov
Copy link
Collaborator

dvyukov commented Jul 5, 2016

Syzkaller constantly runs out of stackdepot capacity.
It is reproducible even on a local instance constantly replaying a single program, so I suspect that there is some kind of bug (potentially related to interrupts). Here is one report from local qemu instance:

[ 2346.999011] ------------[ cut here ]------------
[ 2346.999051] WARNING: CPU: 3 PID: 27963 at lib/stackdepot.c:119 depot_save_stack+0x34f/0x5b0
[ 2346.999051] Stack depot reached limit capacity
[ 2346.999051] Modules linked in:
[ 2346.999051] CPU: 3 PID: 27963 Comm: syz-executor Not tainted 4.7.0-rc5+ #28
[ 2346.999051] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
[ 2346.999051]  ffffffff880b58e0 ffff88006d5077d8 ffffffff82cc01af ffffffff814955e8
[ 2346.999051]  fffffbfff1016b1c ffff88006d507850 0000000000000000 ffffffff87e76459
[ 2347.003057]  ffffffff82d8d9bf 0000000000000009 ffff88006d507820 ffffffff8136d17f
[ 2347.003057] Call Trace:
[ 2347.003057]  <IRQ>  [<ffffffff82cc01af>] dump_stack+0x12e/0x18f
[ 2347.003057]  [<ffffffff814955e8>] ? vprintk_default+0x28/0x30
[ 2347.003057]  [<ffffffff82d8d9bf>] ? depot_save_stack+0x34f/0x5b0
[ 2347.003057]  [<ffffffff8136d17f>] __warn+0x19f/0x1e0
[ 2347.003057]  [<ffffffff8136d26c>] warn_slowpath_fmt+0xac/0xd0
[ 2347.003057]  [<ffffffff8136d1c0>] ? __warn+0x1e0/0x1e0
[ 2347.003057]  [<ffffffff82d8d9bf>] depot_save_stack+0x34f/0x5b0
[ 2347.003057]  [<ffffffff816a1f1d>] ? mempool_free_slab+0x1d/0x30
[ 2347.003057]  [<ffffffff817b8951>] save_stack+0xb1/0xd0
[ 2347.003057]  [<ffffffff81223756>] ? save_stack_trace+0x26/0x50
[ 2347.003057]  [<ffffffff817b88e6>] ? save_stack+0x46/0xd0
[ 2347.003057]  [<ffffffff817b90cb>] ? kasan_slab_free+0x9b/0xd0
[ 2347.003057]  [<ffffffff817b62f6>] ? kmem_cache_free+0x76/0x310
[ 2347.003057]  [<ffffffff816a1f1d>] ? mempool_free_slab+0x1d/0x30
[ 2347.003057]  [<ffffffff816a3044>] ? mempool_free+0xd4/0x1d0
[ 2347.003057]  [<ffffffff82c1084f>] ? bio_free+0xef/0x1b0
[ 2347.003057]  [<ffffffff82c109a8>] ? bio_put+0x98/0xc0
[ 2347.003057]  [<ffffffff81ad88bf>] ? ext4_end_bio+0x11f/0x460
[ 2347.003057]  [<ffffffff82c10b72>] ? bio_endio+0x1a2/0x200
[ 2347.013074]  [<ffffffff82c30d0c>] ? blk_update_request+0x1bc/0xc80
[ 2347.013074]  [<ffffffff83aa5bbd>] ? scsi_end_request+0x9d/0x5b0
[ 2347.013074]  [<ffffffff83aaf220>] ? scsi_io_completion+0x470/0x1340
[ 2347.013074]  [<ffffffff83a92f6c>] ? scsi_finish_command+0x3ac/0x530
[ 2347.013074]  [<ffffffff83aada19>] ? scsi_softirq_done+0x2a9/0x350
[ 2347.013074]  [<ffffffff82c51018>] ? __blk_mq_complete_request_remote+0x58/0x70
[ 2347.013074]  [<ffffffff81515e2f>] ? flush_smp_call_function_queue+0xdf/0x3e0
[ 2347.013074]  [<ffffffff81517b23>] ? generic_smp_call_function_single_interrupt+0x13/0x80
[ 2347.013074]  [<ffffffff8125a4df>] ? smp_call_function_single_interrupt+0x5f/0x80
[ 2347.013074]  [<ffffffff86a961ec>] ? call_function_single_interrupt+0x8c/0xa0
[ 2347.013074]  [<ffffffff817e6b1d>] ? get_mem_cgroup_from_mm+0x2ad/0x4a0
[ 2347.013074]  [<ffffffff817f662a>] ? mem_cgroup_try_charge+0x17a/0x690
[ 2347.013074]  [<ffffffff8174030c>] ? handle_pte_fault+0x382c/0x4960
[ 2347.013074]  [<ffffffff817428ab>] ? handle_mm_fault+0xeab/0x11a0
[ 2347.013074]  [<ffffffff81290e67>] ? __do_page_fault+0x457/0xbb0
[ 2347.013074]  [<ffffffff8129170f>] ? trace_do_page_fault+0xdf/0x5b0
[ 2347.013074]  [<ffffffff81281c24>] ? do_async_page_fault+0x14/0xd0
[ 2347.013074]  [<ffffffff86a96fb8>] ? async_page_fault+0x28/0x30
[ 2347.013074]  [<ffffffff82cc23d4>] ? __fprop_inc_percpu_max+0x164/0x200
[ 2347.013074]  [<ffffffff814b4be7>] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 2347.013074]  [<ffffffff82ccf120>] ? node_tag_clear+0x190/0x190
[ 2347.013074]  [<ffffffff816ca570>] ? test_clear_page_writeback+0x100/0x830
[ 2347.013074]  [<ffffffff81470fed>] ? trace_hardirqs_off+0xd/0x10
[ 2347.013074]  [<ffffffff817ba16a>] ? quarantine_put+0xea/0x140
[ 2347.013074]  [<ffffffff817b90cb>] kasan_slab_free+0x9b/0xd0
[ 2347.013074]  [<ffffffff817b62f6>] kmem_cache_free+0x76/0x310
[ 2347.013074]  [<ffffffff816a1f00>] ? mempool_kfree+0x20/0x20
[ 2347.013074]  [<ffffffff816a1f1d>] mempool_free_slab+0x1d/0x30
[ 2347.013074]  [<ffffffff816a3044>] mempool_free+0xd4/0x1d0
[ 2347.013074]  [<ffffffff82c1084f>] bio_free+0xef/0x1b0
[ 2347.013074]  [<ffffffff82c109a8>] bio_put+0x98/0xc0
[ 2347.013074]  [<ffffffff81ad88bf>] ext4_end_bio+0x11f/0x460
[ 2347.013074]  [<ffffffff82c30a31>] ? blk_account_io_completion+0x2f1/0x410
[ 2347.013074]  [<ffffffff82c0bc89>] ? bio_advance+0x109/0x380
[ 2347.013074]  [<ffffffff81ad87a0>] ? ext4_put_io_end_defer+0x2f0/0x2f0
[ 2347.013074]  [<ffffffff82c10b72>] bio_endio+0x1a2/0x200
[ 2347.013074]  [<ffffffff82c30d0c>] blk_update_request+0x1bc/0xc80
[ 2347.013074]  [<ffffffff83aa5bbd>] scsi_end_request+0x9d/0x5b0
[ 2347.013074]  [<ffffffff83aaf220>] scsi_io_completion+0x470/0x1340
[ 2347.013074]  [<ffffffff83b960ea>] ? sd_done+0x34a/0xab0
[ 2347.013074]  [<ffffffff83aaedb0>] ? scsi_unblock_requests+0x50/0x50
[ 2347.013074]  [<ffffffff83a99742>] ? scsi_handle_queue_ramp_up+0x332/0x430
[ 2347.013074]  [<ffffffff8126010a>] ? lapic_next_event+0x5a/0x90
[ 2347.013074]  [<ffffffff83a92f6c>] scsi_finish_command+0x3ac/0x530
[ 2347.013074]  [<ffffffff83aada19>] scsi_softirq_done+0x2a9/0x350
[ 2347.013074]  [<ffffffff8162e338>] ? irq_work_run_list+0x128/0x190
[ 2347.013074]  [<ffffffff82c50fc0>] ? blkdev_issue_zeroout+0x3b0/0x3b0
[ 2347.013074]  [<ffffffff82c51018>] __blk_mq_complete_request_remote+0x58/0x70
[ 2347.013074]  [<ffffffff81515e2f>] flush_smp_call_function_queue+0xdf/0x3e0
[ 2347.013074]  [<ffffffff81517b23>] generic_smp_call_function_single_interrupt+0x13/0x80
[ 2347.013074]  [<ffffffff8125a4df>] smp_call_function_single_interrupt+0x5f/0x80
[ 2347.013074]  [<ffffffff86a961ec>] call_function_single_interrupt+0x8c/0xa0
[ 2347.013074]  <EOI>  [<ffffffff8147179d>] ? lock_is_held+0x18d/0x1f0
[ 2347.013074]  [<ffffffff817e6b1d>] get_mem_cgroup_from_mm+0x2ad/0x4a0
[ 2347.013074]  [<ffffffff817e6870>] ? mem_cgroup_count_precharge_pte_range+0x530/0x530
[ 2347.013074]  [<ffffffff817f662a>] mem_cgroup_try_charge+0x17a/0x690
[ 2347.013074]  [<ffffffff8174030c>] handle_pte_fault+0x382c/0x4960
[ 2347.013074]  [<ffffffff81478690>] ? debug_check_no_locks_freed+0x3c0/0x3c0
[ 2347.013074]  [<ffffffff8173cae0>] ? do_set_pte+0x4d0/0x4d0
[ 2347.013074]  [<ffffffff814777e8>] ? mark_held_locks+0xc8/0x120
[ 2347.013074]  [<ffffffff814b4be7>] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 2347.013074]  [<ffffffff817378da>] ? __pte_alloc+0x8a/0x2a0
[ 2347.013074]  [<ffffffff817379f2>] ? __pte_alloc+0x1a2/0x2a0
[ 2347.013074]  [<ffffffff86a941d2>] ? _raw_spin_unlock+0x22/0x30
[ 2347.013074]  [<ffffffff817379f7>] ? __pte_alloc+0x1a7/0x2a0
[ 2347.013074]  [<ffffffff817428ab>] handle_mm_fault+0xeab/0x11a0
[ 2347.013074]  [<ffffffff81741a94>] ? handle_mm_fault+0x94/0x11a0
[ 2347.013074]  [<ffffffff81290e67>] __do_page_fault+0x457/0xbb0
[ 2347.013074]  [<ffffffff8129170f>] trace_do_page_fault+0xdf/0x5b0
[ 2347.013074]  [<ffffffff81281c24>] do_async_page_fault+0x14/0xd0
[ 2347.013074]  [<ffffffff86a96fb8>] async_page_fault+0x28/0x30
[ 2347.013074] ---[ end trace de4bc2d95c3ed682 ]---

The instance was executing:

$ ./syz-execprog -cover=0 -repeat=0 -procs=20 -sandbox=none -threaded=0 -collide=0 fsync

fsync file contained:

mmap(&(0x7f0000000000)=nil, (0xa98000), 0x3, 0x32, 0xffffffffffffffff, 0x0)
r0 = open(&(0x7f0000001000+0x5dd)="2e2f636f6e74726f6c00", 0x50042, 0x41)
write(r0, &(0x7f0000a95000-0xbc4)="87c0af350ba1655c4b7092b149419c0f66233ca5a251076561b5abd986a5b040074ebc290063a4c7b971e6ad7c811232bf6a0d7e1f49529efe8a39daf29bab8fa4bc760e87bef7b7b2ab0e0587d6cb15672d5a6c49be2d5e10600068e28d340298f83eb1d4e8ee817f3d724570aa64e1a7c6cf40265b0ee7a0d548ad7de4161e64f07f501a91315d35342070ef9d465ba7d3b15393762d16374004c6b09db5ccac877d7a25af30a94bcb0e411addc989187b68870a277aa215b63f0d47b9956c46d4fe95b1b6451bf86b895d6e871514adb03c63ddb7e406e0fd23918d8a2c324f34d9fd93f420834cdfda3cccf95aaf27a1ec15e19d520c2f5c5c557a73ca3e86b45f5ed6954fb31c56109821cf326122cb4b24b73ed78eb5493fde2e2e49c141751a9eab90aa9bdaafd42ed651d0f2befd31037f675d7803a7b978315db58ee6e19926b195a9975dbd3c480d900de1919078a0e6404574bea4b0050f518114f6f5480e5a7e7523d944159da4abff79d7ad3a5b1177d9dbfdbcceef18027ee0130ac290ad3bc30934ae9dd4a813c21f00b198ba70a8724922ddab14469f50c023e323677843f6203add4ef27a352670b191955033f1855b18e08550a15eaa2ab6ca6ce1178f96cded08d9bdc1b80b837a4f5b5005015252c9a3aa95bf0d34a6f2e06e13cc02e601527cde5e15e710319b1792dc4e271f7f4ec32de027a863d3592e9a4cf38b41f15b4cc48d07c38216494b4eace7c111a2c6bf8363b29882ade97e34c17a577330c21154173095873121d93d4d6b404b8db9a9ca6b9ba14f4e5d1db6757f247c51ffae37c023f4c70e526c34aa0fd0a3eaf7a44df1cabdd495a240c683414c9d91e45156fa46ab60e837339bea5f62e3d6d9851e9b4254ec07c793d73abeb63f924ce3694a712b343e4b2189e1d9ffdac1946e88906f54a266db77c02078675f24f531e233eb11b4b8ee7d4f6d26a6a106803a463180af38be68ef436a38227305998a26f6fb053f52f1860a923d257737a335b656a1d7d67074f99f76e1365e8787ea149a320669dc79a434018afa181d4257428efccbb3bdb91892b78c7fd16a4a5c0547bef1317b4fc2b6a4736e2e56a89b5a0b479d2fc9eb47e100632cdd090d501cf2ebc8ad2f5e26e211785f5d532ee5a2e2a15cc7d766fbd6d1428cc4976c93e69765f65176ef49329812d231abae5c03b233ed334ec2b2ca0b405e84c041073d6ec1fc1ff661ed657dc119da53da242f8429906ca25d52d1467b0afebe85aeb3f5ed1346aa04f89757a21b2f4239065c9aa827b91b1fe4473a768397377ed0b796217d3633f75417a761bedc1ec9a636f2846c26abae368baaeb9bca7b4b96d8eadc7f280f6ca24b54e211fd70c1677a3ff879e6535db316b7ce002face5410a5f6963f7d7220db4101e5380816432ff5b3983c78cbf9c0bac45801a52fb904abdc4223b654f4e68c5a811dbe94bd0ada6a6691be746bba4cd34093c1c5f81581bc45321aa184797e602b57fa7adb8e5dc001f6ea010cc39ae145f60b0cf0c44b8c9b28e62eef8d725f8610b135a9a740e3fc9c9aaa58a96262454c48df872e90a75b6047c9a115eb2cd51014a80c56bf00643aa087596afdfd4344a9d642f3b601ab1c18e7b9b9f3d87c697b76750194f963c61a3c7bb6e167c1e6d2ef071c67f8f70350c88538f570b1a6d8edcccc28153f613d874bdd759f3fe4fc16f20a17d9de5545dde4921eb0cce71a4006a311b3ec887f0a344dd090a21a44a542ab2ec6b2db73274e694efb7a8c1c31b6ed179b30cc9d34ee32e2c777e7775b24765ea6dee3cb50a0f093153e7879b8d41c1ca6dfce1a35492b8a1e71c17747472c6a8ace5bb0d6d504ee1f3ab40df5115d8f9f29ac395a3b8bd781d603c0691c25218e369fce84444cdc4a92c7da207129b40837c6f477b80b063a5cacc566f60e232ff7045196c5c2f099452aa6c28527e30a8a57fefc37b12c2dfaa5b0f9b9db756b9b473082e58a8283e328878830711ddbce1882889526ce2c94c5e044b4ee77f45e8b350edfa5480e9aeca1b8bf323fa6dc2bef8bf535fcfb58fdbae951a3a837e72ed75c6d93a9872ce522ae59fa5cb0d0a87b2afb0909cf60a8df752b45f1e2e85738be93a9b80253963de51b0c55a132549d717bc210b724ee04094d304f3f6e940c127658a8feb549d401ce939ea569399eaec95b9f4cc1e62d231662b9e4a960c4e46a0e69bb3e58cd9dcefb1bf22933919c083071ce1235826205b74425dea71e6a358c9dccc9de1a138911e8b9cabf5bc854ff11245c37f783351cf5f63bfe2be96e446587580b418261c06889b1b578bd510296313d06e09ee806e4383c94f98365b6214775e5209c7817ab776275583d46807bc879ee25785c7bfda8f4b44772160786544d45fb99ebf5c26480f9258db832078d4ad3bc38e74fe98b0713f590a1e052c21b7da5c73000a41c7287b620b75b90fcdbc6bb75921ffbf7dcf99034d4fed17638dc1f5476c03f55a8f293b475851179e9268534f183055cb4932d12ba7142c26e0dcbc0c565558e90ac1b47efebf7e8e3a150c60bd67d7d0abf178340e81c6c33ec2623c62816a67d186af9224a9f0bc5830e0038edb1ceddac6aeff5573bec5a2e67394f2d5274e27bdc0c9d185415b441294e89e7b8b79d961ffcb8e8144facc5e0dbaf51c3c5c446337504f862e758cf5298aecc5b36e5728c4db23f11d0f54b0c01fc67a61dd475ef351f3d48075b364e4cc199a5e20721099c7a22cb0e90541ea6921084357fe93bff8d1c41d30102acf1980f25c968d29ffb40a8db4cb7f1963150da5a63e2f6102d51ce0e4d67dc676f92b57c3f63a30a9bab49df7415535efbe6bfebca006f82256ba31b664c1920c432feb49de0ddf16359cd83ac669aef34772129e188a42f1258a77c9bc018f72d747d9d3cad67f888db997314de064fbac068975e2585ea128c4ab77d1503615179b81aff0da5d70e92ea4cf2a1f368291c9e9ef4236b1dd6b2161e60da5e37a4698e5cc118ee8e42554607095f8842f7e2289d21f13c34d9585834e635c9f9073e59366d26893aad737ea39140165d1183bace746a770e948e340d340677bd11c9308d74b4f2e014b1ad0a01d56559c75eaa53709162e95e9b8b57174697d743b39806b0239bd2aa33f2a399ee42851ec1f098e78ed18fe10de6da1853a8908e48450296f8dc8975e3831574229878df774e3cdeb4bbd0512c170259624adbbb67e468d08e57d1983ce20758bc37b30cca05533597066bb9a5615ade7012c3c68460ac31057e34c0f2bb69881975d0373e188a0fb45398afd46c864eeb998be1cabc506457b5bacf015dc0e0592457e811b91db3e1916a5c83a4643629373859ac21eb4397408dc847f4e87c6ea62efd19bf1cfd6d34266e2e5d3efaaaa05e5ece5f9597e108cf85c174c478d26bfdbf3f450fa38591725ce8128a69245e2695ff45899c20c56703fbba2067527db0fc4f2bb57fe080ff7d3d15b2be430eb3d3bf1761e106a16fa246bfdaf3ed37638695776ddb065700e79296e9fc6940db23eb1d377e5a1b2f32202fc7df635fba8cf5ee52d71ce81198b32b8a60ba70d53a792d20440fbe485a73f725a2ad70e16dcbfc19e8c9ba476ea47ec5086b59294b1befcebc182701bc5280be12c016542490eec48f37159b869f00f8d16470d572ecaa57edb2ceff43e9b3e0aba24a8562a1b68650c3d9db26622cc40d0979f89ad6d646fe91e304b41a1740cad1087bbf7ad60363e7b652e67fb490a89565c3937aa6fbba5555bd01f7a1720d00fa5b1eb755adcb1dcb1b4bc078f1d98c33bd67774a340d595ca0154735052c6c8c7743349e49ad073eac191a0a2afab59a122a8a9becde5e6ec354c3441f024695f6960c4c49532d4b8ac80a7b9600bdd63e91dfdbe4945440f4745646382a02c6526eeea991a1f568bfad662d53ce57107183cd835307d9fd0cd345bd2d5fd6044823e4cc9dc1b6f91cd3d5cb0e6c4a84c49505d2bc3d749c648b614818b34ae067eb4ba4c75d9d98180fa33c9901bb60949c699375cd6bb08b8f09a4752b69ed505cc119890c9993101b6afc1d42e67df5fd470a8704b8a562180869857044bc86c2903a0bee050d9caa2564e5c0dd94cef010270708d22c875591d94caa2e759d01bbf4b6b01dedf5917e8df06d968cec25db17b9f570d88a2ca991595b0dd42bdf10950e159eb3b933b9ab7b2e6394e623652fd1d0ed9506f41e02869990e4973be997894a0284ccf1a1f23ec9b2a4f4c4f5a1e42a6becc14c4ccef4687cbb956dd6ef7f7a35d69dec96d0bf5c88295c51a46845b2775c7cab679694b63c181cb0af82f33398c97a39e9087b706e89e7f74b56bd9463169b5383b0befb93ae0b5a1c63adb294858407124b3481f42614430873232168bcda382f6b1bfc6175ed9a7abc7a92b58d494eaa94152fac3f17c979e16d88cad1ed940280aecac3c7ebb1e960f350cef0040696dd61e0d97e0792a26ef6240506c9ef2ad377b5d721b95fdee4b63e2e7db326569aaab11b03e889bc03e2797f1d31ef455f2992a82bff8ddc51788ddf5bfefc597dae62c5067ef2a56793aff89377c34b0a664c26df4450f97893c987407b76a8aebb1bff648801d2d551eeafcf86c493140f3fb40db3bc2aa36d01f5873891b54e9870ac2a231ca80aecd8d6d5ebd5219c0d1be8ff6c80efee154cf1137586b582814a405e32975c8c5151a25c2e4d7df81ac206652fe44384b9dadffdeea5df29b17cc1c23feb2600f801f38909da4d5a7547485684f2fc9a15189a186a30657329631ce2f9bb1dddc4449fb2509efbc7f3eb33e4630c9617b31481d7b5b36f10fce94f886ce19495ae77ed237b655eaf80bcd14169434779cc83bc2d066d2bc3e533167bce22f354a211eea9fcbcdadbb6049e6b50b9a335107c0c9f289ceb62a20010ae1936985366212331740755deede32f5bc91f3cb155a8ad854d9d3830cb33e0f5cf6488008175e61ea60d5ff548d9819c6633f699857fdc9550f5528371a5cca0239ec3e4a8edea8fa3d2231e99a654c80943a1b6108b8c8019a5709cca60b0cf12d1a0b1cf02e2080793993c1c223ed78a1c3ed5d663d66f5dc03fbcb1cd66fb2a158637bf15c7a13a3b64c3923e28673016caa57b2dd8917590bafcb6fd70a4a8396b325c9c7506c3c1d6fa29657b2993a94e01115d1e09fc3997774852751bebae6343bc163b2d3b49741e0c80875ae27955325832fd612a9db0833184d2e58461c66a9b2540865535d837c056b9040648df6df7679f37e8a750effb5243b634daab00cddb5dea333b1d8a2d65d7fc6ff2a78ba4251137480ad4c7cfb75126fe6b8e22d56aaf67747870bff6a265aa55ae493e3eafe39934fc97fab663dd7a162237d903048d0e84a6547c2629c1bc2dfff03c627839d97c0d4fd1816eacc3caaeab4556192f045364bfe6e8f13005201c4a347b56535d8eb03244481b86b6d96cf180c476235d33f0e44efc75db1ab744c8f349a49cf032ff7a0d343e585b73e821b77e4203c476973cb8089ffcdd259827808f5daffa9d7954584479b3bdc0e035af52b3a93c477a31a2394eb795002f331d2e9c1419c30a73359ade52c746188a4d345bcc074b77e825ca79db67e8810beb83254daac6bab901aaed39a2cf141693b28729ffc6e47f44db3f46a6c2cae25e154fb313ad924c0a637cfe34edf49845f391589cac96ba65749108ca7a35d54ab68187b5d4a32", 0x1001)
fdatasync(r0)
ftruncate(r0, 0x2)
write$fuse_notify_inval_entry(r0, &(0x7f0000a98000-0x20)={0x20, 0xffffffff, 0x0, 0xffffffffffffffe0, 0x1}, 0x20)
@dvyukov
Copy link
Collaborator Author

dvyukov commented Jul 5, 2016

This one happened while running the following program in a loop:
https://gist.githubusercontent.com/dvyukov/5dd0f8066b30252b5e46fb1135e92334/raw/470b83f5d067f8f1a2b8f178e4bcbc97f9c747d7/gistfile1.txt

[  212.461234] ------------[ cut here ]------------
[  212.461784] WARNING: CPU: 2 PID: 15248 at lib/stackdepot.c:119 depot_save_stack+0x34f/0x5b0
[  212.462010] Stack depot reached limit capacity
[  212.462010] Modules linked in:
[  212.462010] CPU: 2 PID: 15248 Comm: stress Not tainted 4.7.0-rc5+ #28
[  212.462010] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
[  212.462010]  ffffffff880b58e0 ffff88006d407720 ffffffff82cc01af ffffffff814955e8
[  212.462010]  fffffbfff1016b1c ffff88006d407798 0000000000000000 ffffffff87e76459
[  212.462010]  ffffffff82d8d9bf 0000000000000009 ffff88006d407768 ffffffff8136d17f
[  212.462010] Call Trace:
[  212.466050]  <IRQ>  [<ffffffff82cc01af>] dump_stack+0x12e/0x18f
[  212.466050]  [<ffffffff814955e8>] ? vprintk_default+0x28/0x30
[  212.466050]  [<ffffffff82d8d9bf>] ? depot_save_stack+0x34f/0x5b0
[  212.467485]  [<ffffffff8136d17f>] __warn+0x19f/0x1e0
[  212.468064]  [<ffffffff8136d26c>] warn_slowpath_fmt+0xac/0xd0
[  212.468064]  [<ffffffff8136d1c0>] ? __warn+0x1e0/0x1e0
[  212.468064]  [<ffffffff82d8d9bf>] depot_save_stack+0x34f/0x5b0
[  212.468064]  [<ffffffff816a1f1d>] ? mempool_free_slab+0x1d/0x30
[  212.468064]  [<ffffffff817b8951>] save_stack+0xb1/0xd0
[  212.468064]  [<ffffffff81223756>] ? save_stack_trace+0x26/0x50
[  212.468064]  [<ffffffff817b88e6>] ? save_stack+0x46/0xd0
[  212.468064]  [<ffffffff817b90cb>] ? kasan_slab_free+0x9b/0xd0
[  212.471059]  [<ffffffff817b62f6>] ? kmem_cache_free+0x76/0x310
[  212.471059]  [<ffffffff816a1f1d>] ? mempool_free_slab+0x1d/0x30
[  212.472307]  [<ffffffff816a3044>] ? mempool_free+0xd4/0x1d0
[  212.472307]  [<ffffffff82c1084f>] ? bio_free+0xef/0x1b0
[  212.473091]  [<ffffffff82c109a8>] ? bio_put+0x98/0xc0
[  212.473091]  [<ffffffff818bd1a1>] ? end_bio_bh_io_sync+0xd1/0x110
[  212.473091]  [<ffffffff82c10b72>] ? bio_endio+0x1a2/0x200
[  212.473091]  [<ffffffff82c30d0c>] ? blk_update_request+0x1bc/0xc80
[  212.473091]  [<ffffffff82c53730>] ? blk_mq_end_request+0x50/0x130
[  212.473091]  [<ffffffff82c3c8e5>] ? blk_flush_complete_seq+0x295/0xab0
[  212.473091]  [<ffffffff82c3d9d7>] ? flush_end_io+0x477/0x800
[  212.473091]  [<ffffffff82c52bc4>] ? __blk_mq_end_request+0x54/0xd0
[  212.473091]  [<ffffffff83aa5c5d>] ? scsi_end_request+0x13d/0x5b0
[  212.473091]  [<ffffffff83aaf220>] ? scsi_io_completion+0x470/0x1340
[  212.473091]  [<ffffffff83a92f6c>] ? scsi_finish_command+0x3ac/0x530
[  212.473091]  [<ffffffff83aada19>] ? scsi_softirq_done+0x2a9/0x350
[  212.473091]  [<ffffffff82c51018>] ? __blk_mq_complete_request_remote+0x58/0x70
[  212.473091]  [<ffffffff81515e2f>] ? flush_smp_call_function_queue+0xdf/0x3e0
[  212.473091]  [<ffffffff81517b23>] ? generic_smp_call_function_single_interrupt+0x13/0x80
[  212.473091]  [<ffffffff8125a4df>] ? smp_call_function_single_interrupt+0x5f/0x80
[  212.473091]  [<ffffffff86a961ec>] ? call_function_single_interrupt+0x8c/0xa0
[  212.473091]  [<ffffffff8152b230>] ? is_module_text_address+0x10/0x20
[  212.473091]  [<ffffffff813d0903>] ? __kernel_text_address+0x73/0xa0
[  212.473091]  [<ffffffff812040c6>] ? print_context_stack+0x66/0xd0
[  212.473091]  [<ffffffff812034a3>] ? dump_trace+0x113/0x300
[  212.473091]  [<ffffffff81223756>] ? save_stack_trace+0x26/0x50
[  212.473091]  [<ffffffff817b88e6>] ? save_stack+0x46/0xd0
[  212.473091]  [<ffffffff817b8b8a>] ? kasan_kmalloc+0xda/0x100
[  212.473091]  [<ffffffff817b9022>] ? kasan_slab_alloc+0x12/0x20
[  212.473091]  [<ffffffff817b421b>] ? kmem_cache_alloc+0x12b/0x740
[  212.473091]  [<ffffffff8176b36b>] ? anon_vma_fork+0x1cb/0x4b0
[  212.473091]  [<ffffffff8136a49f>] ? copy_process.part.38+0x52af/0x5b20
[  212.473091]  [<ffffffff8136b041>] ? _do_fork+0x1b1/0xd60
[  212.473091]  [<ffffffff8136bcc7>] ? SyS_clone+0x37/0x50
[  212.473091]  [<ffffffff81008abf>] ? do_syscall_64+0x1df/0x640
[  212.473091]  [<ffffffff86a94ec3>] ? entry_SYSCALL64_slow_path+0x25/0x25
[  212.473091]  [<ffffffff813fc3f0>] ? default_wake_function+0x30/0x50
[  212.473091]  [<ffffffff81458d3d>] ? wake_bit_function+0xdd/0x1d0
[  212.473091]  [<ffffffff814575ff>] ? __wake_up+0x3f/0x50
[  212.473091]  [<ffffffff81470fed>] ? trace_hardirqs_off+0xd/0x10
[  212.473091]  [<ffffffff817ba16a>] ? quarantine_put+0xea/0x140
[  212.473091]  [<ffffffff817b90cb>] kasan_slab_free+0x9b/0xd0
[  212.473091]  [<ffffffff817b62f6>] kmem_cache_free+0x76/0x310
[  212.473091]  [<ffffffff816a1f00>] ? mempool_kfree+0x20/0x20
[  212.473091]  [<ffffffff816a1f1d>] mempool_free_slab+0x1d/0x30
[  212.473091]  [<ffffffff816a3044>] mempool_free+0xd4/0x1d0
[  212.473091]  [<ffffffff82c1084f>] bio_free+0xef/0x1b0
[  212.473091]  [<ffffffff818bc2ce>] ? unlock_buffer+0x1e/0x30
[  212.473091]  [<ffffffff81c0f770>] ? jbd2_journal_begin_ordered_truncate+0x180/0x180
[  212.473091]  [<ffffffff82c109a8>] bio_put+0x98/0xc0
[  212.473091]  [<ffffffff818bd1a1>] end_bio_bh_io_sync+0xd1/0x110
[  212.473091]  [<ffffffff818bd0d0>] ? invalidate_bh_lrus+0x30/0x30
[  212.473091]  [<ffffffff82c10b72>] bio_endio+0x1a2/0x200
[  212.473091]  [<ffffffff82c30d0c>] blk_update_request+0x1bc/0xc80
[  212.473091]  [<ffffffff82c53730>] blk_mq_end_request+0x50/0x130
[  212.473091]  [<ffffffff82c3c8e5>] blk_flush_complete_seq+0x295/0xab0
[  212.473091]  [<ffffffff82c3d9d7>] flush_end_io+0x477/0x800
[  212.473091]  [<ffffffff82c3d560>] ? mq_flush_data_end_io+0x2c0/0x2c0
[  212.473091]  [<ffffffff82c52bc4>] __blk_mq_end_request+0x54/0xd0
[  212.473091]  [<ffffffff83aa5c5d>] scsi_end_request+0x13d/0x5b0
[  212.473091]  [<ffffffff83aaf220>] scsi_io_completion+0x470/0x1340
[  212.473091]  [<ffffffff83b960ea>] ? sd_done+0x34a/0xab0
[  212.473091]  [<ffffffff83aaedb0>] ? scsi_unblock_requests+0x50/0x50
[  212.473091]  [<ffffffff814d2bf0>] ? trace_raw_output_tick_stop+0x1e0/0x1e0
[  212.473091]  [<ffffffff83a99742>] ? scsi_handle_queue_ramp_up+0x332/0x430
[  212.473091]  [<ffffffff83a92f6c>] scsi_finish_command+0x3ac/0x530
[  212.473091]  [<ffffffff83aada19>] scsi_softirq_done+0x2a9/0x350
[  212.473091]  [<ffffffff82c50fc0>] ? blkdev_issue_zeroout+0x3b0/0x3b0
[  212.473091]  [<ffffffff82c51018>] __blk_mq_complete_request_remote+0x58/0x70
[  212.473091]  [<ffffffff81515e2f>] flush_smp_call_function_queue+0xdf/0x3e0
[  212.473091]  [<ffffffff81517b23>] generic_smp_call_function_single_interrupt+0x13/0x80
[  212.473091]  [<ffffffff8125a4df>] smp_call_function_single_interrupt+0x5f/0x80
[  212.473091]  [<ffffffff86a961ec>] call_function_single_interrupt+0x8c/0xa0
[  212.473091]  <EOI>  [<ffffffff8176b061>] ? anon_vma_clone+0x321/0x460
[  212.473091]  [<ffffffff8151e7b8>] ? __module_text_address+0xe8/0x150
[  212.473091]  [<ffffffff8151e6e3>] ? __module_text_address+0x13/0x150
[  212.473091]  [<ffffffff8152b230>] is_module_text_address+0x10/0x20
[  212.473091]  [<ffffffff813d0903>] __kernel_text_address+0x73/0xa0
[  212.473091]  [<ffffffff812040c6>] print_context_stack+0x66/0xd0
[  212.473091]  [<ffffffff812034a3>] dump_trace+0x113/0x300
[  212.473091]  [<ffffffff81223756>] save_stack_trace+0x26/0x50
[  212.473091]  [<ffffffff817b88e6>] save_stack+0x46/0xd0
[  212.473091]  [<ffffffff81223756>] ? save_stack_trace+0x26/0x50
[  212.473091]  [<ffffffff817b88e6>] ? save_stack+0x46/0xd0
[  212.473091]  [<ffffffff817b8b8a>] ? kasan_kmalloc+0xda/0x100
[  212.473091]  [<ffffffff817b9022>] ? kasan_slab_alloc+0x12/0x20
[  212.473091]  [<ffffffff817b421b>] ? kmem_cache_alloc+0x12b/0x740
[  212.473091]  [<ffffffff8176b36b>] ? anon_vma_fork+0x1cb/0x4b0
[  212.473091]  [<ffffffff8136a49f>] ? copy_process.part.38+0x52af/0x5b20
[  212.473091]  [<ffffffff8136b041>] ? _do_fork+0x1b1/0xd60
[  212.473091]  [<ffffffff8136bcc7>] ? SyS_clone+0x37/0x50
[  212.473091]  [<ffffffff81008abf>] ? do_syscall_64+0x1df/0x640
[  212.473091]  [<ffffffff86a94ec3>] ? entry_SYSCALL64_slow_path+0x25/0x25
[  212.473091]  [<ffffffff817b8b8a>] ? kasan_kmalloc+0xda/0x100
[  212.473091]  [<ffffffff817b9022>] ? kasan_slab_alloc+0x12/0x20
[  212.473091]  [<ffffffff817b421b>] ? kmem_cache_alloc+0x12b/0x740
[  212.473091]  [<ffffffff8136a36c>] ? copy_process.part.38+0x517c/0x5b20
[  212.473091]  [<ffffffff8136b041>] ? _do_fork+0x1b1/0xd60
[  212.473091]  [<ffffffff81478690>] ? debug_check_no_locks_freed+0x3c0/0x3c0
[  212.473091]  [<ffffffff81744e14>] ? copy_page_range+0xc14/0x1fa0
[  212.473091]  [<ffffffff814b4be7>] ? debug_lockdep_rcu_enabled+0x77/0x90
[  212.473091]  [<ffffffff817b89f5>] ? kasan_unpoison_shadow+0x35/0x50
[  212.473091]  [<ffffffff817b8b8a>] kasan_kmalloc+0xda/0x100
[  212.473091]  [<ffffffff817b9022>] kasan_slab_alloc+0x12/0x20
[  212.473091]  [<ffffffff817b421b>] kmem_cache_alloc+0x12b/0x740
[  212.473091]  [<ffffffff8176b061>] ? anon_vma_clone+0x321/0x460
[  212.473091]  [<ffffffff8176b36b>] anon_vma_fork+0x1cb/0x4b0
[  212.473091]  [<ffffffff8136a49f>] copy_process.part.38+0x52af/0x5b20
[  212.473091]  [<ffffffff813651f0>] ? __cleanup_sighand+0x50/0x50
[  212.473091]  [<ffffffff8186f00d>] ? __fd_install+0x24d/0x590
[  212.473091]  [<ffffffff8136b041>] _do_fork+0x1b1/0xd60
[  212.473091]  [<ffffffff8186edc0>] ? get_unused_fd_flags+0xd0/0xd0
[  212.473091]  [<ffffffff8136ae90>] ? fork_idle+0x120/0x120
[  212.473091]  [<ffffffff8186f39d>] ? fd_install+0x4d/0x60
[  212.473091]  [<ffffffff8136bcc7>] SyS_clone+0x37/0x50
[  212.473091]  [<ffffffff86a94fb0>] ? ptregs_sys_rt_sigreturn+0x10/0x10
[  212.473091]  [<ffffffff81008abf>] do_syscall_64+0x1df/0x640
[  212.473091]  [<ffffffff8136bc90>] ? sys_vfork+0x30/0x30
[  212.473091]  [<ffffffff86a94ec3>] entry_SYSCALL64_slow_path+0x25/0x25
[  212.473091] ---[ end trace c7e7ac4975311170 ]---

@ramosian-glider
Copy link
Member

This happens because some functions at the bottom of the interrupt handlers aren't distinguished as such (see the attached qemu.log.txt)

For example:

[    7.927367] ################################
[    7.927666] CPU: 0 PID: 1612 Comm: rcu_perf_reader Not tainted 4.7.0-rc7+ #1113
[    7.928017] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
[    7.928017]  1ffffffff1016cee ffff880019207950 ffffffff82c28cb6 0000000051eb851f
[    7.928017]  000000000000001a 000000000000001a ffff8800109d35a0 ffff8800192079a8
[    7.928017]  ffffffff82cfd9fc 00000000000000f0 ffff8800192079d0 00000000000d21e2
[    7.928017] Call Trace:
[    7.928017]  <IRQ>  [<ffffffff82c28cb6>] dump_stack+0xe6/0x120
[    7.928017]  [<ffffffff82cfd9fc>] depot_save_stack+0x4ec/0x540
[    7.928017]  [<ffffffff81779705>] save_stack+0xb5/0xd0
[    7.928017]  [<ffffffff81779e7b>] kasan_slab_free+0x9b/0xd0
[    7.928017]  [<ffffffff817770c6>] kmem_cache_free+0x76/0x310
[    7.928017]  [<ffffffff8166df52>] mempool_free_slab+0x12/0x20
[    7.928017]  [<ffffffff8166eee5>] mempool_free+0xc5/0x1b0
[    7.928017]  [<ffffffff82b7ab36>] bio_free+0xd6/0x180
[    7.928017]  [<ffffffff82b7ac5a>] bio_put+0x7a/0x90
[    7.928017]  [<ffffffff81873277>] end_bio_bh_io_sync+0xc7/0x100
[    7.928017]  [<ffffffff82b7adc3>] bio_endio+0x153/0x1a0
[    7.928017]  [<ffffffff82b9b2cf>] blk_update_request+0x18f/0xbd0
[    7.928017]  [<ffffffff839dcd70>] scsi_end_request+0x90/0x5a0
[    7.928017]  [<ffffffff839e5c45>] scsi_io_completion+0x425/0x15a0
[    7.928017]  [<ffffffff839cadb0>] scsi_finish_command+0x370/0x4e0
[    7.928017]  [<ffffffff839e446e>] scsi_softirq_done+0x27e/0x340
[    7.928017]  [<ffffffff82bbc0b3>] __blk_mq_complete_request_remote+0x53/0x70
[    7.928017]  [<ffffffff814f0dbc>] flush_smp_call_function_queue+0xbc/0x380
[    7.928017]  [<ffffffff814f296e>] generic_smp_call_function_single_interrupt+0xe/0x70
[    7.928017]  [<ffffffff81247cef>] smp_call_function_single_interrupt+0x5f/0x80
[    7.928017]  [<ffffffff86a06c6c>] call_function_single_interrupt+0x8c/0xa0
[    7.928017]  <EOI>
[    7.928017]  [<ffffffff81495a17>] debug_lockdep_rcu_enabled+0x77/0x90
[    7.928017]  [<ffffffff813d3423>] ___might_sleep+0x43/0x3a0
[    7.928017]  [<ffffffff814997d8>] rcu_perf_wait_shutdown+0x18/0xe0
[    7.928017]  [<ffffffff8149a56c>] rcu_perf_reader+0x18c/0x270
[    7.928017]  [<ffffffff813ba3a9>] kthread+0x209/0x2d0
[    7.928017]  [<ffffffff86a05acf>] ret_from_fork+0x1f/0x40
[    7.928017] ################################
[    7.928017] [0] ffffffff81213da6
[    7.928017] [1] ffffffff81779696
[    7.928017] [2] ffffffff81779e7b
[    7.928017] [3] ffffffff817770c6
[    7.928017] [4] ffffffff8166df52
[    7.928017] [5] ffffffff8166eee5
[    7.928017] [6] ffffffff82b7ab36
[    7.928017] [7] ffffffff82b7ac5a
[    7.928017] [8] ffffffff81873277
[    7.928017] [9] ffffffff82b7adc3
[    7.928017] [10] ffffffff82b9b2cf
[    7.928017] [11] ffffffff839dcd70
[    7.928017] [12] ffffffff839e5c45
[    7.928017] [13] ffffffff839cadb0
[    7.928017] [14] ffffffff839e446e
[    7.928017] [15] ffffffff82bbc0b3
[    7.928017] [16] ffffffff814f0dbc
[    7.928017] [17] ffffffff814f296e
[    7.928017] [18] ffffffff81247cef
[    7.928017] [19] ffffffff86a06c6c
[    7.928017] [20] ffffffff81495a17
[    7.928017] [21] ffffffff813d3423
[    7.928017] [22] ffffffff814997d8
[    7.928017] [23] ffffffff8149a56c
[    7.928017] [24] ffffffff813ba3a9
[    7.928017] [25] ffffffff86a05acf
[    7.928017] ################################

The above stack is the actual call stack (without the '?' frames), the below one is the stack that's being stored in the depot.
Note that both the lowest IRQ frame (call_function_single_interrupt()) and the frame in which the interrupt happened (debug_lockdep_rcu_enabled) are both in the depot.

A fix which I'm currently testing is to add call_function_single_interrupt() and similar functions to the .irqentry.text section:

diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
index 9ee0da1..6d8fdd6 100644
--- a/arch/x86/entry/entry_64.S
+++ b/arch/x86/entry/entry_64.S
@@ -602,8 +602,10 @@ apicinterrupt3 \num trace(\sym) smp_trace(\sym)
 #endif

 .macro apicinterrupt num sym do_sym
+.pushsection .irqentry.text, "ax"
 apicinterrupt3 \num \sym \do_sym
 trace_apicinterrupt \num \sym
+.popsection
 .endm

 #ifdef CONFIG_SMP

@ramosian-glider
Copy link
Member

ramosian-glider commented Aug 5, 2016

Fix is pending review.

sudipm-mukherjee pushed a commit to sudipm-mukherjee/parport that referenced this issue Aug 11, 2016
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
@sploving
Copy link

sploving commented Oct 8, 2016

Hello,
I still met the warning with the patch applied. It panics when starting the qemu vm.
[ 168.822493] WARNING! power/level is deprecated; use power/control instead
[ 174.154816] pci-db (4185) used greatest stack depth: 24824 bytes left
[ 205.037774] ------------[ cut here ]------------
[ 205.038042] WARNING: CPU: 3 PID: 4227 at lib/stackdepot.c:119 depot_save_stack+0x528/0x5b0
[ 205.038042] Stack depot reached limit capacity
[ 205.038042] Kernel panic - not syncing: panic_on_warn set ...
[ 205.038042]
[ 205.038042] CPU: 3 PID: 4227 Comm: grep Not tainted 4.8.0-rc8+ #32
[ 205.038042] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
[ 205.038042] ffffffff87cb8f60 ffff88002701ee40 ffffffff82ce3189 ffffffff00000016
[ 205.038042] fffffbfff0f971ec ffffffff8688e740 ffff88002701ef18 ffffffff879ab000
[ 205.038042] dffffc0000000000 0000000000000009 ffff88002701ef08 ffffffff8168fd03
[ 205.038042] Call Trace:
[ 205.038042] [] dump_stack+0x12e/0x185
[ 205.038042] [] panic+0x1e4/0x3ef
[ 205.038042] [] ? set_ti_thread_flag+0x1e/0x1e
[ 205.038042] [] ? rt_mutex_top_waiter.part.10+0x6/0x6
[ 205.038042] [] ? depot_save_stack+0x528/0x5b0
[ 205.038042] [] __warn+0x1c4/0x1e0
[ 205.038042] [] warn_slowpath_fmt+0xac/0xd0
[ 205.038042] [] ? __warn+0x1e0/0x1e0
[ 205.038042] [] depot_save_stack+0x528/0x5b0
[ 205.038042] [] save_stack+0xb8/0xd0
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? save_stack+0x46/0xd0
[ 205.038042] [] ? kasan_kmalloc+0xad/0xe0
[ 205.038042] [] ? kasan_slab_alloc+0x12/0x20
[ 205.038042] [] ? kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] ? create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_alloc+0x45/0xa0
[ 205.038042] [] ? kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? alloc_inode+0x61/0x180
[ 205.038042] [] ? iget_locked+0x129/0x370
[ 205.038042] [] ? ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ? ext4_lookup+0x313/0x770
[ 205.038042] [] ? lookup_slow+0x238/0x440
[ 205.038042] [] ? walk_component+0x83b/0xfb0
[ 205.038042] [] ? link_path_walk+0x47b/0x1140
[ 205.038042] [] ? path_openat+0x1a6/0x2f60
[ 205.038042] [] ? do_filp_open+0x18e/0x250
[ 205.038042] [] ? do_sys_open+0x201/0x420
[ 205.038042] [] ? SyS_openat+0x30/0x40
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? set_track+0x6f/0x120
[ 205.038042] [] ? init_object+0x64/0xa0
[ 205.038042] [] ? alloc_debug_processing+0x6e/0x1b0
[ 205.038042] [] ? ___slab_alloc+0x19c/0x5d0
[ 205.038042] [] ? mark_held_locks+0xd0/0x130
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? kasan_unpoison_shadow+0x36/0x50
[ 205.038042] [] kasan_kmalloc+0xad/0xe0
[ 205.038042] [] kasan_slab_alloc+0x12/0x20
[ 205.038042] [] kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_disable+0x90/0x90
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] kmemleak_alloc+0x45/0xa0
[ 205.038042] [] kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? iget_locked+0x63/0x370
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] alloc_inode+0x61/0x180
[ 205.038042] [] iget_locked+0x129/0x370
[ 205.038042] [] ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_search_dir+0x430/0x430
[ 205.038042] [] ? ext4_get_projid+0x170/0x170
[ 205.038042] [] ? d_alloc_parallel+0x8c3/0x1900
[ 205.038042] [] ? lookup_slow+0x199/0x440
[ 205.038042] [] ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ext4_lookup+0x313/0x770
[ 205.038042] [] ? ext4_cross_rename+0x1340/0x1340
[ 205.038042] [] lookup_slow+0x238/0x440
[ 205.038042] [] ? lookup_one_len+0x3c0/0x3c0
[ 205.038042] [] walk_component+0x83b/0xfb0
[ 205.038042] [] ? follow_dotdot_rcu+0xe60/0xe60
[ 205.038042] [] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 205.038042] [] ? security_inode_permission+0xbb/0xf0
[ 205.038042] [] ? __inode_permission+0x7f/0x300
[ 205.038042] [] link_path_walk+0x47b/0x1140
[ 205.038042] [] ? walk_component+0xfb0/0xfb0
[ 205.038042] [] ? __mutex_init+0xca/0x100
[ 205.038042] [] path_openat+0x1a6/0x2f60
[ 205.038042] [] ? save_stack+0xb8/0xd0
[ 205.038042] [] ? __lock_acquire+0xbb3/0x4d80
[ 205.038042] [] ? do_sys_open+0x1c3/0x420
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? path_lookupat+0x450/0x450
[ 205.038042] [] ? debug_check_no_locks_freed+0x3c0/0x3c0
[ 205.038042] [] do_filp_open+0x18e/0x250
[ 205.038042] [] ? may_open_dev+0xe0/0xe0
[ 205.038042] [] ? _raw_spin_unlock+0x22/0x30
[ 205.038042] [] ? __alloc_fd+0x1e3/0x520
[ 205.038042] [] do_sys_open+0x201/0x420
[ 205.038042] [] ? filp_open+0x70/0x70
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x5/0xc1
[ 205.038042] [] SyS_openat+0x30/0x40
[ 205.038042] [] entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] Shutting down cpus with NMI
[ 205.038042] Dumping ftrace buffer:
[ 205.038042](ftrace buffer empty)
[ 205.038042] Kernel Offset: disabled

2016/10/08 11:11:41 failed to create instance: qemu stopped:

Any suggestions? Thanks.

Baozeng Ding

@dvyukov
Copy link
Collaborator Author

dvyukov commented Oct 9, 2016

Hi Baozeng,

Please provide your config, commit hash and qemu command line.

On Sat, Oct 8, 2016 at 5:51 AM, sploving notifications@github.com wrote:

Hello,
I still met the warning with the patch applied. It panics when starting
the qemu vm.
[ 168.822493] WARNING! power/level is deprecated; use power/control instead
[ 174.154816] pci-db (4185) used greatest stack depth: 24824 bytes left
[ 205.037774] ------------[ cut here ]------------
[ 205.038042] WARNING: CPU: 3 PID: 4227 at lib/stackdepot.c:119
depot_save_stack+0x528/0x5b0
[ 205.038042] Stack depot reached limit capacity
[ 205.038042] Kernel panic - not syncing: panic_on_warn set ...
[ 205.038042]
[ 205.038042] CPU: 3 PID: 4227 Comm: grep Not tainted 4.8.0-rc8+ #32
#32
[ 205.038042] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
[ 205.038042] ffffffff87cb8f60 ffff88002701ee40 ffffffff82ce3189
ffffffff00000016
[ 205.038042] fffffbfff0f971ec ffffffff8688e740 ffff88002701ef18
ffffffff879ab000
[ 205.038042] dffffc0000000000 0000000000000009 ffff88002701ef08
ffffffff8168fd03
[ 205.038042] Call Trace:
[ 205.038042] [] dump_stack+0x12e/0x185
[ 205.038042] [] panic+0x1e4/0x3ef
[ 205.038042] [] ? set_ti_thread_flag+0x1e/0x1e
[ 205.038042] [] ? rt_mutex_top_waiter.part.10+0x6/0x6
[ 205.038042] [] ? depot_save_stack+0x528/0x5b0
[ 205.038042] [] __warn+0x1c4/0x1e0
[ 205.038042] [] warn_slowpath_fmt+0xac/0xd0
[ 205.038042] [] ? __warn+0x1e0/0x1e0
[ 205.038042] [] depot_save_stack+0x528/0x5b0
[ 205.038042] [] save_stack+0xb8/0xd0
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? save_stack+0x46/0xd0
[ 205.038042] [] ? kasan_kmalloc+0xad/0xe0
[ 205.038042] [] ? kasan_slab_alloc+0x12/0x20
[ 205.038042] [] ? kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] ? create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_alloc+0x45/0xa0
[ 205.038042] [] ? kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? alloc_inode+0x61/0x180
[ 205.038042] [] ? iget_locked+0x129/0x370
[ 205.038042] [] ? ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ? ext4_lookup+0x313/0x770
[ 205.038042] [] ? lookup_slow+0x238/0x440
[ 205.038042] [] ? walk_component+0x83b/0xfb0
[ 205.038042] [] ? link_path_walk+0x47b/0x1140
[ 205.038042] [] ? path_openat+0x1a6/0x2f60
[ 205.038042] [] ? do_filp_open+0x18e/0x250
[ 205.038042] [] ? do_sys_open+0x201/0x420
[ 205.038042] [] ? SyS_openat+0x30/0x40
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? set_track+0x6f/0x120
[ 205.038042] [] ? init_object+0x64/0xa0
[ 205.038042] [] ? alloc_debug_processing+0x6e/0x1b0
[ 205.038042] [] ? ___slab_alloc+0x19c/0x5d0
[ 205.038042] [] ? mark_held_locks+0xd0/0x130
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? kasan_unpoison_shadow+0x36/0x50
[ 205.038042] [] kasan_kmalloc+0xad/0xe0
[ 205.038042] [] kasan_slab_alloc+0x12/0x20
[ 205.038042] [] kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_disable+0x90/0x90
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] kmemleak_alloc+0x45/0xa0
[ 205.038042] [] kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? iget_locked+0x63/0x370
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] alloc_inode+0x61/0x180
[ 205.038042] [] iget_locked+0x129/0x370
[ 205.038042] [] ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_search_dir+0x430/0x430
[ 205.038042] [] ? ext4_get_projid+0x170/0x170
[ 205.038042] [] ? d_alloc_parallel+0x8c3/0x1900
[ 205.038042] [] ? lookup_slow+0x199/0x440
[ 205.038042] [] ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ext4_lookup+0x313/0x770
[ 205.038042] [] ? ext4_cross_rename+0x1340/0x1340
[ 205.038042] [] lookup_slow+0x238/0x440
[ 205.038042] [] ? lookup_one_len+0x3c0/0x3c0
[ 205.038042] [] walk_component+0x83b/0xfb0
[ 205.038042] [] ? follow_dotdot_rcu+0xe60/0xe60
[ 205.038042] [] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 205.038042] [] ? security_inode_permission+0xbb/0xf0
[ 205.038042] [] ? __inode_permission+0x7f/0x300
[ 205.038042] [] link_path_walk+0x47b/0x1140
[ 205.038042] [] ? walk_component+0xfb0/0xfb0
[ 205.038042] [] ? __mutex_init+0xca/0x100
[ 205.038042] [] path_openat+0x1a6/0x2f60
[ 205.038042] [] ? save_stack+0xb8/0xd0
[ 205.038042] [] ? __lock_acquire+0xbb3/0x4d80
[ 205.038042] [] ? do_sys_open+0x1c3/0x420
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? path_lookupat+0x450/0x450
[ 205.038042] [] ? debug_check_no_locks_freed+0x3c0/0x3c0
[ 205.038042] [] do_filp_open+0x18e/0x250
[ 205.038042] [] ? may_open_dev+0xe0/0xe0
[ 205.038042] [] ? _raw_spin_unlock+0x22/0x30
[ 205.038042] [] ? __alloc_fd+0x1e3/0x520
[ 205.038042] [] do_sys_open+0x201/0x420
[ 205.038042] [] ? filp_open+0x70/0x70
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x5/0xc1
[ 205.038042] [] SyS_openat+0x30/0x40
[ 205.038042] [] entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] Shutting down cpus with NMI
[ 205.038042] Dumping ftrace buffer:
205.038042 http://ftrace%20buffer%20empty
[ 205.038042] Kernel Offset: disabled

2016/10/08 11:11:41 failed to create instance: qemu stopped:

Any suggestions? Thanks.

Baozeng Ding


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#36 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABC2oNqifT27JyytR9vgj0aoTfWUglsvks5qxxNagaJpZM4JE-Z6
.

@sploving
Copy link

Hi Dmitry,

After I remove "panic_on_warn=1" in the qemu boot option, it could start
the vm. The panic_on_warn flag could cause a
warning panic when booting the vm, so do we really need it? Thanks.

2016-10-09 15:06 GMT+08:00 Dmitry Vyukov notifications@github.com:

Hi Baozeng,

Please provide your config, commit hash and qemu command line.

On Sat, Oct 8, 2016 at 5:51 AM, sploving notifications@github.com wrote:

Hello,
I still met the warning with the patch applied. It panics when starting
the qemu vm.
[ 168.822493] WARNING! power/level is deprecated; use power/control
instead
[ 174.154816] pci-db (4185) used greatest stack depth: 24824 bytes left
[ 205.037774] ------------[ cut here ]------------
[ 205.038042] WARNING: CPU: 3 PID: 4227 at lib/stackdepot.c:119
depot_save_stack+0x528/0x5b0
[ 205.038042] Stack depot reached limit capacity
[ 205.038042] Kernel panic - not syncing: panic_on_warn set ...
[ 205.038042]
[ 205.038042] CPU: 3 PID: 4227 Comm: grep Not tainted 4.8.0-rc8+ #32
#32
[ 205.038042] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
[ 205.038042] ffffffff87cb8f60 ffff88002701ee40 ffffffff82ce3189
ffffffff00000016
[ 205.038042] fffffbfff0f971ec ffffffff8688e740 ffff88002701ef18
ffffffff879ab000
[ 205.038042] dffffc0000000000 0000000000000009 ffff88002701ef08
ffffffff8168fd03
[ 205.038042] Call Trace:
[ 205.038042] [] dump_stack+0x12e/0x185
[ 205.038042] [] panic+0x1e4/0x3ef
[ 205.038042] [] ? set_ti_thread_flag+0x1e/0x1e
[ 205.038042] [] ? rt_mutex_top_waiter.part.10+0x6/0x6
[ 205.038042] [] ? depot_save_stack+0x528/0x5b0
[ 205.038042] [] __warn+0x1c4/0x1e0
[ 205.038042] [] warn_slowpath_fmt+0xac/0xd0
[ 205.038042] [] ? __warn+0x1e0/0x1e0
[ 205.038042] [] depot_save_stack+0x528/0x5b0
[ 205.038042] [] save_stack+0xb8/0xd0
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? save_stack+0x46/0xd0
[ 205.038042] [] ? kasan_kmalloc+0xad/0xe0
[ 205.038042] [] ? kasan_slab_alloc+0x12/0x20
[ 205.038042] [] ? kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] ? create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_alloc+0x45/0xa0
[ 205.038042] [] ? kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? alloc_inode+0x61/0x180
[ 205.038042] [] ? iget_locked+0x129/0x370
[ 205.038042] [] ? ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ? ext4_lookup+0x313/0x770
[ 205.038042] [] ? lookup_slow+0x238/0x440
[ 205.038042] [] ? walk_component+0x83b/0xfb0
[ 205.038042] [] ? link_path_walk+0x47b/0x1140
[ 205.038042] [] ? path_openat+0x1a6/0x2f60
[ 205.038042] [] ? do_filp_open+0x18e/0x250
[ 205.038042] [] ? do_sys_open+0x201/0x420
[ 205.038042] [] ? SyS_openat+0x30/0x40
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? set_track+0x6f/0x120
[ 205.038042] [] ? init_object+0x64/0xa0
[ 205.038042] [] ? alloc_debug_processing+0x6e/0x1b0
[ 205.038042] [] ? ___slab_alloc+0x19c/0x5d0
[ 205.038042] [] ? mark_held_locks+0xd0/0x130
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? kasan_unpoison_shadow+0x36/0x50
[ 205.038042] [] kasan_kmalloc+0xad/0xe0
[ 205.038042] [] kasan_slab_alloc+0x12/0x20
[ 205.038042] [] kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_disable+0x90/0x90
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] kmemleak_alloc+0x45/0xa0
[ 205.038042] [] kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? iget_locked+0x63/0x370
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] alloc_inode+0x61/0x180
[ 205.038042] [] iget_locked+0x129/0x370
[ 205.038042] [] ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_search_dir+0x430/0x430
[ 205.038042] [] ? ext4_get_projid+0x170/0x170
[ 205.038042] [] ? d_alloc_parallel+0x8c3/0x1900
[ 205.038042] [] ? lookup_slow+0x199/0x440
[ 205.038042] [] ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ext4_lookup+0x313/0x770
[ 205.038042] [] ? ext4_cross_rename+0x1340/0x1340
[ 205.038042] [] lookup_slow+0x238/0x440
[ 205.038042] [] ? lookup_one_len+0x3c0/0x3c0
[ 205.038042] [] walk_component+0x83b/0xfb0
[ 205.038042] [] ? follow_dotdot_rcu+0xe60/0xe60
[ 205.038042] [] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 205.038042] [] ? security_inode_permission+0xbb/0xf0
[ 205.038042] [] ? __inode_permission+0x7f/0x300
[ 205.038042] [] link_path_walk+0x47b/0x1140
[ 205.038042] [] ? walk_component+0xfb0/0xfb0
[ 205.038042] [] ? __mutex_init+0xca/0x100
[ 205.038042] [] path_openat+0x1a6/0x2f60
[ 205.038042] [] ? save_stack+0xb8/0xd0
[ 205.038042] [] ? __lock_acquire+0xbb3/0x4d80
[ 205.038042] [] ? do_sys_open+0x1c3/0x420
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? path_lookupat+0x450/0x450
[ 205.038042] [] ? debug_check_no_locks_freed+0x3c0/0x3c0
[ 205.038042] [] do_filp_open+0x18e/0x250
[ 205.038042] [] ? may_open_dev+0xe0/0xe0
[ 205.038042] [] ? _raw_spin_unlock+0x22/0x30
[ 205.038042] [] ? __alloc_fd+0x1e3/0x520
[ 205.038042] [] do_sys_open+0x201/0x420
[ 205.038042] [] ? filp_open+0x70/0x70
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x5/0xc1
[ 205.038042] [] SyS_openat+0x30/0x40
[ 205.038042] [] entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] Shutting down cpus with NMI
[ 205.038042] Dumping ftrace buffer:
205.038042 http://ftrace%20buffer%20empty
[ 205.038042] Kernel Offset: disabled

2016/10/08 11:11:41 failed to create instance: qemu stopped:

Any suggestions? Thanks.

Baozeng Ding


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#36 (comment), or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ABC2oNqifT27JyytR9vgj0aoTfWUglsvks5qxxNagaJpZM4JE-Z6>
.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#36 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAsDDcskmYiJZP8okGknQomhhA9aObnOks5qyJKRgaJpZM4JE-Z6
.

 Best Regards,
 Baozeng Ding

@dvyukov
Copy link
Collaborator Author

dvyukov commented Oct 10, 2016

On Mon, Oct 10, 2016 at 5:12 AM, sploving notifications@github.com wrote:

Hi Dmitry,

After I remove "panic_on_warn=1" in the qemu boot option, it could start
the vm. The panic_on_warn flag could cause a
warning panic when booting the vm, so do we really need it? Thanks.

... you mean flag passed in syzkaller? Otherwise you are free to pass any
flags you want.

I added it to syzkaller so that:

  1. we don't miss/ignore serious warnings (like this one; merely removing
    panic_on_warn won't solve the underlying problem, right?)
  2. warning crash reports are more reliable and don't contain unnecessary
    output

2016-10-09 15:06 GMT+08:00 Dmitry Vyukov notifications@github.com:

Hi Baozeng,

Please provide your config, commit hash and qemu command line.

On Sat, Oct 8, 2016 at 5:51 AM, sploving notifications@github.com
wrote:

Hello,
I still met the warning with the patch applied. It panics when starting
the qemu vm.
[ 168.822493] WARNING! power/level is deprecated; use power/control
instead
[ 174.154816] pci-db (4185) used greatest stack depth: 24824 bytes left
[ 205.037774] ------------[ cut here ]------------
[ 205.038042] WARNING: CPU: 3 PID: 4227 at lib/stackdepot.c:119
depot_save_stack+0x528/0x5b0
[ 205.038042] Stack depot reached limit capacity
[ 205.038042] Kernel panic - not syncing: panic_on_warn set ...
[ 205.038042]
[ 205.038042] CPU: 3 PID: 4227 Comm: grep Not tainted 4.8.0-rc8+ #32
#32

[ 205.038042] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS
rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
[ 205.038042] ffffffff87cb8f60 ffff88002701ee40 ffffffff82ce3189
ffffffff00000016
[ 205.038042] fffffbfff0f971ec ffffffff8688e740 ffff88002701ef18
ffffffff879ab000
[ 205.038042] dffffc0000000000 0000000000000009 ffff88002701ef08
ffffffff8168fd03
[ 205.038042] Call Trace:
[ 205.038042] [] dump_stack+0x12e/0x185
[ 205.038042] [] panic+0x1e4/0x3ef
[ 205.038042] [] ? set_ti_thread_flag+0x1e/0x1e
[ 205.038042] [] ? rt_mutex_top_waiter.part.10+0x6/0x6
[ 205.038042] [] ? depot_save_stack+0x528/0x5b0
[ 205.038042] [] __warn+0x1c4/0x1e0
[ 205.038042] [] warn_slowpath_fmt+0xac/0xd0
[ 205.038042] [] ? __warn+0x1e0/0x1e0
[ 205.038042] [] depot_save_stack+0x528/0x5b0
[ 205.038042] [] save_stack+0xb8/0xd0
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? save_stack+0x46/0xd0
[ 205.038042] [] ? kasan_kmalloc+0xad/0xe0
[ 205.038042] [] ? kasan_slab_alloc+0x12/0x20
[ 205.038042] [] ? kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] ? create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_alloc+0x45/0xa0
[ 205.038042] [] ? kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? alloc_inode+0x61/0x180
[ 205.038042] [] ? iget_locked+0x129/0x370
[ 205.038042] [] ? ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ? ext4_lookup+0x313/0x770
[ 205.038042] [] ? lookup_slow+0x238/0x440
[ 205.038042] [] ? walk_component+0x83b/0xfb0
[ 205.038042] [] ? link_path_walk+0x47b/0x1140
[ 205.038042] [] ? path_openat+0x1a6/0x2f60
[ 205.038042] [] ? do_filp_open+0x18e/0x250
[ 205.038042] [] ? do_sys_open+0x201/0x420
[ 205.038042] [] ? SyS_openat+0x30/0x40
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? set_track+0x6f/0x120
[ 205.038042] [] ? init_object+0x64/0xa0
[ 205.038042] [] ? alloc_debug_processing+0x6e/0x1b0
[ 205.038042] [] ? ___slab_alloc+0x19c/0x5d0
[ 205.038042] [] ? mark_held_locks+0xd0/0x130
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? kasan_unpoison_shadow+0x36/0x50
[ 205.038042] [] kasan_kmalloc+0xad/0xe0
[ 205.038042] [] kasan_slab_alloc+0x12/0x20
[ 205.038042] [] kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_disable+0x90/0x90
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] kmemleak_alloc+0x45/0xa0
[ 205.038042] [] kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? iget_locked+0x63/0x370
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] alloc_inode+0x61/0x180
[ 205.038042] [] iget_locked+0x129/0x370
[ 205.038042] [] ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_search_dir+0x430/0x430
[ 205.038042] [] ? ext4_get_projid+0x170/0x170
[ 205.038042] [] ? d_alloc_parallel+0x8c3/0x1900
[ 205.038042] [] ? lookup_slow+0x199/0x440
[ 205.038042] [] ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ext4_lookup+0x313/0x770
[ 205.038042] [] ? ext4_cross_rename+0x1340/0x1340
[ 205.038042] [] lookup_slow+0x238/0x440
[ 205.038042] [] ? lookup_one_len+0x3c0/0x3c0
[ 205.038042] [] walk_component+0x83b/0xfb0
[ 205.038042] [] ? follow_dotdot_rcu+0xe60/0xe60
[ 205.038042] [] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 205.038042] [] ? security_inode_permission+0xbb/0xf0
[ 205.038042] [] ? __inode_permission+0x7f/0x300
[ 205.038042] [] link_path_walk+0x47b/0x1140
[ 205.038042] [] ? walk_component+0xfb0/0xfb0
[ 205.038042] [] ? __mutex_init+0xca/0x100
[ 205.038042] [] path_openat+0x1a6/0x2f60
[ 205.038042] [] ? save_stack+0xb8/0xd0
[ 205.038042] [] ? __lock_acquire+0xbb3/0x4d80
[ 205.038042] [] ? do_sys_open+0x1c3/0x420
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? path_lookupat+0x450/0x450
[ 205.038042] [] ? debug_check_no_locks_freed+0x3c0/0x3c0
[ 205.038042] [] do_filp_open+0x18e/0x250
[ 205.038042] [] ? may_open_dev+0xe0/0xe0
[ 205.038042] [] ? _raw_spin_unlock+0x22/0x30
[ 205.038042] [] ? __alloc_fd+0x1e3/0x520
[ 205.038042] [] do_sys_open+0x201/0x420
[ 205.038042] [] ? filp_open+0x70/0x70
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x5/0xc1
[ 205.038042] [] SyS_openat+0x30/0x40
[ 205.038042] [] entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] Shutting down cpus with NMI
[ 205.038042] Dumping ftrace buffer:
205.038042 http://ftrace%20buffer%20empty
[ 205.038042] Kernel Offset: disabled

2016/10/08 11:11:41 failed to create instance: qemu stopped:

Any suggestions? Thanks.

Baozeng Ding


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#36 (comment), or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
ABC2oNqifT27JyytR9vgj0aoTfWUglsvks5qxxNagaJpZM4JE-Z6>
.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#36 (comment), or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
AAsDDcskmYiJZP8okGknQomhhA9aObnOks5qyJKRgaJpZM4JE-Z6>
.

Best Regards,

Baozeng Ding


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#36 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABC2oNi4CCaRdCcVTOkKQ-MOlA8IOTxaks5qya0tgaJpZM4JE-Z6
.

@dvyukov
Copy link
Collaborator Author

dvyukov commented Oct 14, 2016

Doh! Turned out I was testing all the time with stackdepot capacity bumped
4x. With default capacity syzkaller easily hits stackdepot capacity. Mailed
a patch now:
https://groups.google.com/forum/#!topic/kasan-dev/dKxHKqS4B50

On Sun, Oct 9, 2016 at 9:06 AM, Dmitry Vyukov dvyukov@google.com wrote:

Hi Baozeng,

Please provide your config, commit hash and qemu command line.

On Sat, Oct 8, 2016 at 5:51 AM, sploving notifications@github.com wrote:

Hello,
I still met the warning with the patch applied. It panics when starting
the qemu vm.
[ 168.822493] WARNING! power/level is deprecated; use power/control
instead
[ 174.154816] pci-db (4185) used greatest stack depth: 24824 bytes left
[ 205.037774] ------------[ cut here ]------------
[ 205.038042] WARNING: CPU: 3 PID: 4227 at lib/stackdepot.c:119
depot_save_stack+0x528/0x5b0
[ 205.038042] Stack depot reached limit capacity
[ 205.038042] Kernel panic - not syncing: panic_on_warn set ...
[ 205.038042]
[ 205.038042] CPU: 3 PID: 4227 Comm: grep Not tainted 4.8.0-rc8+ #32
#32
[ 205.038042] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
[ 205.038042] ffffffff87cb8f60 ffff88002701ee40 ffffffff82ce3189
ffffffff00000016
[ 205.038042] fffffbfff0f971ec ffffffff8688e740 ffff88002701ef18
ffffffff879ab000
[ 205.038042] dffffc0000000000 0000000000000009 ffff88002701ef08
ffffffff8168fd03
[ 205.038042] Call Trace:
[ 205.038042] [] dump_stack+0x12e/0x185
[ 205.038042] [] panic+0x1e4/0x3ef
[ 205.038042] [] ? set_ti_thread_flag+0x1e/0x1e
[ 205.038042] [] ? rt_mutex_top_waiter.part.10+0x6/0x6
[ 205.038042] [] ? depot_save_stack+0x528/0x5b0
[ 205.038042] [] __warn+0x1c4/0x1e0
[ 205.038042] [] warn_slowpath_fmt+0xac/0xd0
[ 205.038042] [] ? __warn+0x1e0/0x1e0
[ 205.038042] [] depot_save_stack+0x528/0x5b0
[ 205.038042] [] save_stack+0xb8/0xd0
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? save_stack+0x46/0xd0
[ 205.038042] [] ? kasan_kmalloc+0xad/0xe0
[ 205.038042] [] ? kasan_slab_alloc+0x12/0x20
[ 205.038042] [] ? kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] ? create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_alloc+0x45/0xa0
[ 205.038042] [] ? kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? alloc_inode+0x61/0x180
[ 205.038042] [] ? iget_locked+0x129/0x370
[ 205.038042] [] ? ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ? ext4_lookup+0x313/0x770
[ 205.038042] [] ? lookup_slow+0x238/0x440
[ 205.038042] [] ? walk_component+0x83b/0xfb0
[ 205.038042] [] ? link_path_walk+0x47b/0x1140
[ 205.038042] [] ? path_openat+0x1a6/0x2f60
[ 205.038042] [] ? do_filp_open+0x18e/0x250
[ 205.038042] [] ? do_sys_open+0x201/0x420
[ 205.038042] [] ? SyS_openat+0x30/0x40
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? save_stack_trace+0x26/0x50
[ 205.038042] [] ? set_track+0x6f/0x120
[ 205.038042] [] ? init_object+0x64/0xa0
[ 205.038042] [] ? alloc_debug_processing+0x6e/0x1b0
[ 205.038042] [] ? ___slab_alloc+0x19c/0x5d0
[ 205.038042] [] ? mark_held_locks+0xd0/0x130
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? kasan_unpoison_shadow+0x36/0x50
[ 205.038042] [] kasan_kmalloc+0xad/0xe0
[ 205.038042] [] kasan_slab_alloc+0x12/0x20
[ 205.038042] [] kmem_cache_alloc+0xe2/0x390
[ 205.038042] [] create_object+0x8c/0x860
[ 205.038042] [] ? kmemleak_disable+0x90/0x90
[ 205.038042] [] ? __slab_alloc+0x75/0xc0
[ 205.038042] [] ? ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] kmemleak_alloc+0x45/0xa0
[ 205.038042] [] kmem_cache_alloc+0x15d/0x390
[ 205.038042] [] ? iget_locked+0x63/0x370
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] ext4_alloc_inode+0x1d/0x680
[ 205.038042] [] ? ext4_statfs+0xbc0/0xbc0
[ 205.038042] [] alloc_inode+0x61/0x180
[ 205.038042] [] iget_locked+0x129/0x370
[ 205.038042] [] ext4_iget+0x117/0x3530
[ 205.038042] [] ? ext4_search_dir+0x430/0x430
[ 205.038042] [] ? ext4_get_projid+0x170/0x170
[ 205.038042] [] ? d_alloc_parallel+0x8c3/0x1900
[ 205.038042] [] ? lookup_slow+0x199/0x440
[ 205.038042] [] ext4_iget_normal+0x95/0xc0
[ 205.038042] [] ext4_lookup+0x313/0x770
[ 205.038042] [] ? ext4_cross_rename+0x1340/0x1340
[ 205.038042] [] lookup_slow+0x238/0x440
[ 205.038042] [] ? lookup_one_len+0x3c0/0x3c0
[ 205.038042] [] walk_component+0x83b/0xfb0
[ 205.038042] [] ? follow_dotdot_rcu+0xe60/0xe60
[ 205.038042] [] ? debug_lockdep_rcu_enabled+0x77/0x90
[ 205.038042] [] ? security_inode_permission+0xbb/0xf0
[ 205.038042] [] ? __inode_permission+0x7f/0x300
[ 205.038042] [] link_path_walk+0x47b/0x1140
[ 205.038042] [] ? walk_component+0xfb0/0xfb0
[ 205.038042] [] ? __mutex_init+0xca/0x100
[ 205.038042] [] path_openat+0x1a6/0x2f60
[ 205.038042] [] ? save_stack+0xb8/0xd0
[ 205.038042] [] ? __lock_acquire+0xbb3/0x4d80
[ 205.038042] [] ? do_sys_open+0x1c3/0x420
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] [] ? path_lookupat+0x450/0x450
[ 205.038042] [] ? debug_check_no_locks_freed+0x3c0/0x3c0
[ 205.038042] [] do_filp_open+0x18e/0x250
[ 205.038042] [] ? may_open_dev+0xe0/0xe0
[ 205.038042] [] ? _raw_spin_unlock+0x22/0x30
[ 205.038042] [] ? __alloc_fd+0x1e3/0x520
[ 205.038042] [] do_sys_open+0x201/0x420
[ 205.038042] [] ? filp_open+0x70/0x70
[ 205.038042] [] ? entry_SYSCALL_64_fastpath+0x5/0xc1
[ 205.038042] [] SyS_openat+0x30/0x40
[ 205.038042] [] entry_SYSCALL_64_fastpath+0x23/0xc1
[ 205.038042] Shutting down cpus with NMI
[ 205.038042] Dumping ftrace buffer:
205.038042 http://ftrace%20buffer%20empty
[ 205.038042] Kernel Offset: disabled

2016/10/08 11:11:41 failed to create instance: qemu stopped:

Any suggestions? Thanks.

Baozeng Ding


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#36 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABC2oNqifT27JyytR9vgj0aoTfWUglsvks5qxxNagaJpZM4JE-Z6
.

openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Dec 1, 2017
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
hubot pushed a commit to aosp-mirror/kernel_msm that referenced this issue Dec 14, 2017
…try.text

Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

Bug: 64145065
(cherry-picked from 469f002)
Change-Id: Ibca3dce99f9d36c048bce7e59c25064eb36fed6f
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Jackeagle pushed a commit to Jackeagle/kernel-msm-4.9 that referenced this issue Dec 19, 2017
…try.text

Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

Bug: 64145065
(cherry-picked from 469f002)
Change-Id: Ibca3dce99f9d36c048bce7e59c25064eb36fed6f
Signed-off-by: Paul Lawrence <paullawrence@google.com>
CMRemix pushed a commit to CMRemix/android_kernel_samsung_universal8895 that referenced this issue Dec 24, 2017
…try.text

Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

Bug: 64145065
(cherry-picked from 469f00231278da68062a809306df0bac95a27507)
Change-Id: Ibca3dce99f9d36c048bce7e59c25064eb36fed6f
Signed-off-by: Paul Lawrence <paullawrence@google.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Jan 9, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Jan 9, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
@xairy
Copy link
Collaborator

xairy commented Jan 26, 2018

Is this fixed?

@dvyukov
Copy link
Collaborator Author

dvyukov commented Jan 27, 2018

Yes, this is fixed.

@dvyukov dvyukov closed this as completed Jan 27, 2018
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Feb 6, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Feb 23, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Apr 13, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
jb-essential pushed a commit to EssentialOpenSource/linux that referenced this issue May 8, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

(cherry picked from commit 469f00231278da68062a809306df0bac95a27507)
Signed-off-by: Alexander Potapenko <glider@google.com>
dvandenburgh pushed a commit to dvandenburgh/android_kernel_essential_msm8998 that referenced this issue May 8, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

(cherry picked from commit 469f00231278da68062a809306df0bac95a27507)
Signed-off-by: Alexander Potapenko <glider@google.com>
celtare21 pushed a commit to celtare21/android_kernel_essential_msm8998 that referenced this issue May 8, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

(cherry picked from commit 469f00231278da68062a809306df0bac95a27507)
Signed-off-by: Alexander Potapenko <glider@google.com>
celtare21 pushed a commit to celtare21/android_kernel_essential_msm8998 that referenced this issue May 11, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

(cherry picked from commit 469f00231278da68062a809306df0bac95a27507)
Signed-off-by: Alexander Potapenko <glider@google.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Jun 16, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Jul 6, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Sep 5, 2018
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
zachariasmaladroit pushed a commit to zachariasmaladroit/kernel_lge_msm8998 that referenced this issue May 15, 2019
…try.text

Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

Bug: 64145065
(cherry-picked from 469f00231278da68062a809306df0bac95a27507)
Change-Id: Ibca3dce99f9d36c048bce7e59c25064eb36fed6f
Signed-off-by: Paul Lawrence <paullawrence@google.com>
(cherry picked from commit 5bd8877)
Signed-off-by: zachariasmaladroit <zacharias.maladroit@gmail.com>
openvz-integrator pushed a commit to OpenVZ/vzkernel that referenced this issue Nov 15, 2019
Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

https://jira.sw.ru/browse/PSBM-69081
(cherry picked from commit 469f002)
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
melver pushed a commit that referenced this issue Apr 2, 2020
It might have the unaligned access exception when trying to exchange data
with user space program. In this case, it failed in tty_ioctl(). Therefore
we should enable uaccess.S for NOMMU mode since the generic code doesn't
handle the unaligned access cases.

   0x8013a212 <tty_ioctl+462>:  ld      a5,460(s1)

[    0.115279] Oops - load address misaligned [#1]
[    0.115284] CPU: 0 PID: 29 Comm: sh Not tainted 5.4.0-rc5-00020-gb4c27160d562-dirty #36
[    0.115294] epc: 000000008013a212 ra : 000000008013a212 sp : 000000008f48dd50
[    0.115303]  gp : 00000000801cac28 tp : 000000008fb80000 t0 : 00000000000000e8
[    0.115312]  t1 : 000000008f58f108 t2 : 0000000000000009 s0 : 000000008f48ddf0
[    0.115321]  s1 : 000000008f8c6220 a0 : 0000000000000001 a1 : 000000008f48dd28
[    0.115330]  a2 : 000000008fb80000 a3 : 00000000801a7398 a4 : 0000000000000000
[    0.115339]  a5 : 0000000000000000 a6 : 000000008f58f0c6 a7 : 000000000000001d
[    0.115348]  s2 : 000000008f8c6308 s3 : 000000008f78b7c8 s4 : 000000008fb834c0
[    0.115357]  s5 : 0000000000005413 s6 : 0000000000000000 s7 : 000000008f58f2b0
[    0.115366]  s8 : 000000008f858008 s9 : 000000008f776818 s10: 000000008f776830
[    0.115375]  s11: 000000008fb840a8 t3 : 1999999999999999 t4 : 000000008f78704c
[    0.115384]  t5 : 0000000000000005 t6 : 0000000000000002
[    0.115391] status: 0000000200001880 badaddr: 000000008f8c63ec cause: 0000000000000004
[    0.115401] ---[ end trace 00d490c6a8b6c9ac ]---

This failure could be fixed after this patch applied.

[    0.002282] Run /init as init process
Initializing random number generator... [    0.005573] random: dd: uninitialized urandom read (512 bytes read)
done.

Welcome to Buildroot
buildroot login: root
Password:
Jan  1 00:00:00 login[62]: root login on 'ttySIF0'
~ #

Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
Reviewed-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Huawei-Dev pushed a commit to Huawei-Dev/android_kernel_huawei_btv that referenced this issue Nov 3, 2020
…try.text

Dmitry Vyukov has reported unexpected KASAN stackdepot growth:

  google/kernel-sanitizers#36

... which is caused by the APIC handlers not being present in .irqentry.text:

When building with CONFIG_FUNCTION_GRAPH_TRACER=y or CONFIG_KASAN=y, put the
APIC interrupt handlers into the .irqentry.text section. This is needed
because both KASAN and function graph tracer use __irqentry_text_start and
__irqentry_text_end to determine whether a function is an IRQ entry point.

Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Alexander Potapenko <glider@google.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: aryabinin@virtuozzo.com
Cc: kasan-dev@googlegroups.com
Cc: kcc@google.com
Cc: rostedt@goodmis.org
Link: http://lkml.kernel.org/r/1468575763-144889-1-git-send-email-glider@google.com
[ Minor edits. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>

Bug: 64145065
(cherry-picked from 469f00231278da68062a809306df0bac95a27507)
Change-Id: Ibca3dce99f9d36c048bce7e59c25064eb36fed6f
Signed-off-by: Paul Lawrence <paullawrence@google.com>
@xairy xairy added the KASAN KASAN-related issues label Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
KASAN KASAN-related issues
Projects
None yet
Development

No branches or pull requests

4 participants