bisecting cause commit starting from 7cc2a8ea104820dd9e702202621e8fd4d9f6c8cf building syzkaller on 510951950dc0ee69cfdaf746061d3dbe31b49fd8 testing commit 7cc2a8ea104820dd9e702202621e8fd4d9f6c8cf with gcc (GCC) 8.1.0 kernel signature: 98a704192847dfaabaa2cc4b7ed8f2aa44864823298138697f5b35e23f764cbf run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine testing release v5.7 testing commit 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 with gcc (GCC) 8.1.0 kernel signature: 015e421140053efba751d6b71da41f7f2abb21c9c9858cbd3ba0178049411178 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine testing release v5.6 testing commit 7111951b8d4973bda27ff663f2cf18b663d15b48 with gcc (GCC) 8.1.0 kernel signature: d2ee7b7a2de41a6239d7143bb875a98d54f64915e98d6622817f2436a04db722 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: INFO: rcu detected stall in tc_modify_qdisc run #6: crashed: BUG: soft lockup in smp_call_function run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine testing release v5.5 testing commit d5226fa6dbae0569ee43ecfc08bdcd6770fc4755 with gcc (GCC) 8.1.0 kernel signature: 04754e0a615ed15f0cc3a967b79574bfc242f6b5ad4a3f118229e46f3bce105d all runs: crashed: BUG: sleeping function called from invalid context in cpus_read_lock testing release v5.4 testing commit 219d54332a09e8d8741c1e1982f5eae56099de85 with gcc (GCC) 8.1.0 kernel signature: 210e531510dc50d33ed998f50690e89ff69515c9afd4f343782ed301adf24604 all runs: crashed: BUG: sleeping function called from invalid context in cpus_read_lock testing release v5.3 testing commit 4d856f72c10ecb060868ed10ff1b1453943fc6c8 with gcc (GCC) 8.1.0 kernel signature: 1f0f8831db570da60107c10543bc938e723cc47427ccf860d006c3123d2752fd all runs: crashed: BUG: sleeping function called from invalid context in cpus_read_lock testing release v5.2 testing commit 0ecfebd2b52404ae0c54a878c872bb93363ada36 with gcc (GCC) 8.1.0 kernel signature: 82c672aa3810cccab4d80115ecd7c20c1e0b856bb9983d32b135e0895b587b71 all runs: crashed: BUG: sleeping function called from invalid context in cpus_read_lock testing release v5.1 testing commit e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd with gcc (GCC) 8.1.0 kernel signature: 5d311ded67c3bd66c89a2b4586be8a2085ce23df853fd5b8f2b33bc40887dd07 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: no output from test machine run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine testing release v5.0 testing commit 1c163f4c7b3f621efff9b28a47abb36f7378d783 with gcc (GCC) 8.1.0 kernel signature: 19ed0f88c329245a5b820ff4503cc3ede2a280b7bd520b7d675d60d949bb96c2 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: BUG: soft lockup in smp_call_function run #4: crashed: INFO: rcu detected stall in corrupted run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine testing release v4.20 testing commit 8fe28cb58bcb235034b64cbbb7550a8a43fd88be with gcc (GCC) 8.1.0 kernel signature: 0fe7f6259397b9d8ff999f761ec679545827f15ab45718d4e09d82c1697d894c run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: no output from test machine run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine testing release v4.19 testing commit 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d with gcc (GCC) 8.1.0 kernel signature: b099495edef6b388d873ce351466b8d5369c5cd49847f8fa38e927448eea9a3f all runs: OK # git bisect start 8fe28cb58bcb235034b64cbbb7550a8a43fd88be 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d Bisecting: 7499 revisions left to test after this (roughly 13 steps) [ec9c166434595382be3babf266febf876327774d] Merge tag 'mips_fixes_4.20_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux testing commit ec9c166434595382be3babf266febf876327774d with gcc (GCC) 8.1.0 kernel signature: e351773b00a178b1c73d1c88ac3327c13536ad9b26278c43f2d0850aa7253368 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: INFO: rcu detected stall in tc_modify_qdisc run #6: crashed: INFO: rcu detected stall in tc_modify_qdisc run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad ec9c166434595382be3babf266febf876327774d Bisecting: 3252 revisions left to test after this (roughly 12 steps) [50b825d7e87f4cff7070df6eb26390152bb29537] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next testing commit 50b825d7e87f4cff7070df6eb26390152bb29537 with gcc (GCC) 8.1.0 kernel signature: a0d17a26ed37238adb1c26bbd7f020195f8c86f456b53821689d37468ec8eba1 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad 50b825d7e87f4cff7070df6eb26390152bb29537 Bisecting: 2120 revisions left to test after this (roughly 11 steps) [99e9acd85ccbdc8f5785f9e961d4956e96bd6aa5] Merge tag 'mlx5-updates-2018-10-17' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux testing commit 99e9acd85ccbdc8f5785f9e961d4956e96bd6aa5 with gcc (GCC) 8.1.0 kernel signature: 4c74ef2f91a33e269ef332b11bf01978a6f4b79e5a977cb2ea371818acc1b55f run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in tc_modify_qdisc run #2: crashed: INFO: rcu detected stall in tc_modify_qdisc run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: INFO: rcu detected stall in tc_modify_qdisc run #6: crashed: INFO: rcu detected stall in tc_modify_qdisc run #7: crashed: INFO: rcu detected stall in tc_modify_qdisc run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad 99e9acd85ccbdc8f5785f9e961d4956e96bd6aa5 Bisecting: 989 revisions left to test after this (roughly 10 steps) [d793fb46822ff7408a1767313ef6b12e811baa55] Merge tag 'wireless-drivers-next-for-davem-2018-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next testing commit d793fb46822ff7408a1767313ef6b12e811baa55 with gcc (GCC) 8.1.0 kernel signature: 2f2cc554da8ef7779be2b8cfe5ac809dc858e6a6c10c69aefd881c2dd984ffce all runs: OK # git bisect good d793fb46822ff7408a1767313ef6b12e811baa55 Bisecting: 461 revisions left to test after this (roughly 9 steps) [071a234ad744ab9a1e9c948874d5f646a2964734] Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next testing commit 071a234ad744ab9a1e9c948874d5f646a2964734 with gcc (GCC) 8.1.0 kernel signature: 43d8cb5875e67d516706afac21ac6a150930f709aabdcf18f94dba18647550b7 run #0: crashed: BUG: soft lockup in smp_call_function run #1: crashed: no output from test machine run #2: crashed: no output from test machine run #3: crashed: no output from test machine run #4: crashed: no output from test machine run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad 071a234ad744ab9a1e9c948874d5f646a2964734 Bisecting: 275 revisions left to test after this (roughly 8 steps) [5580d810560da33804053ae3bca13110c9a8d5e8] Merge tag 'mt76-for-kvalo-2018-10-05' of https://github.com/nbd168/wireless testing commit 5580d810560da33804053ae3bca13110c9a8d5e8 with gcc (GCC) 8.1.0 kernel signature: fd4c08a50f85e7e261032a1a8f220609f1b5226043d78c738077cdcacb36c738 all runs: OK # git bisect good 5580d810560da33804053ae3bca13110c9a8d5e8 Bisecting: 137 revisions left to test after this (roughly 7 steps) [b245d32c995868879f361d252f32bb8a2ca33deb] net: sched: cls_u32: keep track of knodes count in tc_u_common testing commit b245d32c995868879f361d252f32bb8a2ca33deb with gcc (GCC) 8.1.0 kernel signature: 5912bdd97949e659e2e4a325a6dde65b0ce73b0837a1f33c750014c8f4c2eab7 run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in filemap_map_pages run #2: crashed: INFO: rcu detected stall in addrconf_dad_work run #3: crashed: no output from test machine run #4: crashed: no output from test machine run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad b245d32c995868879f361d252f32bb8a2ca33deb Bisecting: 68 revisions left to test after this (roughly 6 steps) [cc5f0eb2164f9aa11fe631f8d905192e0233e262] net: Move free of fib_metrics to helper testing commit cc5f0eb2164f9aa11fe631f8d905192e0233e262 with gcc (GCC) 8.1.0 kernel signature: 31a3d0340277ac3b7dad1d3b8beb91ecc4642cb61088d86a4cad47025ca3ed48 run #0: crashed: INFO: rcu detected stall in mutex_spin_on_owner run #1: crashed: INFO: rcu detected stall in rtnl_newlink run #2: crashed: no output from test machine run #3: crashed: no output from test machine run #4: crashed: no output from test machine run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad cc5f0eb2164f9aa11fe631f8d905192e0233e262 Bisecting: 33 revisions left to test after this (roughly 5 steps) [6a5e6b118092dfddc545d95911d66d6562f05281] Merge branch 'ieee802154-for-davem-2018-10-04' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan-next testing commit 6a5e6b118092dfddc545d95911d66d6562f05281 with gcc (GCC) 8.1.0 kernel signature: b34edf712e7d4af3a12370cbc7de4fe85ec37486667db005a6b7aa9c102fe437 all runs: OK # git bisect good 6a5e6b118092dfddc545d95911d66d6562f05281 Bisecting: 15 revisions left to test after this (roughly 4 steps) [9e50727f0e710e25e9fd740c9f43f51b37757773] Merge tag 'mlx5-updates-2018-10-03' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux testing commit 9e50727f0e710e25e9fd740c9f43f51b37757773 with gcc (GCC) 8.1.0 kernel signature: a1d3b5d7df65a56194916b69ea744d1b772c0d3de82d07245e35d351708199e9 all runs: OK # git bisect good 9e50727f0e710e25e9fd740c9f43f51b37757773 Bisecting: 7 revisions left to test after this (roughly 3 steps) [2dc0865e9ac7150e2d3b29afdc32d04b99f37902] bnxt_en: Add a driver specific gre_ver_check devlink parameter. testing commit 2dc0865e9ac7150e2d3b29afdc32d04b99f37902 with gcc (GCC) 8.1.0 kernel signature: 182b3068d8526c1edee9d3af291114970446215e28d2ab6ed159fd9675b05587 all runs: OK # git bisect good 2dc0865e9ac7150e2d3b29afdc32d04b99f37902 Bisecting: 3 revisions left to test after this (roughly 2 steps) [5a781ccbd19e4664babcbe4b4ead7aa2b9283d22] tc: Add support for configuring the taprio scheduler testing commit 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22 with gcc (GCC) 8.1.0 kernel signature: 0fd71d5ae0203c8c37ad8ec54ae3b3029b53ef8d3469ccbc889d95a3f75ca499 run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in rtnl_newlink run #2: crashed: INFO: rcu detected stall in rtnl_newlink run #3: crashed: no output from test machine run #4: crashed: no output from test machine run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: no output from test machine run #8: crashed: no output from test machine run #9: crashed: no output from test machine # git bisect bad 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22 Bisecting: 1 revision left to test after this (roughly 1 step) [53e233ea2fa9fa7e2405e95070981f327d90e519] devlink: Add Documentation/networking/devlink-params-bnxt.txt testing commit 53e233ea2fa9fa7e2405e95070981f327d90e519 with gcc (GCC) 8.1.0 kernel signature: 28cc311a4ed8a2f6e6f70d67a68c45ce8daf52075e8b138dfdade6b9337d57a6 all runs: OK # git bisect good 53e233ea2fa9fa7e2405e95070981f327d90e519 Bisecting: 0 revisions left to test after this (roughly 0 steps) [34f8c58f47797efa25ba212001514ef31e153134] Merge branch 'bnxt_en-devlink-param-updates' testing commit 34f8c58f47797efa25ba212001514ef31e153134 with gcc (GCC) 8.1.0 kernel signature: adc209e1a4b767e2428ffd25205bdd53cb6368a801478ca9663f5953b0c6ce60 all runs: OK # git bisect good 34f8c58f47797efa25ba212001514ef31e153134 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22 is the first bad commit commit 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22 Author: Vinicius Costa Gomes Date: Fri Sep 28 17:59:43 2018 -0700 tc: Add support for configuring the taprio scheduler This traffic scheduler allows traffic classes states (transmission allowed/not allowed, in the simplest case) to be scheduled, according to a pre-generated time sequence. This is the basis of the IEEE 802.1Qbv specification. Example configuration: tc qdisc replace dev enp3s0 parent root handle 100 taprio \ num_tc 3 \ map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \ queues 1@0 1@1 2@2 \ base-time 1528743495910289987 \ sched-entry S 01 300000 \ sched-entry S 02 300000 \ sched-entry S 04 300000 \ clockid CLOCK_TAI The configuration format is similar to mqprio. The main difference is the presence of a schedule, built by multiple "sched-entry" definitions, each entry has the following format: sched-entry The only supported is "S", which means "SetGateStates", following the IEEE 802.1Qbv-2015 definition (Table 8-6). is a bitmask where each bit is a associated with a traffic class, so bit 0 (the least significant bit) being "on" means that traffic class 0 is "active" for that schedule entry. is a time duration in nanoseconds that specifies for how long that state defined by and should be held before moving to the next entry. This schedule is circular, that is, after the last entry is executed it starts from the first one, indefinitely. The other parameters can be defined as follows: - base-time: specifies the instant when the schedule starts, if 'base-time' is a time in the past, the schedule will start at base-time + (N * cycle-time) where N is the smallest integer so the resulting time is greater than "now", and "cycle-time" is the sum of all the intervals of the entries in the schedule; - clockid: specifies the reference clock to be used; The parameters should be similar to what the IEEE 802.1Q family of specification defines. Signed-off-by: Vinicius Costa Gomes Signed-off-by: David S. Miller include/uapi/linux/pkt_sched.h | 46 ++ net/sched/Kconfig | 11 + net/sched/Makefile | 1 + net/sched/sch_taprio.c | 962 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1020 insertions(+) create mode 100644 net/sched/sch_taprio.c culprit signature: 0fd71d5ae0203c8c37ad8ec54ae3b3029b53ef8d3469ccbc889d95a3f75ca499 parent signature: adc209e1a4b767e2428ffd25205bdd53cb6368a801478ca9663f5953b0c6ce60 revisions tested: 25, total time: 5h49m5.781779005s (build: 2h26m11.049977204s, test: 3h19m2.410670609s) first bad commit: 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22 tc: Add support for configuring the taprio scheduler cc: ["davem@davemloft.net" "jhs@mojatatu.com" "jiri@resnulli.us" "linux-kernel@vger.kernel.org" "netdev@vger.kernel.org" "vinicius.gomes@intel.com" "xiyou.wangcong@gmail.com"] crash: no output from test machine