diff --git a/drivers/tty/n_tty.c b/drivers/tty/n_tty.c index 3ad4602..f3cda7e 100644 --- a/drivers/tty/n_tty.c +++ b/drivers/tty/n_tty.c @@ -2296,7 +2296,7 @@ static ssize_t n_tty_read(struct tty_struct *tty, struct file *file, * lock themselves) */ -static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, +static ssize_t noinline kpatch_n_tty_write(struct tty_struct *tty, struct file *file, const unsigned char *buf, size_t nr) { const unsigned char *b = buf; @@ -2383,6 +2383,12 @@ static ssize_t n_tty_write(struct tty_struct *tty, struct file *file, return (b - buf) ? b - buf : retval; } +static ssize_t __attribute__((optimize("-fno-optimize-sibling-calls"))) n_tty_write(struct tty_struct *tty, struct file *file, + const unsigned char *buf, size_t nr) +{ + return kpatch_n_tty_write(tty, file, buf, nr); +} + /** * n_tty_poll - poll method for N_TTY * @tty: terminal device