diff -Nupr src.orig/drivers/tty/n_tty.c src/drivers/tty/n_tty.c
--- src.orig/drivers/tty/n_tty.c	2023-01-12 11:20:06.978709342 -0500
+++ src/drivers/tty/n_tty.c	2023-01-12 11:20:54.149989024 -0500
@@ -2315,7 +2315,7 @@ more_to_be_read:
  *	 (note that the process_output*() functions take this 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;
@@ -2402,6 +2402,12 @@ break_out:
 	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
