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.
https://git.kernel.org/stable/c/f410ef9a032caf98117256b22139c31342d7bb06
https://git.kernel.org/stable/c/89f686a0fb6e473a876a9a60a13aec67a62b9a7e
https://git.kernel.org/stable/c/741b163e440683195b8fd4fc8495fcd0105c6ab7
https://git.kernel.org/stable/c/4c981077255acc2ed5b3df6e8dd0125c81b626a9
https://git.kernel.org/stable/c/28a9b71671fb4a2993ef85b8ef6f117ea63894fe