bisecting cause commit starting from 28806e4d9b97865b450d72156e9ad229f2067f0b building syzkaller on 429d8a6becba0a60e99331e293e6117597e9e530 testing commit 28806e4d9b97865b450d72156e9ad229f2067f0b with gcc (GCC) 10.2.1 20210217 kernel signature: 929e74928369cf7f869319578d4888f8b3164426b50b0fd4f15a47dfc4eb1979 all runs: crashed: WARNING in __i2c_transfer testing release v5.11 testing commit f40ddce88593482919761f74910f42f4b84c004b with gcc (GCC) 10.2.1 20210217 kernel signature: b319a26861dc22e389b0c7441628118825dcb16018f57b1244ceff529b0fa458 all runs: crashed: WARNING in __i2c_transfer testing release v5.10 testing commit 2c85ebc57b3e1817b6ce1a6b703928e113a90442 with gcc (GCC) 10.2.1 20210217 kernel signature: 02877df434f055054b0eebb00326cdf25480771f50aff54e36166db3d309b866 all runs: crashed: WARNING in __i2c_transfer testing release v5.9 testing commit bbf5c979011a099af5dc76498918ed7df445635b with gcc (GCC) 10.2.1 20210217 kernel signature: 9f4a25f6cef87e55bd10d31371fc2dfe2d2c05974cd3161c76568453e832d9de all runs: OK # git bisect start 2c85ebc57b3e1817b6ce1a6b703928e113a90442 bbf5c979011a099af5dc76498918ed7df445635b Bisecting: 9594 revisions left to test after this (roughly 13 steps) [4d0e9df5e43dba52d38b251e3b909df8fa1110be] lib, uaccess: add failure injection to usercopy functions testing commit 4d0e9df5e43dba52d38b251e3b909df8fa1110be with gcc (GCC) 10.2.1 20210217 kernel signature: de0ae4e4817791031f4b4e936c351ae875a5262c1b53e35d472ead427ba83f08 all runs: crashed: WARNING in __i2c_transfer # git bisect bad 4d0e9df5e43dba52d38b251e3b909df8fa1110be Bisecting: 3935 revisions left to test after this (roughly 12 steps) [f888bdf9823c85fe945c4eb3ba353f749dec3856] Merge tag 'devicetree-for-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux testing commit f888bdf9823c85fe945c4eb3ba353f749dec3856 with gcc (GCC) 10.2.1 20210217 kernel signature: 181ce002e46e2e6f2b32d8e96ccf66e0b587bddf3d172f124b4ac1950f2ef25b all runs: crashed: WARNING in __i2c_transfer # git bisect bad f888bdf9823c85fe945c4eb3ba353f749dec3856 Bisecting: 1997 revisions left to test after this (roughly 11 steps) [57218d7f2e87069f73c7a841b6ed6c1cc7acf616] Merge tag 'regmap-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap testing commit 57218d7f2e87069f73c7a841b6ed6c1cc7acf616 with gcc (GCC) 10.2.1 20210217 kernel signature: 61e9a3ab3f015e4e77097a9a38e7863e5def842e4f4bcfcdaac3b8c154d3cfb4 all runs: crashed: WARNING in __i2c_transfer # git bisect bad 57218d7f2e87069f73c7a841b6ed6c1cc7acf616 Bisecting: 873 revisions left to test after this (roughly 10 steps) [39a5101f989e8d2be557136704d53990f9b402c8] Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 testing commit 39a5101f989e8d2be557136704d53990f9b402c8 with gcc (GCC) 10.2.1 20210217 kernel signature: f8ba89969961e6e7e4d714b2e8b4b531382a0fd05c505f7b2c8dfddc2f9bcb6e all runs: OK # git bisect good 39a5101f989e8d2be557136704d53990f9b402c8 Bisecting: 436 revisions left to test after this (roughly 9 steps) [6803a9e0e1e43e9eb2f473d1c4b5f51837610754] media: staging: rkisp1: cap: simplify link validation by comparing media bus code testing commit 6803a9e0e1e43e9eb2f473d1c4b5f51837610754 with gcc (GCC) 8.4.1 20210217 kernel signature: 9a2b5c30bf5a66c9268f178bf61499e431787120b1e77968e62d6e5787c46614 all runs: crashed: WARNING in __i2c_transfer # git bisect bad 6803a9e0e1e43e9eb2f473d1c4b5f51837610754 Bisecting: 218 revisions left to test after this (roughly 8 steps) [714d85f0ebae521ff6ef4bcf7c58a4a3d0213653] media: atomisp: fix code style issues testing commit 714d85f0ebae521ff6ef4bcf7c58a4a3d0213653 with gcc (GCC) 8.4.1 20210217 kernel signature: f5d8f468d312f520363bd08387028730c65aa26085aa8613ae7d39b09584cf8a all runs: OK # git bisect good 714d85f0ebae521ff6ef4bcf7c58a4a3d0213653 Bisecting: 109 revisions left to test after this (roughly 7 steps) [3cd136713bf99911070d7203383748497581672c] media: venus: vdec: Set/Get VP9 profile/level testing commit 3cd136713bf99911070d7203383748497581672c with gcc (GCC) 8.4.1 20210217 kernel signature: 55222a5251b9955e2f0dbcf568698ee43fb183f401940848445ca41134189606 all runs: crashed: WARNING in __i2c_transfer # git bisect bad 3cd136713bf99911070d7203383748497581672c Bisecting: 54 revisions left to test after this (roughly 6 steps) [d13ee586e026e8166231e03e5345718ebf625c02] Merge tag 'v5.9-rc4' into patchwork testing commit d13ee586e026e8166231e03e5345718ebf625c02 with gcc (GCC) 8.4.1 20210217 kernel signature: 0e8bc30e43995b3586b5bfb17d9d9ebb8ee6509854b3d8a4d3f006962233394c all runs: OK # git bisect good d13ee586e026e8166231e03e5345718ebf625c02 Bisecting: 27 revisions left to test after this (roughly 5 steps) [32b6e400c34df3574ba05100ebcf9d9e8d722a49] media: v4l2-fwnode: Use debug level for printing link frequencies testing commit 32b6e400c34df3574ba05100ebcf9d9e8d722a49 with gcc (GCC) 8.4.1 20210217 kernel signature: 57942b17bf4e949429b50afe1886442bffe6c2248837f1082fe747732de7cd7b all runs: OK # git bisect good 32b6e400c34df3574ba05100ebcf9d9e8d722a49 Bisecting: 13 revisions left to test after this (roughly 4 steps) [da5c791cfcdf11d6c2be276896cf0cb8181da1fd] media: v4l2-fwnode: Document new usage patterns of v4l2_fwnode_endpoint_parse testing commit da5c791cfcdf11d6c2be276896cf0cb8181da1fd with gcc (GCC) 8.4.1 20210217 kernel signature: 57942b17bf4e949429b50afe1886442bffe6c2248837f1082fe747732de7cd7b all runs: OK # git bisect good da5c791cfcdf11d6c2be276896cf0cb8181da1fd Bisecting: 6 revisions left to test after this (roughly 3 steps) [1f9a704601f02710f1456858f77e338b05c82f17] media: Documentation: vidtv: Add ReST documentation for vidtv testing commit 1f9a704601f02710f1456858f77e338b05c82f17 with gcc (GCC) 8.4.1 20210217 kernel signature: c6baad5c322a0f1fd77c24046c2cf5fa63392b2e18470b972237bbce1a4e8352 all runs: crashed: WARNING in __i2c_transfer # git bisect bad 1f9a704601f02710f1456858f77e338b05c82f17 Bisecting: 3 revisions left to test after this (roughly 2 steps) [5e8db34966222c34d7e98767a2d54b6bb3aa248d] media: av7110: don't do float point math testing commit 5e8db34966222c34d7e98767a2d54b6bb3aa248d with gcc (GCC) 8.4.1 20210217 kernel signature: 57942b17bf4e949429b50afe1886442bffe6c2248837f1082fe747732de7cd7b all runs: OK # git bisect good 5e8db34966222c34d7e98767a2d54b6bb3aa248d Bisecting: 1 revision left to test after this (roughly 1 step) [f5ffc3b6edf122966b31acf7ce65ebdad42d1417] media: vidtv: implement a demodulator driver testing commit f5ffc3b6edf122966b31acf7ce65ebdad42d1417 with gcc (GCC) 8.4.1 20210217 kernel signature: d22f460deda7e11180f62a7490ab54a1097fb958d74a40b108ca9ebfd61ee02f all runs: OK # git bisect good f5ffc3b6edf122966b31acf7ce65ebdad42d1417 Bisecting: 0 revisions left to test after this (roughly 0 steps) [f90cf6079bf67988f8b1ad1ade70fc89d0080905] media: vidtv: add a bridge driver testing commit f90cf6079bf67988f8b1ad1ade70fc89d0080905 with gcc (GCC) 8.4.1 20210217 kernel signature: c6baad5c322a0f1fd77c24046c2cf5fa63392b2e18470b972237bbce1a4e8352 all runs: crashed: WARNING in __i2c_transfer # git bisect bad f90cf6079bf67988f8b1ad1ade70fc89d0080905 f90cf6079bf67988f8b1ad1ade70fc89d0080905 is the first bad commit commit f90cf6079bf67988f8b1ad1ade70fc89d0080905 Author: Daniel W. S. Almeida Date: Fri Aug 21 14:58:47 2020 +0200 media: vidtv: add a bridge driver Digital TV devices consist of several independent hardware components which are controlled by different drivers. Each media device is controlled by a group of cooperating drivers with the bridge driver as the main driver. This patch adds a bridge driver for the Virtual Digital TV driver [vidtv]. The bridge driver binds to the other drivers, that is, vidtv_tuner and vidtv_demod and implements the digital demux logic, providing userspace with a MPEG Transport Stream. The MPEG related code is split in the following way: - vidtv_ts: code to work with MPEG TS packets, such as TS headers, adaptation fields, PCR packets and NULL packets. - vidtv_psi: this is the PSI generator. PSI packets contain general information about a MPEG Transport Stream. A PSI generator is needed so userspace apps can retrieve information about the Transport Stream and eventually tune into a (dummy) channel. Because the generator is implemented in a separate file, it can be reused elsewhere in the media subsystem. Currently vidtv supports working with 3 PSI tables: PAT, PMT and SDT. - vidtv_pes: implements the PES logic to convert encoder data into MPEG TS packets. These can then be fed into a TS multiplexer and eventually into userspace. - vidtv_s302m: implements a S302M encoder to make it possible to insert PCM audio data in the generated MPEG Transport Stream. This shall enable passing an audio signal into userspace so it can be decoded and played by media software. - vidtv_channels: Implements a 'channel' abstraction When vidtv boots, it will create some hardcoded channels: Their services will be concatenated to populate the SDT. Their programs will be concatenated to populate the PAT For each program in the PAT, a PMT section will be created The PMT section for a channel will be assigned its streams. Every stream will have its corresponding encoder polled to produce TS packets These packets may be interleaved by the mux and then delivered to the bridge - vidtv_mux - Implements a MPEG TS mux, loosely based on the ffmpeg implementation The multiplexer is responsible for polling encoders, interleaving packets, padding the resulting stream with NULL packets if necessary and then delivering the resulting TS packets to the bridge driver so it can feed the demux. Signed-off-by: Daniel W. S. Almeida Signed-off-by: Mauro Carvalho Chehab drivers/media/test-drivers/vidtv/Makefile | 5 +- drivers/media/test-drivers/vidtv/vidtv_bridge.c | 546 +++++++++ drivers/media/test-drivers/vidtv/vidtv_bridge.h | 60 + drivers/media/test-drivers/vidtv/vidtv_channel.c | 306 +++++ drivers/media/test-drivers/vidtv/vidtv_channel.h | 76 ++ drivers/media/test-drivers/vidtv/vidtv_common.c | 89 ++ drivers/media/test-drivers/vidtv/vidtv_common.h | 33 + drivers/media/test-drivers/vidtv/vidtv_encoder.h | 96 ++ drivers/media/test-drivers/vidtv/vidtv_mux.c | 479 ++++++++ drivers/media/test-drivers/vidtv/vidtv_mux.h | 160 +++ drivers/media/test-drivers/vidtv/vidtv_pes.c | 398 +++++++ drivers/media/test-drivers/vidtv/vidtv_pes.h | 189 +++ drivers/media/test-drivers/vidtv/vidtv_psi.c | 1352 ++++++++++++++++++++++ drivers/media/test-drivers/vidtv/vidtv_psi.h | 593 ++++++++++ drivers/media/test-drivers/vidtv/vidtv_s302m.c | 552 +++++++++ drivers/media/test-drivers/vidtv/vidtv_s302m.h | 90 ++ drivers/media/test-drivers/vidtv/vidtv_ts.c | 137 +++ drivers/media/test-drivers/vidtv/vidtv_ts.h | 130 +++ 18 files changed, 5290 insertions(+), 1 deletion(-) create mode 100644 drivers/media/test-drivers/vidtv/vidtv_bridge.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_bridge.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_channel.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_channel.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_common.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_common.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_encoder.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_mux.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_mux.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_pes.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_pes.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_psi.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_psi.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_s302m.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_s302m.h create mode 100644 drivers/media/test-drivers/vidtv/vidtv_ts.c create mode 100644 drivers/media/test-drivers/vidtv/vidtv_ts.h culprit signature: c6baad5c322a0f1fd77c24046c2cf5fa63392b2e18470b972237bbce1a4e8352 parent signature: d22f460deda7e11180f62a7490ab54a1097fb958d74a40b108ca9ebfd61ee02f revisions tested: 18, total time: 3h33m46.29315712s (build: 1h52m36.754636223s, test: 1h39m16.190344816s) first bad commit: f90cf6079bf67988f8b1ad1ade70fc89d0080905 media: vidtv: add a bridge driver recipients (to): ["dwlsalmeida@gmail.com" "linux-kernel@vger.kernel.org" "mchehab+huawei@kernel.org"] recipients (cc): ["linux-media@vger.kernel.org" "mchehab@kernel.org"] crash: WARNING in __i2c_transfer ------------[ cut here ]------------ WARNING: CPU: 0 PID: 10093 at drivers/i2c/i2c-core-base.c:2019 trace_i2c_read include/trace/events/i2c.h:58 [inline] WARNING: CPU: 0 PID: 10093 at drivers/i2c/i2c-core-base.c:2019 __i2c_transfer drivers/i2c/i2c-core-base.c:2038 [inline] WARNING: CPU: 0 PID: 10093 at drivers/i2c/i2c-core-base.c:2019 __i2c_transfer+0x9f7/0x1310 drivers/i2c/i2c-core-base.c:2014 Kernel panic - not syncing: panic_on_warn set ... CPU: 0 PID: 10093 Comm: syz-executor.1 Not tainted 5.9.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x99/0xd0 lib/dump_stack.c:118 panic+0x2a9/0x532 kernel/panic.c:231 __warn.cold.12+0x25/0x32 kernel/panic.c:600 report_bug+0x1af/0x260 lib/bug.c:198 handle_bug+0x3f/0x70 arch/x86/kernel/traps.c:234 exc_invalid_op+0x13/0x40 arch/x86/kernel/traps.c:254 asm_exc_invalid_op+0x12/0x20 arch/x86/include/asm/idtentry.h:536 RIP: 0010:__i2c_transfer+0x9f7/0x1310 drivers/i2c/i2c-core-base.c:2019 Code: 80 3c 28 00 0f 85 e8 08 00 00 49 8b 45 00 48 85 c0 75 be 65 ff 0d f9 52 a0 7a 0f 85 6b fa ff ff e8 cd b1 9e fb e9 61 fa ff ff <0f> 0b 41 b9 ea ff ff ff e9 55 fb ff ff 45 31 c9 0f 1f 44 00 00 65 RSP: 0018:ffffc9000a7afd38 EFLAGS: 00010202 RAX: 0000000000000001 RBX: ffff888234e30b58 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000010 RDI: ffff888234e30b58 RBP: ffff888234e30b78 R08: 000000008952c101 R09: fffffbfff1cf6afa R10: ffffffff8e7b57cf R11: fffffbfff1cf6af9 R12: 0000000000000010 R13: 0000000000000000 R14: ffffffff8952c100 R15: 0000000000000000 i2c_transfer+0x1a0/0x370 drivers/i2c/i2c-core-base.c:2110 i2cdev_ioctl_rdwr+0x453/0x5e0 drivers/i2c/i2c-dev.c:297 i2cdev_ioctl+0x40d/0x600 drivers/i2c/i2c-dev.c:453 vfs_ioctl fs/ioctl.c:48 [inline] __do_sys_ioctl fs/ioctl.c:753 [inline] __se_sys_ioctl fs/ioctl.c:739 [inline] __x64_sys_ioctl+0x120/0x190 fs/ioctl.c:739 do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 entry_SYSCALL_64_after_hwframe+0x44/0xa9 RIP: 0033:0x465f69 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f1a61b12188 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 000000000056bf60 RCX: 0000000000465f69 RDX: 0000000020004480 RSI: 0000000000000707 RDI: 0000000000000003 RBP: 00000000004bfa8f R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf60 R13: 00007ffd7c2140ef R14: 00007f1a61b12300 R15: 0000000000022000 Kernel Offset: disabled Rebooting in 86400 seconds..