lockdown: Lock down TIOCSSERIAL
Lock down TIOCSSERIAL as that can be used to change the ioport and irq settings on a serial port. This only appears to be an issue for the serial drivers that use the core serial code. All other drivers seem to either ignore attempts to change port/irq or give an error. Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Matthew Garrett <mjg59@google.com> Reviewed-by: Kees Cook <keescook@chromium.org> cc: Jiri Slaby <jslaby@suse.com> Cc: linux-serial@vger.kernel.org Signed-off-by: James Morris <jmorris@namei.org>
This commit is contained in:

committed by
James Morris

parent
3f19cad3fa
commit
794edf30ee
@@ -22,6 +22,7 @@
|
||||
#include <linux/serial_core.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/security.h>
|
||||
|
||||
#include <linux/irq.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -862,6 +863,10 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port,
|
||||
goto check_and_exit;
|
||||
}
|
||||
|
||||
retval = security_locked_down(LOCKDOWN_TIOCSSERIAL);
|
||||
if (retval && (change_irq || change_port))
|
||||
goto exit;
|
||||
|
||||
/*
|
||||
* Ask the low level driver to verify the settings.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user