bisecting cause commit starting from 0f091e43310f5c292b7094f9f115e651358e8053 building syzkaller on d5a3ae1f760e7cb2cd5a721d9645ae22eae114fe testing commit 0f091e43310f5c292b7094f9f115e651358e8053 with gcc (GCC) 8.1.0 kernel signature: 71ad2770937b2a38b267e24c135cbc53054b23e4df12e3632e9be90fab65e621 run #0: crashed: INFO: rcu detected stall in corrupted run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in do_idle run #3: crashed: INFO: task hung in switchdev_deferred_process_work run #4: crashed: INFO: task hung in crda_timeout_work run #5: crashed: INFO: task hung in addrconf_dad_work run #6: crashed: BUG: soft lockup in smp_call_function run #7: crashed: INFO: rcu detected stall in do_idle run #8: crashed: INFO: task hung in corrupted run #9: crashed: INFO: rcu detected stall in iterate_cleanup_work testing release v5.8 testing commit bcf876870b95592b52519ed4aafcf9d95999bc9c with gcc (GCC) 8.1.0 kernel signature: 10b3759c233709b3aa5115af63673dc9adb2091dd866152b1e902aaf706232de run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in do_idle run #3: crashed: INFO: rcu detected stall in corrupted run #4: crashed: INFO: rcu detected stall in do_idle run #5: crashed: INFO: rcu detected stall in addrconf_dad_work run #6: crashed: INFO: rcu detected stall in do_idle run #7: crashed: BUG: soft lockup in do_idle run #8: crashed: BUG: soft lockup in ext4_end_io_rsv_work run #9: crashed: INFO: rcu detected stall in do_idle testing release v5.7 testing commit 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 with gcc (GCC) 8.1.0 kernel signature: fe5c394b21dc4c0450f4cab05af968e3f3ea020898b26d0d2fbd923b812114f6 run #0: crashed: INFO: rcu detected stall in security_file_open run #1: crashed: INFO: rcu detected stall in corrupted run #2: crashed: INFO: rcu detected stall in ext4_end_io_rsv_work run #3: crashed: INFO: rcu detected stall in mutex_spin_on_owner run #4: crashed: BUG: soft lockup in do_idle run #5: crashed: BUG: soft lockup in do_idle run #6: crashed: INFO: rcu detected stall in ipv6_rcv run #7: crashed: BUG: soft lockup in do_idle run #8: crashed: INFO: rcu detected stall in rtnl_newlink run #9: crashed: no output from test machine testing release v5.6 testing commit 7111951b8d4973bda27ff663f2cf18b663d15b48 with gcc (GCC) 8.1.0 kernel signature: 1028844fa6077913aa28f52d51c6cf041762ba0bc9e8c973092cd834ae13e279 run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in mutex_spin_on_owner run #3: crashed: INFO: rcu detected stall in blkdev_close run #4: crashed: INFO: rcu detected stall in do_idle run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: INFO: rcu detected stall in wg_packet_handshake_receive_worker 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: 26a17bc9c6aab4160f564be79e6c61b5501cece539b22538eb0a3f08ca407796 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: 7e335e426bd1c9584cea724d7c9d503be60501973e48882f1548ae209167626c 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: 59e99ee316acf8c66c1bf9dfa46219af519676056a878d9d1e4c99bd5ca617ed 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: ce04a346f943c62d92dba09de52f82c3f81dddcaf23cf97dcccd7310a704b3d1 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: 600f03f191d43516931ea4cea6eef304de30110e247438f365553f8eda404dab run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in sys_open run #2: crashed: INFO: rcu detected stall in smp_call_function run #3: crashed: INFO: rcu detected stall in do_idle run #4: crashed: INFO: rcu detected stall in tc_modify_qdisc run #5: crashed: INFO: rcu detected stall in do_idle run #6: crashed: INFO: rcu detected stall in batadv_dat_purge run #7: crashed: INFO: rcu detected stall in tc_modify_qdisc run #8: crashed: INFO: rcu detected stall in corrupted run #9: crashed: no output from test machine testing release v5.0 testing commit 1c163f4c7b3f621efff9b28a47abb36f7378d783 with gcc (GCC) 8.1.0 kernel signature: e24df60434c43b7298adc1e95c320dfd704d7e415a88dc4d16abe814ead41c78 run #0: crashed: KASAN: use-after-free Read in taprio_dequeue run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in batadv_iv_send_outstanding_bat_ogm_packet run #3: crashed: INFO: rcu detected stall in reg_check_chans_work run #4: crashed: INFO: rcu detected stall in do_idle run #5: crashed: INFO: rcu detected stall in sys_newlstat run #6: crashed: INFO: rcu detected stall in wb_workfn run #7: crashed: INFO: rcu detected stall in sys_exit_group run #8: crashed: INFO: rcu detected stall in batadv_bla_periodic_work run #9: crashed: INFO: rcu detected stall in sys_unlink testing release v4.20 testing commit 8fe28cb58bcb235034b64cbbb7550a8a43fd88be with gcc (GCC) 8.1.0 kernel signature: e1e2a99b87d124300f74a029a90ff3b11f99b50f62aae8f5fce674ef2c8a5f63 run #0: crashed: INFO: rcu detected stall in blk_done_softirq run #1: crashed: BUG: soft lockup in do_idle run #2: crashed: INFO: rcu detected stall in do_idle run #3: crashed: INFO: rcu detected stall in mutex_spin_on_owner run #4: crashed: BUG: soft lockup in do_idle run #5: crashed: INFO: rcu detected stall in batadv_purge_orig run #6: crashed: INFO: rcu detected stall in tc_modify_qdisc run #7: crashed: INFO: rcu detected stall in wb_workfn run #8: crashed: INFO: rcu detected stall in do_idle run #9: crashed: no output from test machine testing release v4.19 testing commit 84df9525b0c27f3ebc2ebb1864fa62a97fdedb7d with gcc (GCC) 8.1.0 kernel signature: 5655aa11641efbbc8cd5a6858065db0c16b0a1f7079a62344f6469080602dac6 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: 580c1df2d6816a98cef85ed2130860f052ce3f23c992994fb35c962015553135 run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in corrupted run #2: crashed: INFO: rcu detected stall in batadv_purge_orig run #3: crashed: INFO: rcu detected stall in wb_workfn run #4: crashed: INFO: rcu detected stall in sys_readlinkat run #5: crashed: no output from test machine run #6: crashed: no output from test machine run #7: crashed: INFO: rcu detected stall in do_idle 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: 80f1073e23a99b34771454e4fe16cc4cdfc3bbbacfe9292bcff188213e97b914 run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in do_idle run #3: crashed: BUG: soft lockup in net_tx_action run #4: crashed: INFO: rcu detected stall in blk_done_softirq run #5: crashed: INFO: rcu detected stall in do_idle run #6: crashed: INFO: rcu detected stall in do_idle run #7: crashed: BUG: soft lockup in do_idle run #8: crashed: INFO: rcu detected stall in corrupted run #9: crashed: BUG: soft lockup in do_idle # 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: d5826baafb2bc32ec5af4a91887573bdbba8dc151cc937de3607bd2b462621ad run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in ipv6_rcv run #3: crashed: INFO: rcu detected stall in wb_workfn run #4: crashed: BUG: soft lockup in tc_modify_qdisc run #5: crashed: BUG: soft lockup in sys_newlstat run #6: crashed: INFO: rcu detected stall in do_idle run #7: crashed: INFO: rcu detected stall in tc_modify_qdisc run #8: crashed: BUG: soft lockup in do_signal run #9: crashed: INFO: rcu detected stall in smp_call_function # 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: 8c67c53b960484541e3492f01b9319699c358f9b5f491c0028f5fcdf6bb708b0 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: 5d1ded1716e006b5ccfcfa051f394a5b9b8295b5c8a8a84778c4da940ac1ccca run #0: crashed: INFO: rcu detected stall in tc_modify_qdisc run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in smp_call_function run #3: crashed: INFO: rcu detected stall in do_idle run #4: crashed: INFO: rcu detected stall in do_idle run #5: crashed: BUG: soft lockup in smp_call_function run #6: crashed: INFO: rcu detected stall in do_idle run #7: crashed: INFO: rcu detected stall in smp_call_function run #8: crashed: INFO: rcu detected stall in smp_call_function run #9: crashed: BUG: soft lockup in do_idle # 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: 7d31697c8dd5a0f593802e6cd17354db8c909123c6f6279bd649f1356ccc443f 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: 4cd6f5e8a1922b957cb67f624f4725ea4dff2a3efbd8c986c00648eaafe964d8 run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: BUG: soft lockup in do_idle run #3: crashed: INFO: rcu detected stall in tc_modify_qdisc run #4: crashed: INFO: rcu detected stall in crda_timeout_work run #5: crashed: BUG: soft lockup in smp_call_function run #6: crashed: INFO: rcu detected stall in smp_call_function run #7: crashed: INFO: rcu detected stall in do_idle run #8: crashed: INFO: rcu detected stall in smp_call_function 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: a0d306b5a4bb1e6c4263be30b98db58d7c8ed00efc621ca4c80b33333a0eda3b 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 net_tx_action run #3: crashed: INFO: rcu detected stall in smp_call_function run #4: crashed: INFO: rcu detected stall in corrupted run #5: crashed: BUG: soft lockup in task_numa_work run #6: crashed: INFO: rcu detected stall in tc_modify_qdisc run #7: crashed: INFO: rcu detected stall in do_idle 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: f7c2c8633522ac203e44607065956c0f74000d208425d3d7e34a890baef105d5 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: bfece3152c72c4b25b7911cbb35ca3999ea440b06f0ea634e6edcc75839e1649 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: d29c8d656ed155c0ed3f292e87de73e5e0dde9de9baa4f2be9c26cc90a4c3f78 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: 26e194a91865a63dc83bd403caa5530c73cd70bbc1013224f483e038b4df3aa6 run #0: crashed: INFO: rcu detected stall in do_idle run #1: crashed: INFO: rcu detected stall in do_idle run #2: crashed: INFO: rcu detected stall in smp_call_function run #3: crashed: BUG: soft lockup in do_idle 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 do_idle run #7: crashed: BUG: soft lockup in do_idle run #8: crashed: INFO: rcu detected stall in do_idle 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: e9e09d3158f905e26f06e6664283b9dcbf171a7963e9107930df2630d09031b1 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: 7175d45ee764370c2c44afa555a1f495bf33e73570466c983dc511cdcf9a67d1 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: 26e194a91865a63dc83bd403caa5530c73cd70bbc1013224f483e038b4df3aa6 parent signature: 7175d45ee764370c2c44afa555a1f495bf33e73570466c983dc511cdcf9a67d1 revisions tested: 26, total time: 5h56m59.114028703s (build: 2h33m14.87513912s, test: 3h20m58.137164579s) first bad commit: 5a781ccbd19e4664babcbe4b4ead7aa2b9283d22 tc: Add support for configuring the taprio scheduler recipients (to): ["davem@davemloft.net" "davem@davemloft.net" "jhs@mojatatu.com" "jiri@resnulli.us" "netdev@vger.kernel.org" "vinicius.gomes@intel.com" "xiyou.wangcong@gmail.com"] recipients (cc): ["linux-kernel@vger.kernel.org"] crash: no output from test machine