Description
In the Linux kernel, the following vulnerability has been resolved: parisc: Revise __get_user() to probe user read access Because of the way read access support is implemented, read access interruptions are only triggered at privilege levels 2 and 3. The kernel executes at privilege level 0, so __get_user() never triggers a read access interruption (code 26). Thus, it is currently possible for user code to access a read protected address via a system call. Fix this by probing read access rights at privilege level 3 (PRIV_USER) and setting __gu_err to -EFAULT (-14) if access isn't allowed. Note the cmpiclr instruction does a 32-bit compare because COND macro doesn't work inside asm.
Product status
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 28a9b71671fb4a2993ef85b8ef6f117ea63894fe
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 4c981077255acc2ed5b3df6e8dd0125c81b626a9
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before f410ef9a032caf98117256b22139c31342d7bb06
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 741b163e440683195b8fd4fc8495fcd0105c6ab7
1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (git) before 89f686a0fb6e473a876a9a60a13aec67a62b9a7e
6.1.149 (semver)
6.6.103 (semver)
6.12.44 (semver)
6.16.4 (semver)
6.17 (original_commit_for_fix)
References
git.kernel.org/...c/28a9b71671fb4a2993ef85b8ef6f117ea63894fe
git.kernel.org/...c/4c981077255acc2ed5b3df6e8dd0125c81b626a9
git.kernel.org/...c/f410ef9a032caf98117256b22139c31342d7bb06
git.kernel.org/...c/741b163e440683195b8fd4fc8495fcd0105c6ab7
git.kernel.org/...c/89f686a0fb6e473a876a9a60a13aec67a62b9a7e