{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":390855950,"defaultBranch":"r2/s","name":"android_kernel_asus_sdm660-4.19","ownerLogin":"RyuujiX","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-29T21:35:15.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/61953031?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1676573616.4627352","currentOid":""},"activityList":{"items":[{"before":"82753fe717ae15ac10af92484919a015f8bfc518","after":"79ac83b9148bdee2f1272089f5a9102827da333b","ref":"refs/heads/test","pushedAt":"2023-06-25T09:19:05.000Z","pushType":"push","commitsCount":521,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"drivers: fingerprint: drop SUPPORT_NAV_EVENT from Goodix (X00TD)\n\n*need to understand that in this way we completely disable all gestures with Goodix Fingerprint\n*this disables random triggering of gestures when used\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"drivers: fingerprint: drop SUPPORT_NAV_EVENT from Goodix (X00TD)"}},{"before":"de907d54648d13589ee92ade3d005b9c3d4687fb","after":"82753fe717ae15ac10af92484919a015f8bfc518","ref":"refs/heads/test","pushedAt":"2023-05-30T00:11:55.729Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Revert \"drivers: touchscreen: NVT_{X00TD,X01BD}: Optimize client i2c read/write\"\n\n* Causing problem with some touchscreen\n\nThis reverts commit ac2849ccaeb942cf66740e5e0668d1951ca7d42d.\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Revert \"drivers: touchscreen: NVT_{X00TD,X01BD}: Optimize client i2c …"}},{"before":"8a8d2a2d38a91b78c2e74207489236ed9142917a","after":"de907d54648d13589ee92ade3d005b9c3d4687fb","ref":"refs/heads/test","pushedAt":"2023-05-29T23:05:08.286Z","pushType":"push","commitsCount":2,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Revert \"drivers: touchscreen: NVT_{X00TD,X01BD}: Optimize client i2c read/write\"\n\n* Causing problem with some touchscreen\n\nThis reverts commit ac2849ccaeb942cf66740e5e0668d1951ca7d42d.\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Revert \"drivers: touchscreen: NVT_{X00TD,X01BD}: Optimize client i2c …"}},{"before":"2e8e869736957e08319702416db1008fc79b49e3","after":"505b34c7f6ed8422a0ad2d834f0ffe5e82b946a8","ref":"refs/heads/r2/s","pushedAt":"2023-05-22T05:45:39.737Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"README: Add Builded Kernel Download Link","shortMessageHtmlLink":"README: Add Builded Kernel Download Link"}},{"before":"4e5d37808f4c5af85baaf2312ead1a3b3004eda7","after":"8a8d2a2d38a91b78c2e74207489236ed9142917a","ref":"refs/heads/test","pushedAt":"2023-05-20T22:30:19.637Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"ARM64: dts: {X00TD,X01BD}: Place some fstab nodes in overlay\n\n* Make me easy modify to erofs with builder script without messing sdm660.dtsi\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"ARM64: dts: {X00TD,X01BD}: Place some fstab nodes in overlay"}},{"before":"249c2ceb249d23630f18c05abac8be3398968476","after":"4e5d37808f4c5af85baaf2312ead1a3b3004eda7","ref":"refs/heads/test","pushedAt":"2023-05-20T11:10:49.179Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"ARM64: dts: {X00TD,X01BD}: Place some fstab nodes in overlay\n\n* Make me easy modify to erofs with builder script without messing sdm660.dtsi\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"ARM64: dts: {X00TD,X01BD}: Place some fstab nodes in overlay"}},{"before":"d0c8c92c062f3b8f937acbfa44901c2df25af692","after":"249c2ceb249d23630f18c05abac8be3398968476","ref":"refs/heads/test","pushedAt":"2023-05-20T09:49:44.632Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"ARM64: dts: sdm660: Move to second stage init\n\nChange-Id: Ia7642d730b0a68e045f19c6a3fd00ce3c8844379\n[ RyuujiX: Also apply on ASUS overlayed dtsi ]\nCo-authored-by: RyuujiX \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"ARM64: dts: sdm660: Move to second stage init"}},{"before":"790b16ef46fff5c2912bebb174fe592a88d9453e","after":"d0c8c92c062f3b8f937acbfa44901c2df25af692","ref":"refs/heads/test","pushedAt":"2023-05-20T00:14:12.932Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"f2fs: Replace `f2fs_submit_bio()` with `__submit_bio()`\n\nf2fs_submit_bio used to be a function that worked as a wrapper for\n__submit_bio(). Since commit [1], f2fs_submit_bio has been removed\nin favor of just using __submit_bio(). So, replace f2fs_submit_bio()\nwith __submit_bio().\n\nThis fixes the following compilation error when CONFIG_F2FS_FS_COMPRESSION=y:\n\nld.lld: error: undefined symbol: f2fs_submit_bio\n>>> referenced by compress.c\n>>> f2fs/compress.o:(f2fs_prepare_compress_overwrite) in archive fs/built-in.a\n\n[1]: https://github.com/Atom-X-Devs/android_kernel_xiaomi_scarlet/commit/73a9e103625bcfa16dc61bcad46e0e3692d53232\n\nSigned-off-by: Tashfin Shakeer Rhythm \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"f2fs: Replace f2fs_submit_bio() with __submit_bio()"}},{"before":"bfcb1e101a1636b96993547adbbe18ebbae98b9d","after":"790b16ef46fff5c2912bebb174fe592a88d9453e","ref":"refs/heads/test","pushedAt":"2023-05-19T23:21:03.685Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"{X00TD,X01BD}_defconfig: Disable LZ4HC\n\n* Due LZ4 module is updated but LZ4HC is not, it breaks compile.\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"{X00TD,X01BD}_defconfig: Disable LZ4HC"}},{"before":"6f18e477c26d56e2045fc9b2054e6e6ff8f1901f","after":"bfcb1e101a1636b96993547adbbe18ebbae98b9d","ref":"refs/heads/test","pushedAt":"2023-05-19T15:28:56.768Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"include: lz4: Fix build when LZ4HC enabled\n\n* After LZ4 Updated to 2800e3b8ffaee61ce280f942312a38812fb026da, LZ4_STREAMHCSIZE is removed and\n for LZ4HC_MEM_COMPRESS is still using that value. So fix it.\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"include: lz4: Fix build when LZ4HC enabled"}},{"before":"a5fbada286bb82cb6ef632017658f34775c25ef1","after":"6f18e477c26d56e2045fc9b2054e6e6ff8f1901f","ref":"refs/heads/test","pushedAt":"2023-05-19T14:53:43.082Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"erofs: zdata: Fix Build after picking this 4b1ae8c3bb9c7f5b1244a695197d10cd2082021c\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"erofs: zdata: Fix Build after picking this 4b1ae8c"}},{"before":"2d9f70003fd3b31ad6e803f50eb502e513cb0ef5","after":"a5fbada286bb82cb6ef632017658f34775c25ef1","ref":"refs/heads/test","pushedAt":"2023-05-19T14:23:37.929Z","pushType":"push","commitsCount":10,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"{X00TD,X01BD}_defconfig: Enable F2FS Compression with LZ4\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"{X00TD,X01BD}_defconfig: Enable F2FS Compression with LZ4"}},{"before":"6d6712a5a8ad67746511ea6e075fa9dc857c187e","after":"2d9f70003fd3b31ad6e803f50eb502e513cb0ef5","ref":"refs/heads/test","pushedAt":"2023-05-19T13:36:28.769Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"ARM64: dts: {X00TD,X01BD}: Remove fstab node\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"ARM64: dts: {X00TD,X01BD}: Remove fstab node"}},{"before":"05db3a1be722ebb05518d6c477d5fa8f89530ecb","after":"6d6712a5a8ad67746511ea6e075fa9dc857c187e","ref":"refs/heads/test","pushedAt":"2023-05-18T11:00:34.074Z","pushType":"push","commitsCount":2,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"{X00TD,X01BD}_defconfig: Enable NTFS Support\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"{X00TD,X01BD}_defconfig: Enable NTFS Support"}},{"before":"0e5ce076298d0b943539f2462f4ddbd23cc75399","after":"05db3a1be722ebb05518d6c477d5fa8f89530ecb","ref":"refs/heads/test","pushedAt":"2023-05-18T10:56:59.849Z","pushType":"push","commitsCount":44,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"erofs/zdata: Include missing kthread header\n\nThis fixes the following compilation errors:\n\n../fs/erofs/zdata.c:135:4: error: implicit declaration of function 'kthread_destroy_worker' [-Werror,-Wimplicit-function-declaration]\n kthread_destroy_worker(worker);\n ^\n../fs/erofs/zdata.c:144:3: error: implicit declaration of function 'kthread_create_worker_on_cpu' [-Werror,-Wimplicit-function-declaration]\n kthread_create_worker_on_cpu(cpu, 0, \"erofs_worker/%u\", cpu);\n ^\n../fs/erofs/zdata.c:194:3: error: implicit declaration of function 'kthread_destroy_worker' [-Werror,-Wimplicit-function-declaration]\n kthread_destroy_worker(worker);\n ^\n../fs/erofs/zdata.c:210:3: error: implicit declaration of function 'kthread_destroy_worker' [-Werror,-Wimplicit-function-declaration]\n kthread_destroy_worker(worker);\n ^\n../fs/erofs/zdata.c:934:4: error: implicit declaration of function 'kthread_queue_work' [-Werror,-Wimplicit-function-declaration]\n kthread_queue_work(worker, &io->u.kthread_work);\n ^\n../fs/erofs/zdata.c:1337:3: error: implicit declaration of function 'kthread_init_work' [-Werror,-Wimplicit-function-declaration]\n kthread_init_work(&q->u.kthread_work,\n ^\n\nPlace kthread.h at zdata.h, otherwise compiler will break compilation since kthread_work\nhas an incomplete type struct.\n\nFixes: e5fe45ddb87 (\"BACKPORT: erofs: add per-cpu threads for decompression as an option\")\nSigned-off-by: Tashfin Shakeer Rhythm \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"erofs/zdata: Include missing kthread header"}},{"before":"1bb7600eccbf162971d29d476f984383fdd45933","after":"0e5ce076298d0b943539f2462f4ddbd23cc75399","ref":"refs/heads/test","pushedAt":"2023-05-17T15:54:14.768Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"ARM64: pm660: Switch to user_space thermal governor\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"ARM64: pm660: Switch to user_space thermal governor"}},{"before":"7f2f910e9a8120260e7d906a6e051eaba85644f6","after":"1bb7600eccbf162971d29d476f984383fdd45933","ref":"refs/heads/test","pushedAt":"2023-05-17T14:57:21.539Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"BACKPORT: sched/fair: Fix fault in reweight_entity\n\nSyzbot found a GPF in reweight_entity. This has been bisected to\ncommit 4ef0c5c6b5ba (\"kernel/sched: Fix sched_fork() access an invalid\nsched_task_group\")\n\nThere is a race between sched_post_fork() and setpriority(PRIO_PGRP)\nwithin a thread group that causes a null-ptr-deref in\nreweight_entity() in CFS. The scenario is that the main process spawns\nnumber of new threads, which then call setpriority(PRIO_PGRP, 0, -20),\nwait, and exit. For each of the new threads the copy_process() gets\ninvoked, which adds the new task_struct and calls sched_post_fork()\nfor it.\n\nIn the above scenario there is a possibility that\nsetpriority(PRIO_PGRP) and set_one_prio() will be called for a thread\nin the group that is just being created by copy_process(), and for\nwhich the sched_post_fork() has not been executed yet. This will\ntrigger a null pointer dereference in reweight_entity(), as it will\ntry to access the run queue pointer, which hasn't been set.\n\nBefore the mentioned change the cfs_rq pointer for the task has been\nset in sched_fork(), which is called much earlier in copy_process(),\nbefore the new task is added to the thread_group. Now it is done in\nthe sched_post_fork(), which is called after that. To fix the issue\nthe remove the update_load param from the update_load param() function\nand call reweight_task() only if the task flag doesn't have the\nTASK_NEW flag set.\n\nChange-Id: I5324ce174190919cec268c281fb92dfeee830b00\nFixes: 4ef0c5c6b5ba (\"kernel/sched: Fix sched_fork() access an invalid sched_task_group\")\nReported-by: syzbot+af7a719bc92395ee41b3@syzkaller.appspotmail.com\nSigned-off-by: Tadeusz Struk \nSigned-off-by: Peter Zijlstra (Intel) \nReviewed-by: Dietmar Eggemann \nCc: stable@vger.kernel.org\nLink: https://lkml.kernel.org/r/20220203161846.1160750-1-tadeusz.struk@linaro.org\nBug: 219676849\n(cherry picked from commit 13765de8148f71fa795e0a6607de37c49ea5915a)\n[quic_ashayj: Resolved minor compilation failure, replaced __state to state ]\nSigned-off-by: Ashay Jaiswal \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"BACKPORT: sched/fair: Fix fault in reweight_entity"}},{"before":"e084d49796adf12af512c3a38b10df8c11bf6082","after":"7f2f910e9a8120260e7d906a6e051eaba85644f6","ref":"refs/heads/test","pushedAt":"2023-05-17T14:38:55.290Z","pushType":"push","commitsCount":13,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"BACKPORT: sched/fair: Fix fault in reweight_entity\n\nSyzbot found a GPF in reweight_entity. This has been bisected to\ncommit 4ef0c5c6b5ba (\"kernel/sched: Fix sched_fork() access an invalid\nsched_task_group\")\n\nThere is a race between sched_post_fork() and setpriority(PRIO_PGRP)\nwithin a thread group that causes a null-ptr-deref in\nreweight_entity() in CFS. The scenario is that the main process spawns\nnumber of new threads, which then call setpriority(PRIO_PGRP, 0, -20),\nwait, and exit. For each of the new threads the copy_process() gets\ninvoked, which adds the new task_struct and calls sched_post_fork()\nfor it.\n\nIn the above scenario there is a possibility that\nsetpriority(PRIO_PGRP) and set_one_prio() will be called for a thread\nin the group that is just being created by copy_process(), and for\nwhich the sched_post_fork() has not been executed yet. This will\ntrigger a null pointer dereference in reweight_entity(), as it will\ntry to access the run queue pointer, which hasn't been set.\n\nBefore the mentioned change the cfs_rq pointer for the task has been\nset in sched_fork(), which is called much earlier in copy_process(),\nbefore the new task is added to the thread_group. Now it is done in\nthe sched_post_fork(), which is called after that. To fix the issue\nthe remove the update_load param from the update_load param() function\nand call reweight_task() only if the task flag doesn't have the\nTASK_NEW flag set.\n\nChange-Id: I5324ce174190919cec268c281fb92dfeee830b00\nFixes: 4ef0c5c6b5ba (\"kernel/sched: Fix sched_fork() access an invalid sched_task_group\")\nReported-by: syzbot+af7a719bc92395ee41b3@syzkaller.appspotmail.com\nSigned-off-by: Tadeusz Struk \nSigned-off-by: Peter Zijlstra (Intel) \nReviewed-by: Dietmar Eggemann \nCc: stable@vger.kernel.org\nLink: https://lkml.kernel.org/r/20220203161846.1160750-1-tadeusz.struk@linaro.org\nBug: 219676849\n(cherry picked from commit 13765de8148f71fa795e0a6607de37c49ea5915a)\n[quic_ashayj: Resolved minor compilation failure, replaced __state to state ]\nSigned-off-by: Ashay Jaiswal \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"BACKPORT: sched/fair: Fix fault in reweight_entity"}},{"before":"1c540867e9487b482cce66e9f58451fbb81dd437","after":"e084d49796adf12af512c3a38b10df8c11bf6082","ref":"refs/heads/test","pushedAt":"2023-05-17T13:25:24.586Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"{X00TD,X01BD}_defconfig: Disable cpuidle TEO governor\n\n* High Drain Issue\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"{X00TD,X01BD}_defconfig: Disable cpuidle TEO governor"}},{"before":"83e102e24f5b6333c18066bdf25ebadabe9cb0c1","after":"1c540867e9487b482cce66e9f58451fbb81dd437","ref":"refs/heads/test","pushedAt":"2023-05-17T00:11:56.374Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"{X00TD,X01BD}_defconfig: Enable SMB138X Charger\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"{X00TD,X01BD}_defconfig: Enable SMB138X Charger"}},{"before":"f5e277197eaa5ede9197cfd711b43e079e6b4521","after":"83e102e24f5b6333c18066bdf25ebadabe9cb0c1","ref":"refs/heads/test","pushedAt":"2023-05-17T00:01:24.390Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"f2fs: Fix deadlock between f2fs_quota_sync and block_operation\n\nThis deadlock is hitting Android users (Pixel 3/3a/4) with Magisk, due to\nfrequent umount/mount operations that trigger quota_sync, hitting the race.\nSee https://github.com/topjohnwu/Magisk/issues/3171 for additional impact\ndiscussion.\n\nIn commit 83fe20b, we added a semaphore to protect quota flags. As part of\nthis commit, we changed f2fs_quota_sync to call f2fs_lock_op, in an attempt\nto prevent an AB/BA type deadlock with quota_sem locking in block_operation.\nHowever, rwsem in Linux is not recursive. Therefore, the following deadlock\ncan occur:\n\nf2fs_quota_sync\ndown_read(cp_rwsem) // f2fs_lock_op\nfilemap_fdatawrite\nf2fs_write_data_pages\n...\nblock_operation\ndown_write(cp_rwsem) - Marks rwsem as \"writer pending\".\ndown_read_trylock(cp_rwsem) - Fails as there is a writer pending. Code keeps\n\t\t\t on trying, live-locking the filesystem.\n\nWe solve this by creating a new rwsem, used specifically to synchronize this\ncase, instead of attempting to reuse an existing lock.\n\nFixes: 83fe20b (\"f2fs: add a rw_sem to cover quota flag changes\")\nSigned-off-by: Shachar Raindel \nSigned-off-by: Tashfin Shakeer Rhythm \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"f2fs: Fix deadlock between f2fs_quota_sync and block_operation"}},{"before":"3d2210351f28bab8d5450d7fb971501d90b75f21","after":"f5e277197eaa5ede9197cfd711b43e079e6b4521","ref":"refs/heads/test","pushedAt":"2023-05-16T18:32:51.183Z","pushType":"push","commitsCount":2,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"f2fs: Fix deadlock between f2fs_quota_sync and block_operation\n\nThis deadlock is hitting Android users (Pixel 3/3a/4) with Magisk, due to\nfrequent umount/mount operations that trigger quota_sync, hitting the race.\nSee https://github.com/topjohnwu/Magisk/issues/3171 for additional impact\ndiscussion.\n\nIn commit 83fe20b, we added a semaphore to protect quota flags. As part of\nthis commit, we changed f2fs_quota_sync to call f2fs_lock_op, in an attempt\nto prevent an AB/BA type deadlock with quota_sem locking in block_operation.\nHowever, rwsem in Linux is not recursive. Therefore, the following deadlock\ncan occur:\n\nf2fs_quota_sync\ndown_read(cp_rwsem) // f2fs_lock_op\nfilemap_fdatawrite\nf2fs_write_data_pages\n...\nblock_operation\ndown_write(cp_rwsem) - Marks rwsem as \"writer pending\".\ndown_read_trylock(cp_rwsem) - Fails as there is a writer pending. Code keeps\n\t\t\t on trying, live-locking the filesystem.\n\nWe solve this by creating a new rwsem, used specifically to synchronize this\ncase, instead of attempting to reuse an existing lock.\n\nFixes: 83fe20b (\"f2fs: add a rw_sem to cover quota flag changes\")\nSigned-off-by: Shachar Raindel \nSigned-off-by: Tashfin Shakeer Rhythm \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"f2fs: Fix deadlock between f2fs_quota_sync and block_operation"}},{"before":"05bbfbfb190f85e854deeb7da79c25f7a031f4bb","after":"3d2210351f28bab8d5450d7fb971501d90b75f21","ref":"refs/heads/test","pushedAt":"2023-05-16T18:18:40.154Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"FROMGIT: blk-mq: Rerun dispatching in the case of budget contention\n\nIf ever a thread running blk-mq code tries to get budget and fails it\nimmediately stops doing work and assumes that whenever budget is freed\nup that queues will be kicked and whatever work the thread was trying\nto do will be tried again.\n\nOne path where budget is freed and queues are kicked in the normal\ncase can be seen in scsi_finish_command(). Specifically:\n- scsi_finish_command()\n - scsi_device_unbusy()\n - # Decrement \"device_busy\", AKA release budget\n - scsi_io_completion()\n - scsi_end_request()\n - blk_mq_run_hw_queues()\n\nThe above is all well and good. The problem comes up when a thread\nclaims the budget but then releases it without actually dispatching\nany work. Since we didn't schedule any work we'll never run the path\nof finishing work / kicking the queues.\n\nThis isn't often actually a problem which is why this issue has\nexisted for a while and nobody noticed. Specifically we only get into\nthis situation when we unexpectedly found that we weren't going to do\nany work. Code that later receives new work kicks the queues. All\ngood, right?\n\nThe problem shows up, however, if timing is just wrong and we hit a\nrace. To see this race let's think about the case where we only have\na budget of 1 (only one thread can hold budget). Now imagine that a\nthread got budget and then decided not to dispatch work. It's about\nto call put_budget() but then the thread gets context switched out for\na long, long time. While in this state, any and all kicks of the\nqueue (like the when we received new work) will be no-ops because\nnobody can get budget. Finally the thread holding budget gets to run\nagain and returns. All the normal kicks will have been no-ops and we\nhave an I/O stall.\n\nAs you can see from the above, you need just the right timing to see\nthe race. To start with, the only case it happens if we thought we\nhad work, actually managed to get the budget, but then actually didn't\nhave work. That's pretty rare to start with. Even then, there's\nusually a very small amount of time between realizing that there's no\nwork and putting the budget. During this small amount of time new\nwork has to come in and the queue kick has to make it all the way to\ntrying to get the budget and fail. It's pretty unlikely.\n\nOne case where this could have failed is illustrated by an example of\nthreads running blk_mq_do_dispatch_sched():\n\n* Threads A and B both run has_work() at the same time with the same\n \"hctx\". Imagine has_work() is exact. There's no lock, so it's OK\n if Thread A and B both get back true.\n* Thread B gets interrupted for a long time right after it decides\n that there is work. Maybe its CPU gets an interrupt and the\n interrupt handler is slow.\n* Thread A runs, get budget, dispatches work.\n* Thread A's work finishes and budget is released.\n* Thread B finally runs again and gets budget.\n* Since Thread A already took care of the work and no new work has\n come in, Thread B will get NULL from dispatch_request(). I believe\n this is specifically why dispatch_request() is allowed to return\n NULL in the first place if has_work() must be exact.\n* Thread B will now be holding the budget and is about to call\n put_budget(), but hasn't called it yet.\n* Thread B gets interrupted for a long time (again). Dang interrupts.\n* Now Thread C (maybe with a different \"hctx\" but the same queue)\n comes along and runs blk_mq_do_dispatch_sched().\n* Thread C won't do anything because it can't get budget.\n* Finally Thread B will run again and put the budget without kicking\n any queues.\n\nEven though the example above is with blk_mq_do_dispatch_sched() I\nbelieve the race is possible any time someone is holding budget but\ndoesn't do work.\n\nUnfortunately, the unlikely has become more likely if you happen to be\nusing the BFQ I/O scheduler. BFQ, by design, sometimes returns \"true\"\nfor has_work() but then NULL for dispatch_request() and stays in this\nstate for a while (currently up to 9 ms). Suddenly you only need one\nrace to hit, not two races in a row. With my current setup this is\neasy to reproduce in reboot tests and traces have actually shown that\nwe hit a race similar to the one described above.\n\nNote that we only need to fix blk_mq_do_dispatch_sched() and\nblk_mq_do_dispatch_ctx() and not the other places that put budget. In\nother cases we know that we have work to do on at least one \"hctx\" and\ncode already exists to kick that \"hctx\"'s queue. When that work\nfinally finishes all the queues will be kicked using the normal flow.\n\nOne last note is that (at least in the SCSI case) budget is shared by\nall \"hctx\"s that have the same queue. Thus we need to make sure to\nkick the whole queue, not just re-run dispatching on a single \"hctx\".\n\nSigned-off-by: Douglas Anderson \nReviewed-by: Ming Lei \nSigned-off-by: Jens Axboe \n(cherry picked from commit a0823421a4d7264fc91c7b3769612331493cec1b\n git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-5.8/block)\n\nBUG=chromium:1061950\nTEST=Reboot tests\n\nSigned-off-by: Douglas Anderson \nChange-Id: Ief3d0bb6d670afa83a72d1c65d9b12a38a7d5b56\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2163316\nReviewed-by: Sean Paul \nReviewed-by: Guenter Roeck \nSigned-off-by: Tashfin Shakeer Rhythm \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"FROMGIT: blk-mq: Rerun dispatching in the case of budget contention"}},{"before":"396c3f2dc134508c42244776184bd894fc1bffd4","after":"05bbfbfb190f85e854deeb7da79c25f7a031f4bb","ref":"refs/heads/test","pushedAt":"2023-05-16T18:10:00.618Z","pushType":"push","commitsCount":9,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"BACKPORT: block: remove the update_bdev parameter to set_capacity_revalidate_and_notify\n\nThe update_bdev argument is always set to true, so remove it. Also\nrename the function to the slighly less verbose set_capacity_and_notify,\nas propagating the disk size to the block device isn't really\nrevalidation.\n\nSigned-off-by: Christoph Hellwig \nReviewed-by: Hannes Reinecke \nReviewed-by: Petr Vorel \nSigned-off-by: Jens Axboe \n[cyberknight777: backport to 4.14 & 4.19]\nSigned-off-by: Cyber Knight \nSigned-off-by: Tashfin Shakeer Rhythm \nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"BACKPORT: block: remove the update_bdev parameter to set_capacity_rev…"}},{"before":"f44ddcae658f0c3fb6e059143f5436b32bf9d50f","after":"396c3f2dc134508c42244776184bd894fc1bffd4","ref":"refs/heads/test","pushedAt":"2023-05-16T18:02:08.212Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Revert \"power: smb-lib: use USB options in low ICL range\"\n\nThis reverts commit aaab227d36f92d6342d58c241f4c3733392ada85.\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Revert \"power: smb-lib: use USB options in low ICL range\""}},{"before":"2e8e869736957e08319702416db1008fc79b49e3","after":"f44ddcae658f0c3fb6e059143f5436b32bf9d50f","ref":"refs/heads/test","pushedAt":"2023-05-16T17:58:23.337Z","pushType":"push","commitsCount":2,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Revert \"power: smb-lib: use USB options in low ICL range\"\n\nThis reverts commit aaab227d36f92d6342d58c241f4c3733392ada85.\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Revert \"power: smb-lib: use USB options in low ICL range\""}},{"before":"32b66475f15d91299d2977677288d0091e1c125f","after":"2e8e869736957e08319702416db1008fc79b49e3","ref":"refs/heads/r2/s","pushedAt":"2023-05-16T04:29:00.419Z","pushType":"push","commitsCount":1285,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Bringup KnightWalker-シズカ-Shizuka\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Bringup KnightWalker-シズカ-Shizuka"}},{"before":"a7c133b5c66dd0bf9c6f9c54cd39833b9c75d68a","after":"2e8e869736957e08319702416db1008fc79b49e3","ref":"refs/heads/test","pushedAt":"2023-05-15T23:46:47.677Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Bringup KnightWalker-シズカ-Shizuka\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Bringup KnightWalker-シズカ-Shizuka"}},{"before":"620b597d286d12bce4538ae776a21d6328a2a191","after":"a7c133b5c66dd0bf9c6f9c54cd39833b9c75d68a","ref":"refs/heads/test","pushedAt":"2023-05-15T23:38:44.970Z","pushType":"push","commitsCount":1,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"Bringup KnightWalker-シズカ-Shizuka\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"Bringup KnightWalker-シズカ-Shizuka"}},{"before":"ac2849ccaeb942cf66740e5e0668d1951ca7d42d","after":"620b597d286d12bce4538ae776a21d6328a2a191","ref":"refs/heads/test","pushedAt":"2023-05-15T23:23:39.514Z","pushType":"push","commitsCount":2,"pusher":{"login":"RyuujiX","name":null,"path":"/RyuujiX","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61953031?s=80&v=4"},"commit":{"message":"drivers: touchscreen: NVT_Touch: Mark new or original driver in logs\n\nSigned-off-by: RyuujiX ","shortMessageHtmlLink":"drivers: touchscreen: NVT_Touch: Mark new or original driver in logs"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADSHN9wAA","startCursor":null,"endCursor":null}},"title":"Activity · RyuujiX/android_kernel_asus_sdm660-4.19"}