{"id":"CVE-2024-35997","revision":"82a51ef9fbac4f1aaaee8b410a31f777","records":[{"revision":"82a51ef9fbac4f1aaaee8b410a31f777","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2024-35997","aliases":[],"title":"HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nHID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up\n\nThe flag I2C_HID_READ_PENDING is used to serialize I2C operations.\nHowever, this is not necessary, because I2C core already has its own\nlocking for that.\n\nMore importantly, this flag can cause a lock-up: if the flag is set in\ni2c_hid_xfer() and an interrupt happens, the interrupt handler\n(i2c_hid_irq) will check this flag and return immediately without doing\nanything, then the interrupt handler will be invoked again in an\ninfinite loop.\n\nSince interrupt handler is an RT task, it takes over the CPU and the\nflag-clearing task never gets scheduled, thus we have a lock-up.\n\nDelete this unnecessary flag.","state":0,"publishedAt":"2024-05-20T09:48:00.363+00:00","modifiedAt":"2026-10-15T00:42:03.895+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/hid/i2c-hid/i2c-hid-core.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"21bfca822cfc1e71796124e93b46e0d9fa584401\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"c448a9fd50f77e8fb9156ff64848aa4295eb3003\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"5095b93021b899f54c9355bebf36d78854c33a22\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"b65fb50e04a95eec34a9d1bc138454a98a5578d8\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"0561b65fbd53d3e788c5b0222d9112ca016fd6a1\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"29e94f295bad5be59cf4271a93e22cdcf5536722\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"418c5575d56410c6e186ab727bf32ae32447d497\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4a200c3b9a40242652b5734630bdd0bcf3aca75f\",\n                            \"lessThan\": \"9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/hid/i2c-hid/i2c-hid-core.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"3.8\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"3.8\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"4.19.313\",\n                            \"lessThanOrEqual\": \"4.19.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.4.275\",\n                            \"lessThanOrEqual\": \"5.4.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.10.216\",\n                            \"lessThanOrEqual\": \"5.10.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"5.15.158\",\n                            \"lessThanOrEqual\": \"5.15.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.1.90\",\n                            \"lessThanOrEqual\": \"6.1.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.30\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.8.9\",\n                            \"lessThanOrEqual\": \"6.8.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.9\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/21bfca822cfc1e71796124e93b46e0d9fa584401","https://git.kernel.org/stable/c/c448a9fd50f77e8fb9156ff64848aa4295eb3003","https://git.kernel.org/stable/c/5095b93021b899f54c9355bebf36d78854c33a22","https://git.kernel.org/stable/c/b65fb50e04a95eec34a9d1bc138454a98a5578d8","https://git.kernel.org/stable/c/0561b65fbd53d3e788c5b0222d9112ca016fd6a1","https://git.kernel.org/stable/c/29e94f295bad5be59cf4271a93e22cdcf5536722","https://git.kernel.org/stable/c/418c5575d56410c6e186ab727bf32ae32447d497","https://git.kernel.org/stable/c/9c0f59e47a90c54d0153f8ddc0f80d7a36207d0e"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2024-35997","license":"CVE Program Terms of Use","key":"cve-program:CVE-2024-35997","identifiers":["CVE-2024-35997"]},"retained":false,"historicalAffected":[]}],"coverage":[]}