Patch "x86/mm/pat, /dev/mem: Remove superfluous error message" has been added to the 4.4-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
x86/mm/pat, /dev/mem: Remove superfluous error message
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
x86-mm-pat-dev-mem-remove-superfluous-error-message.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
39380b80d72723282f0ea1d1bbf2294eae45013eMon Sep 17 00:00:00 2001
From: Jiri Kosina <[email protected]>
Date: Fri, 8 Jul 2016 11:38:28 +0200
Subject: x86/mm/pat, /dev/mem: Remove superfluous error message
From: Jiri Kosina <[email protected]>
commit 39380b80d72723282f0ea1d1bbf2294eae45013e upstream.
Currently it's possible for broken (or malicious) userspace to flood a kernel log indefinitely with messages a-la
Program dmidecode tried to access /dev/mem between f0000->100000
because range_is_allowed() is case of CONFIG_STRICT_DEVMEM being turned on dumps this information each and every time devmem_is_allowed() fails.
Reportedly userspace that is able to trigger contignuous flow of these messages exists.
It would be possible to rate limit this message, but that'd have a questionable value; the administrator wouldn't get information about all the failing accessess, so then the information would be both superfluous and incomplete at the same time :)
Returning EPERM (which is what is actually happening) is enough indication for userspace what has happened; no need to log this particular error as some sort of special condition.
--- arch/x86/mm/pat.c | 5 +---- drivers/char/mem.c | 6 +----- 2 files changed, 2 insertions(+), 9 deletions(-)
arch/x86/mm/pat.c +1 -4
@@ -750,11 +750,8 @@ static inline int range_is_allowed(unsigreturn 1 ;while (cursor < to) { -if (!devmem_is_allowed (pfn)) { -pr_info ("x86/PAT: Program %s tried to access /dev/mem between [mem %#010Lx-%#010Lx], PAT prevents it\n" , - current->comm, from, to -1 ); +if (!devmem_is_allowed (pfn))return 0 ; - } cursor +=PAGE_SIZE ; pfn++; }
drivers/char/mem.c +1 -5
@@ -70,12 +70,8 @@ static inline int range_is_allowed(unsigu64 cursor = from;while (cursor < to) { -if (!devmem_is_allowed (pfn)) { -printk (KERN_INFO -"Program %s tried to access /dev/mem between %Lx->%Lx.\n" , - current->comm, from, to); +if (!devmem_is_allowed (pfn))return 0 ; - } cursor +=PAGE_SIZE ; pfn++; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/x86-mm-pat-dev-mem-remove-superfluous-error-message.patch