bisecting cause commit starting from 1ce80e0fe98e72af4125f47c65b0bc01b60a7feb building syzkaller on adf636a83bd411d805aa74d07d03933ae9d08eb3 testing commit 1ce80e0fe98e72af4125f47c65b0bc01b60a7feb with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #2: crashed: KASAN: use-after-free Write in rb_erase run #3: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del run #4: crashed: BUG: unable to handle kernel paging request in corrupted run #5: crashed: BUG: unable to handle kernel paging request in corrupted run #6: crashed: KASAN: use-after-free in bpf_prog_kallsyms_find run #7: crashed: BUG: unable to handle kernel paging request in corrupted run #8: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del run #9: crashed: BUG: unable to handle kernel paging request in corrupted testing release v4.19 testing commit 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: basic kernel testing failed: timed out run #4: basic kernel testing failed: timed out run #5: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #6: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #7: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #8: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #9: crashed: BUG: unable to handle kernel paging request in corrupted testing release v4.18 testing commit 94710cac0ef4ee177a63b5227664b38c95bbf703 with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: crashed: BUG: unable to handle kernel paging request in corrupted run #4: crashed: KASAN: use-after-free Read in rb_insert_color run #5: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del run #6: crashed: BUG: unable to handle kernel paging request in corrupted run #7: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #8: crashed: KASAN: use-after-free Read in rb_erase run #9: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add testing release v4.17 testing commit 29dcea88779c856c7dc92040a0c01233263101d4 with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #3: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #4: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #5: crashed: BUG: unable to handle kernel paging request in corrupted run #6: crashed: BUG: unable to handle kernel paging request in corrupted run #7: OK run #8: crashed: BUG: unable to handle kernel paging request in corrupted run #9: OK testing release v4.16 testing commit 0adb32858b0bddf4ada5f364a84ed60b196dbcda with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #2: basic kernel testing failed: timed out run #3: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #4: basic kernel testing failed: timed out run #5: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #6: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #7: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del run #8: crashed: BUG: unable to handle kernel paging request in corrupted run #9: crashed: BUG: unable to handle kernel testing release v4.15 testing commit d8a5b80568a9cb66810e75b182018e9edb68e8ff with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect start v4.16 v4.15 Bisecting: 7566 revisions left to test after this (roughly 13 steps) [c14376de3a1befa70d9811ca2872d47367b48767] printk: Wake klogd when passing console_lock owner testing commit c14376de3a1befa70d9811ca2872d47367b48767 with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #4: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #5: crashed: general protection fault in bpf_prog_kallsyms_find run #6: crashed: KASAN: use-after-free Read in rb_insert_color run #7: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #8: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #9: crashed: KASAN: use-after-free Read in rb_erase # git bisect bad c14376de3a1befa70d9811ca2872d47367b48767 Bisecting: 3620 revisions left to test after this (roughly 12 steps) [a103950e0dd2058df5e8a8d4a915707bdcf205f0] Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 testing commit a103950e0dd2058df5e8a8d4a915707bdcf205f0 with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: basic kernel testing failed: timed out run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect good a103950e0dd2058df5e8a8d4a915707bdcf205f0 Bisecting: 1810 revisions left to test after this (roughly 11 steps) [0542e13b5f5663ffdc18e0e028413b2cd09f426f] Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue testing commit 0542e13b5f5663ffdc18e0e028413b2cd09f426f with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #4: basic kernel testing failed: timed out run #5: basic kernel testing failed: timed out run #6: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #7: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #8: crashed: BUG: unable to handle kernel paging request in corrupted run #9: OK # git bisect bad 0542e13b5f5663ffdc18e0e028413b2cd09f426f Bisecting: 914 revisions left to test after this (roughly 10 steps) [8a4816cad00bf14642f0ed6043b32d29a05006ce] tg3: Add Macronix NVRAM support testing commit 8a4816cad00bf14642f0ed6043b32d29a05006ce with gcc (GCC) 8.1.0 run #0: basic kernel testing failed: timed out run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: basic kernel testing failed: timed out run #4: basic kernel testing failed: timed out run #5: basic kernel testing failed: timed out run #6: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #7: OK run #8: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #9: OK # git bisect bad 8a4816cad00bf14642f0ed6043b32d29a05006ce Bisecting: 447 revisions left to test after this (roughly 9 steps) [30e43f13342bbe1dd96fa032030063ed5bfb6d04] net: phy: meson-gxl: leave CONFIG_A6 untouched testing commit 30e43f13342bbe1dd96fa032030063ed5bfb6d04 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 30e43f13342bbe1dd96fa032030063ed5bfb6d04 Bisecting: 447 revisions left to test after this (roughly 9 steps) [ad05a7a05ede28ba6dd935d9e932264a22518b1f] sctp: add basic structures and make chunk function for idata testing commit ad05a7a05ede28ba6dd935d9e932264a22518b1f with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip ad05a7a05ede28ba6dd935d9e932264a22518b1f Bisecting: 447 revisions left to test after this (roughly 9 steps) [6502ad5963a5307089bed395f63173e34cb251ea] bnxt_en: Add ETH_RESET_AP support testing commit 6502ad5963a5307089bed395f63173e34cb251ea with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 6502ad5963a5307089bed395f63173e34cb251ea Bisecting: 447 revisions left to test after this (roughly 9 steps) [4eb50ceb5c156a166c0b00ac27f0ff3a0943cdfb] ibmvnic: Include header descriptor support for ARP packets testing commit 4eb50ceb5c156a166c0b00ac27f0ff3a0943cdfb with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 4eb50ceb5c156a166c0b00ac27f0ff3a0943cdfb Bisecting: 447 revisions left to test after this (roughly 9 steps) [08859f159eaf7159a7a680c6151073f4451b222b] nfp: bpf: relax source operands check testing commit 08859f159eaf7159a7a680c6151073f4451b222b with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 08859f159eaf7159a7a680c6151073f4451b222b Bisecting: 447 revisions left to test after this (roughly 9 steps) [eff2d68ca7388ee1c08811c6bbf4d8587cba01da] Bluetooth: btusb: Add a Kconfig option to enable USB autosuspend by default testing commit eff2d68ca7388ee1c08811c6bbf4d8587cba01da with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip eff2d68ca7388ee1c08811c6bbf4d8587cba01da Bisecting: 447 revisions left to test after this (roughly 9 steps) [0190ff24e55efd3e02479537c2d91835602fffa3] iwlwifi: mvm: request statistics when reading debugfs testing commit 0190ff24e55efd3e02479537c2d91835602fffa3 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 0190ff24e55efd3e02479537c2d91835602fffa3 Bisecting: 447 revisions left to test after this (roughly 9 steps) [cdc0974f10cf02dde411ee96dbce54594249da4e] Merge branch 'hv_netvsc-Fix-default-and-limit-of-recv-buffer' testing commit cdc0974f10cf02dde411ee96dbce54594249da4e with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip cdc0974f10cf02dde411ee96dbce54594249da4e Bisecting: 447 revisions left to test after this (roughly 9 steps) [1971ab587bb087905ff94a079184b0608d0075ff] net: ethernet: ti: ale: use devm_kzalloc in cpsw_ale_create() testing commit 1971ab587bb087905ff94a079184b0608d0075ff with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 1971ab587bb087905ff94a079184b0608d0075ff Bisecting: 447 revisions left to test after this (roughly 9 steps) [fc0f9f4d2f26b12fd2eda239bb8f18ceaf192c91] PCI: Add pcim_set_mwi(), a device-managed pci_set_mwi() testing commit fc0f9f4d2f26b12fd2eda239bb8f18ceaf192c91 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip fc0f9f4d2f26b12fd2eda239bb8f18ceaf192c91 Bisecting: 447 revisions left to test after this (roughly 9 steps) [3b8fac5d905ee15346ba2de1e2427ef43fbbd880] net: dsa: introduce dsa_towards_port helper testing commit 3b8fac5d905ee15346ba2de1e2427ef43fbbd880 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 3b8fac5d905ee15346ba2de1e2427ef43fbbd880 Bisecting: 447 revisions left to test after this (roughly 9 steps) [345ac08990b8365294f9756da806f357c239d758] hv_netvsc: pass netvsc_device to receive callback testing commit 345ac08990b8365294f9756da806f357c239d758 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 345ac08990b8365294f9756da806f357c239d758 Bisecting: 447 revisions left to test after this (roughly 9 steps) [a9add1944eb1432c28087eba2b5637657a90daa3] cxgb4: use CLIP with LIP6 on T6 for TCAM filters testing commit a9add1944eb1432c28087eba2b5637657a90daa3 with gcc (GCC) 8.1.0 run #0: crashed: general protection fault in bpf_prog_kallsyms_find run #1: basic kernel testing failed: timed out run #2: basic kernel testing failed: timed out run #3: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del run #4: basic kernel testing failed: timed out run #5: crashed: BUG: unable to handle kernel paging request in corrupted run #6: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #7: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del run #8: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #9: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add # git bisect bad a9add1944eb1432c28087eba2b5637657a90daa3 Bisecting: 426 revisions left to test after this (roughly 9 steps) [c30abd5e40dd863f88e26be09b6ce949145a630a] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net testing commit c30abd5e40dd863f88e26be09b6ce949145a630a with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip c30abd5e40dd863f88e26be09b6ce949145a630a Bisecting: 426 revisions left to test after this (roughly 9 steps) [1dde35d0b8e3a9fbf24e13d16dc583f1cc5d027b] Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git testing commit 1dde35d0b8e3a9fbf24e13d16dc583f1cc5d027b with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 1dde35d0b8e3a9fbf24e13d16dc583f1cc5d027b Bisecting: 426 revisions left to test after this (roughly 9 steps) [87a23801e50273f66c68e3028cf610bf4124265c] nfp: extend NSP infrastructure for configurable timeouts testing commit 87a23801e50273f66c68e3028cf610bf4124265c with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 87a23801e50273f66c68e3028cf610bf4124265c Bisecting: 426 revisions left to test after this (roughly 9 steps) [19e36da61a90fe95116634f66196cc9b2e61b368] s390/qeth: robustify qeth_get_ip_version() testing commit 19e36da61a90fe95116634f66196cc9b2e61b368 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 19e36da61a90fe95116634f66196cc9b2e61b368 Bisecting: 426 revisions left to test after this (roughly 9 steps) [ac80c2a165af02a0cca3d17d534a85d37fdc1271] samples/bpf: add erspan v2 sample code testing commit ac80c2a165af02a0cca3d17d534a85d37fdc1271 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip ac80c2a165af02a0cca3d17d534a85d37fdc1271 Bisecting: 426 revisions left to test after this (roughly 9 steps) [096457b5523bbbb371c0099d4db5663fa084494a] macb: Kill PHY reset code testing commit 096457b5523bbbb371c0099d4db5663fa084494a with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 096457b5523bbbb371c0099d4db5663fa084494a Bisecting: 426 revisions left to test after this (roughly 9 steps) [259c8618b0099bfa613997b43857752167cddc20] sfp: add sff module support testing commit 259c8618b0099bfa613997b43857752167cddc20 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 259c8618b0099bfa613997b43857752167cddc20 Bisecting: 426 revisions left to test after this (roughly 9 steps) [60b84a9b3889a55503c6ffac56d69ecc060ad3b5] nfp: dump indirect ME CSRs testing commit 60b84a9b3889a55503c6ffac56d69ecc060ad3b5 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 60b84a9b3889a55503c6ffac56d69ecc060ad3b5 Bisecting: 426 revisions left to test after this (roughly 9 steps) [71827443017789da691b402090c6be6138f43157] sfc: support VI strides other than 8k testing commit 71827443017789da691b402090c6be6138f43157 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 71827443017789da691b402090c6be6138f43157 Bisecting: 426 revisions left to test after this (roughly 9 steps) [ce5c144f48d5e465bd9b9d676902cf4dcfcae4b9] net: bonding: Replace mac address parsing testing commit ce5c144f48d5e465bd9b9d676902cf4dcfcae4b9 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip ce5c144f48d5e465bd9b9d676902cf4dcfcae4b9 Bisecting: 426 revisions left to test after this (roughly 9 steps) [de60fe9105431f504de9f8793b1da237a7d7f7ed] sctp: implement handle_ftsn for sctp_stream_interleave testing commit de60fe9105431f504de9f8793b1da237a7d7f7ed with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip de60fe9105431f504de9f8793b1da237a7d7f7ed Bisecting: 426 revisions left to test after this (roughly 9 steps) [61afe07ad68e3c0b6672e65f4239a759491ccc58] Merge branch 'ibmvnic-Fix-and-increase-maximum-TX-RX-queues' testing commit 61afe07ad68e3c0b6672e65f4239a759491ccc58 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 61afe07ad68e3c0b6672e65f4239a759491ccc58 Bisecting: 426 revisions left to test after this (roughly 9 steps) [28dc4c8f4557d82e9be020e85e2362239270e704] net: phy: broadcom: Add entry for 5395 switch PHYs testing commit 28dc4c8f4557d82e9be020e85e2362239270e704 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 28dc4c8f4557d82e9be020e85e2362239270e704 Bisecting: 426 revisions left to test after this (roughly 9 steps) [d32442485df7633fc67245e3e614d29ac3c45dbd] tools: bpftool: create "uninstall", "doc-uninstall" make targets testing commit d32442485df7633fc67245e3e614d29ac3c45dbd with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip d32442485df7633fc67245e3e614d29ac3c45dbd Bisecting: 426 revisions left to test after this (roughly 9 steps) [78f012bc0e059725a7a209d073726fe81cf30145] net: ieee802154: adf7242: Add additional DEBUG information testing commit 78f012bc0e059725a7a209d073726fe81cf30145 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 78f012bc0e059725a7a209d073726fe81cf30145 Bisecting: 426 revisions left to test after this (roughly 9 steps) [4a86a4cf68b4996a656d8c666617e8d839f8f839] net: skb_array: expose peek API testing commit 4a86a4cf68b4996a656d8c666617e8d839f8f839 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 4a86a4cf68b4996a656d8c666617e8d839f8f839 Bisecting: 426 revisions left to test after this (roughly 9 steps) [8cfba951a0e65acb4ea9fe669a0aa09a44c5d1de] batman-adv: include kobject.h for kobject_* functions testing commit 8cfba951a0e65acb4ea9fe669a0aa09a44c5d1de with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 8cfba951a0e65acb4ea9fe669a0aa09a44c5d1de Bisecting: 426 revisions left to test after this (roughly 9 steps) [c1219653f3a5dc16334c43cbb8b3f5c27586c98b] cxgb4: skip TX and RX payload regions in memory dumps testing commit c1219653f3a5dc16334c43cbb8b3f5c27586c98b with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip c1219653f3a5dc16334c43cbb8b3f5c27586c98b Bisecting: 426 revisions left to test after this (roughly 9 steps) [170e8e6176d480717b0603a988ce7e4c1be654a8] ath10k: re-enable TXQs for all devices testing commit 170e8e6176d480717b0603a988ce7e4c1be654a8 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 170e8e6176d480717b0603a988ce7e4c1be654a8 Bisecting: 426 revisions left to test after this (roughly 9 steps) [60b58afc96c9df71871df2dbad42037757ceef26] bpf: fix net.core.bpf_jit_enable race testing commit 60b58afc96c9df71871df2dbad42037757ceef26 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 60b58afc96c9df71871df2dbad42037757ceef26 Bisecting: 426 revisions left to test after this (roughly 9 steps) [705d2fde94b23cd76efbeedde643ffa7c32fac7f] wil6210: add block size checks during FW load testing commit 705d2fde94b23cd76efbeedde643ffa7c32fac7f with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 705d2fde94b23cd76efbeedde643ffa7c32fac7f Bisecting: 426 revisions left to test after this (roughly 9 steps) [9162e0ed9e238c1f1d738cb36ee59d96b097f8e1] sctp: implement enqueue_event for sctp_stream_interleave testing commit 9162e0ed9e238c1f1d738cb36ee59d96b097f8e1 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 9162e0ed9e238c1f1d738cb36ee59d96b097f8e1 Bisecting: 426 revisions left to test after this (roughly 9 steps) [05898dd98830f62e60faa41a4ec6acecb9d6cdd1] wil6210: remove suspend time statistics testing commit 05898dd98830f62e60faa41a4ec6acecb9d6cdd1 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 05898dd98830f62e60faa41a4ec6acecb9d6cdd1 Bisecting: 426 revisions left to test after this (roughly 9 steps) [1b259904a2d0ad8c57feb498932bed5171112af3] Bluetooth: Use common error handling code in bt_init() testing commit 1b259904a2d0ad8c57feb498932bed5171112af3 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 1b259904a2d0ad8c57feb498932bed5171112af3 Bisecting: 426 revisions left to test after this (roughly 9 steps) [dd8a2d49e4ed321ab8e7b679499c3a98ccc5ca24] brcmfmac: Rename bcmerror to err testing commit dd8a2d49e4ed321ab8e7b679499c3a98ccc5ca24 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip dd8a2d49e4ed321ab8e7b679499c3a98ccc5ca24 Bisecting: 426 revisions left to test after this (roughly 9 steps) [41f61db2cd24d5ad802386719cccde1479aa82a6] hv_netvsc: Fix the TX/RX buffer default sizes testing commit 41f61db2cd24d5ad802386719cccde1479aa82a6 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 41f61db2cd24d5ad802386719cccde1479aa82a6 Bisecting: 426 revisions left to test after this (roughly 9 steps) [d0aef029b53c70d6261ef9d4bd827c861d51a8ef] net: ethernet: ti: ale: disable ale from stop() testing commit d0aef029b53c70d6261ef9d4bd827c861d51a8ef with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip d0aef029b53c70d6261ef9d4bd827c861d51a8ef Bisecting: 426 revisions left to test after this (roughly 9 steps) [22b371cbb949e1c8ee4accfead5ee9f3e7f0c114] Bluetooth: introduce DEFINE_SHOW_ATTRIBUTE() macro testing commit 22b371cbb949e1c8ee4accfead5ee9f3e7f0c114 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 22b371cbb949e1c8ee4accfead5ee9f3e7f0c114 Bisecting: 426 revisions left to test after this (roughly 9 steps) [80e023607982faa6245507c45acf93bb0feb0ded] net: dsa: remove trans argument from vlan ops testing commit 80e023607982faa6245507c45acf93bb0feb0ded with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 80e023607982faa6245507c45acf93bb0feb0ded Bisecting: 426 revisions left to test after this (roughly 9 steps) [1ac63e392e57ffbcd2b567f2c69474f3e9cb889d] net: phy: phylink: Allow setting a custom link state callback testing commit 1ac63e392e57ffbcd2b567f2c69474f3e9cb889d with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 1ac63e392e57ffbcd2b567f2c69474f3e9cb889d Bisecting: 426 revisions left to test after this (roughly 9 steps) [136819a6e8df374e6b9b424586ff11c9e241a1cb] net: phy: realtek: add utility functions to read/write page addresses testing commit 136819a6e8df374e6b9b424586ff11c9e241a1cb with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip 136819a6e8df374e6b9b424586ff11c9e241a1cb Bisecting: 426 revisions left to test after this (roughly 9 steps) [bbd62d24f936f8efab95dea583f6b69da4f036e2] bcm63xx_enet: remove pointless mac_id check testing commit bbd62d24f936f8efab95dea583f6b69da4f036e2 with gcc (GCC) 8.1.0 net/wireless/shipped-certs.c:774:14: error: redefinition of ‘shipped_regdb_certs_len’ # git bisect skip bbd62d24f936f8efab95dea583f6b69da4f036e2 Bisecting: 426 revisions left to test after this (roughly 9 steps) [f16121c80c8ee4dab3c41363cb8b24f8d8eaf45f] net: hns3: add Asym Pause support to phy default features testing commit f16121c80c8ee4dab3c41363cb8b24f8d8eaf45f with gcc (GCC) 8.1.0 run #0: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #1: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #2: crashed: KASAN: use-after-free Read in rb_erase run #3: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #4: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #5: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #6: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #7: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #8: crashed: KASAN: use-after-free Read in rb_erase run #9: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find # git bisect bad f16121c80c8ee4dab3c41363cb8b24f8d8eaf45f Bisecting: 367 revisions left to test after this (roughly 9 steps) [1d7e2ed22f8d9171fa8b629754022f22115b3f03] net: erspan: refactor existing erspan code testing commit 1d7e2ed22f8d9171fa8b629754022f22115b3f03 with gcc (GCC) 8.1.0 all runs: OK # git bisect good 1d7e2ed22f8d9171fa8b629754022f22115b3f03 Bisecting: 231 revisions left to test after this (roughly 8 steps) [918341e063028080bcd73d33540f77d9c1d20602] cxgb4: Report tid start range correctly for T6 testing commit 918341e063028080bcd73d33540f77d9c1d20602 with gcc (GCC) 8.1.0 run #0: crashed: BUG: unable to handle kernel paging request in corrupted run #1: crashed: BUG: unable to handle kernel paging request in corrupted run #2: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #3: crashed: BUG: unable to handle kernel paging request in corrupted run #4: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #5: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #6: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #7: crashed: BUG: unable to handle kernel paging request in corrupted run #8: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #9: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_del # git bisect bad 918341e063028080bcd73d33540f77d9c1d20602 Bisecting: 67 revisions left to test after this (roughly 6 steps) [59436c9ee18d7faad0cd1875c9d8322668f98611] Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next testing commit 59436c9ee18d7faad0cd1875c9d8322668f98611 with gcc (GCC) 8.1.0 run #0: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_add run #1: crashed: BUG: unable to handle kernel paging request in corrupted run #2: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #3: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #4: crashed: KASAN: use-after-free Read in rb_erase run #5: crashed: KASAN: use-after-free Read in bpf_prog_kallsyms_find run #6: crashed: KASAN: use-after-free Read in rb_insert_color run #7: crashed: BUG: unable to handle kernel paging request in corrupted run #8: crashed: BUG: unable to handle kernel paging request in bpf_prog_kallsyms_find run #9: OK # git bisect bad 59436c9ee18d7faad0cd1875c9d8322668f98611 Bisecting: 33 revisions left to test after this (roughly 5 steps) [b0b04fc49e3b97a6039b9b658798efdcda71478d] selftests/bpf: add xdp noinline test testing commit b0b04fc49e3b97a6039b9b658798efdcda71478d with gcc (GCC) 8.1.0 all runs: crashed: WARNING in bpf_jit_free # git bisect bad b0b04fc49e3b97a6039b9b658798efdcda71478d Bisecting: 16 revisions left to test after this (roughly 4 steps) [49a086c201a9356287471aa5846a427bdcecc4f7] bpftool: implement prog load command testing commit 49a086c201a9356287471aa5846a427bdcecc4f7 with gcc (GCC) 8.1.0 all runs: OK # git bisect good 49a086c201a9356287471aa5846a427bdcecc4f7 Bisecting: 7 revisions left to test after this (roughly 3 steps) [0bce7c9a607f1dbf8d83dd2865e1657096dbce59] nfp: bpf: correct printk formats for size_t testing commit 0bce7c9a607f1dbf8d83dd2865e1657096dbce59 with gcc (GCC) 8.1.0 all runs: OK # git bisect good 0bce7c9a607f1dbf8d83dd2865e1657096dbce59 Bisecting: 3 revisions left to test after this (roughly 2 steps) [cc2b14d51053eb055c06f45e1a5cdbfcf2b79e94] bpf: teach verifier to recognize zero initialized stack testing commit cc2b14d51053eb055c06f45e1a5cdbfcf2b79e94 with gcc (GCC) 8.1.0 all runs: crashed: WARNING in bpf_jit_free # git bisect bad cc2b14d51053eb055c06f45e1a5cdbfcf2b79e94 Bisecting: 1 revision left to test after this (roughly 1 step) [f4d7e40a5b7157e1329c3c5b10f60d8289fc2941] bpf: introduce function calls (verification) testing commit f4d7e40a5b7157e1329c3c5b10f60d8289fc2941 with gcc (GCC) 8.1.0 all runs: crashed: WARNING in bpf_jit_free # git bisect bad f4d7e40a5b7157e1329c3c5b10f60d8289fc2941 Bisecting: 0 revisions left to test after this (roughly 0 steps) [cc8b0b92a1699bc32f7fec71daa2bfc90de43a4d] bpf: introduce function calls (function boundaries) testing commit cc8b0b92a1699bc32f7fec71daa2bfc90de43a4d with gcc (GCC) 8.1.0 all runs: OK # git bisect good cc8b0b92a1699bc32f7fec71daa2bfc90de43a4d f4d7e40a5b7157e1329c3c5b10f60d8289fc2941 is the first bad commit commit f4d7e40a5b7157e1329c3c5b10f60d8289fc2941 Author: Alexei Starovoitov Date: Thu Dec 14 17:55:06 2017 -0800 bpf: introduce function calls (verification) Allow arbitrary function calls from bpf function to another bpf function. To recognize such set of bpf functions the verifier does: 1. runs control flow analysis to detect function boundaries 2. proceeds with verification of all functions starting from main(root) function It recognizes that the stack of the caller can be accessed by the callee (if the caller passed a pointer to its stack to the callee) and the callee can store map_value and other pointers into the stack of the caller. 3. keeps track of the stack_depth of each function to make sure that total stack depth is still less than 512 bytes 4. disallows pointers to the callee stack to be stored into the caller stack, since they will be invalid as soon as the callee returns 5. to reuse all of the existing state_pruning logic each function call is considered to be independent call from the verifier point of view. The verifier pretends to inline all function calls it sees are being called. It stores the callsite instruction index as part of the state to make sure that two calls to the same callee from two different places in the caller will be different from state pruning point of view 6. more safety checks are added to liveness analysis Implementation details: . struct bpf_verifier_state is now consists of all stack frames that led to this function . struct bpf_func_state represent one stack frame. It consists of registers in the given frame and its stack . propagate_liveness() logic had a premature optimization where mark_reg_read() and mark_stack_slot_read() were manually inlined with loop iterating over parents for each register or stack slot. Undo this optimization to reuse more complex mark_*_read() logic . skip_callee() logic is not necessary from safety point of view, but without it mark_*_read() markings become too conservative, since after returning from the funciton call a read of r6-r9 will incorrectly propagate the read marks into callee causing inefficient pruning later . mark_*_read() logic is now aware of control flow which makes it more complex. In the future the plan is to rewrite liveness to be hierarchical. So that liveness can be done within basic block only and control flow will be responsible for propagation of liveness information along cfg and between calls. . tail_calls and ld_abs insns are not allowed in the programs with bpf-to-bpf calls . returning stack pointers to the caller or storing them into stack frame of the caller is not allowed Testing: . no difference in cilium processed_insn numbers . large number of tests follows in next patches Signed-off-by: Alexei Starovoitov Acked-by: John Fastabend Acked-by: Daniel Borkmann Signed-off-by: Daniel Borkmann :040000 040000 4571d2d070b435b83c344e56de192fdac366b282 e6a5f2b50a72423e4f695fcb30defe5b5b05f3f5 M include :040000 040000 ec8c9c934284a4523e1d6aa1e719736c778d5eb5 81e6121865a55184f702c494b11aee14afdac167 M kernel revisions tested: 65, total time: 7h45m52.55121298s (build: 4h22m58.955570749s, test: 3h6m49.244286155s) first bad commit: f4d7e40a5b7157e1329c3c5b10f60d8289fc2941 bpf: introduce function calls (verification) cc: ["ast@fb.com" "ast@kernel.org" "daniel@iogearbox.net" "john.fastabend@gmail.com"] crash: WARNING in bpf_jit_free WARNING: CPU: 0 PID: 9750 at kernel/bpf/core.c:549 bpf_jit_free+0x2aa/0x3d0 Kernel panic - not syncing: panic_on_warn set ... CPU: 0 PID: 9750 Comm: kworker/0:4 Not tainted 4.15.0-rc2+ #1 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: events bpf_prog_free_deferred Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x145/0x1e1 lib/dump_stack.c:53 panic+0x1a9/0x34e kernel/panic.c:183 __warn.cold.8+0x120/0x156 kernel/panic.c:547 report_bug+0x1a3/0x230 lib/bug.c:184 fixup_bug arch/x86/kernel/traps.c:177 [inline] do_error_trap+0x1bd/0x460 arch/x86/kernel/traps.c:295 do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:314 invalid_op+0x18/0x20 arch/x86/entry/entry_64.S:930 RIP: 0010:bpf_jit_free+0x2aa/0x3d0 RSP: 0018:ffff8801d9187470 EFLAGS: 00010206 RAX: 0000000000000007 RBX: ffffc900019d8000 RCX: dffffc0000000000 RDX: dead000000000200 RSI: ffff8801c07615c8 RDI: ffff8801bb281350 RBP: ffff8801d9187510 R08: ffff8801c33069d8 R09: 0000000000000006 R10: 0000000000000000 R11: ffff8801c33060c0 R12: 1ffff1003b230e91 R13: ffffc900019d8002 R14: ffffc900019d8018 R15: ffffffff883e8d00 bpf_prog_free_deferred+0x74/0xa0 kernel/bpf/core.c:1579 process_one_work+0x9f7/0x1a80 kernel/workqueue.c:2112 worker_thread+0x212/0x18f0 kernel/workqueue.c:2246 kthread+0x355/0x410 kernel/kthread.c:238 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:441 Kernel Offset: disabled Rebooting in 86400 seconds..