public inbox for linux-serial@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [syzbot] [dri?] BUG: scheduling while atomic in drm_atomic_helper_wait_for_flip_done
       [not found] <00000000000039f237060f354ef7@google.com>
@ 2024-01-18 14:18 ` Tetsuo Handa
  2024-01-20 10:34   ` [PATCH] tty: vt: check for atomic context in con_write() Tetsuo Handa
  0 siblings, 1 reply; 10+ messages in thread
From: Tetsuo Handa @ 2024-01-18 14:18 UTC (permalink / raw)
  To: syzbot, syzkaller-bugs, linux-serial; +Cc: linux-kernel

#syz set subsystems: serial

include/linux/tty_ldisc.h says "struct tty_ldisc_ops"->write is allowed to sleep.

include/linux/tty_driver.h says "struct tty_operations"->write is not allowed to sleep.

drivers/tty/vt/vt.c implements do_con_write() from con_write() sleeping, violating what
include/linux/tty_driver.h says. But how to fix?

-	if (in_interrupt())
+	if (in_interrupt() || in_atomic())
 		return count;

in do_con_write() and con_flush_chars() ? But include/linux/preempt.h says
in_atomic() cannot know about held spinlocks in non-preemptible kernels.

Is there a way to detect spin_lock_irqsave(&gsm->tx_lock, flags) from gsmld_write() ?
Something like whether irq is disabled?

On 2024/01/18 18:51, syzbot wrote:
> Hello,
> 
> syzbot found the following issue on:
> 
> HEAD commit:    1b1934dbbdcf Merge tag 'docs-6.8-2' of git://git.lwn.net/l..
> git tree:       upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=1029adbde80000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=68ea41b98043e6e8
> dashboard link: https://syzkaller.appspot.com/bug?extid=06fa1063cca8163ea541
> compiler:       aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
> userspace arch: arm64


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] tty: vt: check for atomic context in con_write()
  2024-01-18 14:18 ` [syzbot] [dri?] BUG: scheduling while atomic in drm_atomic_helper_wait_for_flip_done Tetsuo Handa
@ 2024-01-20 10:34   ` Tetsuo Handa
  2024-01-21  3:48     ` Hillf Danton
  2024-01-22  6:48     ` Jiri Slaby
  0 siblings, 2 replies; 10+ messages in thread
From: Tetsuo Handa @ 2024-01-20 10:34 UTC (permalink / raw)
  To: syzbot, syzkaller-bugs, Greg Kroah-Hartman, Jiri Slaby,
	Andrew Morton
  Cc: linux-kernel, linux-serial

syzbot is reporting sleep in atomic context, for gsmld_write() is calling
con_write() with spinlock held and IRQs disabled.

Since include/linux/tty_ldisc.h says that "struct tty_ldisc_ops"->write
(e.g. gsmld_write()) is allowed to sleep and include/linux/tty_driver.h
says that "struct tty_operations"->write (e.g. con_write()) is not
allowed to sleep, we should handle this problem on the con_write() side.

It seems that "Andrew Morton: console locking merge" in 2.4.10-pre11 added
in_interrupt() check to do_con_write()/con_put_char()/con_flush_chars()
in order to handle exceptional caller.

Since include/linux/preempt.h says that in_atomic() cannot know about held
spinlocks in non-preemptible kernels, but gsmld_write() is calling
con_write() with IRQs disabled, we can add irqs_disabled() check to
do_con_write()/con_flush_chars() in order to handle this case. Though,
I'm not sure whether returning the bytes to write is appropriate behavior
when do_con_write() can't work...

Reported-by: syzbot+06fa1063cca8163ea541@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=06fa1063cca8163ea541
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
 drivers/tty/vt/vt.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 156efda7c80d..0d3d602ae147 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -2856,7 +2856,7 @@ static int do_con_write(struct tty_struct *tty, const u8 *buf, int count)
 	struct vt_notifier_param param;
 	bool rescan;
 
-	if (in_interrupt())
+	if (in_interrupt() || irqs_disabled())
 		return count;
 
 	console_lock();
@@ -3314,7 +3314,7 @@ static void con_flush_chars(struct tty_struct *tty)
 {
 	struct vc_data *vc;
 
-	if (in_interrupt())	/* from flush_to_ldisc */
+	if (in_interrupt() || irqs_disabled()) /* from flush_to_ldisc */
 		return;
 
 	/* if we race with con_close(), vt may be null */
-- 
2.18.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: vt: check for atomic context in con_write()
  2024-01-20 10:34   ` [PATCH] tty: vt: check for atomic context in con_write() Tetsuo Handa
@ 2024-01-21  3:48     ` Hillf Danton
  2024-01-21 11:34       ` Tetsuo Handa
  2024-01-22  6:48     ` Jiri Slaby
  1 sibling, 1 reply; 10+ messages in thread
From: Hillf Danton @ 2024-01-21  3:48 UTC (permalink / raw)
  To: Tetsuo Handa
  Cc: syzbot, syzkaller-bugs, Greg Kroah-Hartman, Jiri Slaby,
	Andrew Morton, linux-kernel, linux-serial

On Sat, 20 Jan 2024 19:34:02 +0900 Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> syzbot is reporting sleep in atomic context, for gsmld_write() is calling
> con_write() with spinlock held and IRQs disabled.

...

> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -2856,7 +2856,7 @@ static int do_con_write(struct tty_struct *tty, const u8 *buf, int count)
>  	struct vt_notifier_param param;
>  	bool rescan;
>  
> -	if (in_interrupt())
> +	if (in_interrupt() || irqs_disabled())
>  		return count;
>  
>  	console_lock();

Given console_lock(), no sense could be made by calling do_con_write()
with spin lock held at the first place, regardless irq.

> @@ -3314,7 +3314,7 @@ static void con_flush_chars(struct tty_struct *tty)
>  {
>  	struct vc_data *vc;
>  
> -	if (in_interrupt())	/* from flush_to_ldisc */
> +	if (in_interrupt() || irqs_disabled()) /* from flush_to_ldisc */
>  		return;
>  
>  	/* if we race with con_close(), vt may be null */
> -- 
> 2.18.4

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: vt: check for atomic context in con_write()
  2024-01-21  3:48     ` Hillf Danton
@ 2024-01-21 11:34       ` Tetsuo Handa
  0 siblings, 0 replies; 10+ messages in thread
From: Tetsuo Handa @ 2024-01-21 11:34 UTC (permalink / raw)
  To: Hillf Danton
  Cc: syzbot, syzkaller-bugs, Greg Kroah-Hartman, Jiri Slaby,
	Andrew Morton, linux-kernel, linux-serial

On 2024/01/21 12:48, Hillf Danton wrote:
> On Sat, 20 Jan 2024 19:34:02 +0900 Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
>> syzbot is reporting sleep in atomic context, for gsmld_write() is calling
>> con_write() with spinlock held and IRQs disabled.
> 
> ...
> 
>> --- a/drivers/tty/vt/vt.c
>> +++ b/drivers/tty/vt/vt.c
>> @@ -2856,7 +2856,7 @@ static int do_con_write(struct tty_struct *tty, const u8 *buf, int count)
>>  	struct vt_notifier_param param;
>>  	bool rescan;
>>  
>> -	if (in_interrupt())
>> +	if (in_interrupt() || irqs_disabled())
>>  		return count;
>>  
>>  	console_lock();
> 
> Given console_lock(), no sense could be made by calling do_con_write()
> with spin lock held at the first place, regardless irq.

The question was how to detect it. Since in_atomic() is not a reliable method for
detecting that a spin lock is held, this patch instead chose irqs_disabled(), for
gsmld_write() is using spin_lock_irqsave(&gsm->tx_lock, flags).


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: vt: check for atomic context in con_write()
  2024-01-20 10:34   ` [PATCH] tty: vt: check for atomic context in con_write() Tetsuo Handa
  2024-01-21  3:48     ` Hillf Danton
@ 2024-01-22  6:48     ` Jiri Slaby
  2024-01-22 14:08       ` Tetsuo Handa
  1 sibling, 1 reply; 10+ messages in thread
From: Jiri Slaby @ 2024-01-22  6:48 UTC (permalink / raw)
  To: Tetsuo Handa, syzbot, syzkaller-bugs, Greg Kroah-Hartman,
	Andrew Morton
  Cc: linux-kernel, linux-serial

On 20. 01. 24, 11:34, Tetsuo Handa wrote:
> syzbot is reporting sleep in atomic context, for gsmld_write() is calling
> con_write() with spinlock held and IRQs disabled.

gsm should never be bound to a console in the first place.

Noone has sent a patch to deny that yet.

Follow:
https://lore.kernel.org/all/49453ebd-b321-4f34-a1a5-d828d8881010@kernel.org/

And feel free to patch that ;).

thanks,
-- 
js
suse labs


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: vt: check for atomic context in con_write()
  2024-01-22  6:48     ` Jiri Slaby
@ 2024-01-22 14:08       ` Tetsuo Handa
  2024-01-24 10:06         ` [PATCH] tty: n_gsm: restrict tty devices to attach Tetsuo Handa
  0 siblings, 1 reply; 10+ messages in thread
From: Tetsuo Handa @ 2024-01-22 14:08 UTC (permalink / raw)
  To: Jiri Slaby, syzbot, syzkaller-bugs, Greg Kroah-Hartman,
	Andrew Morton, Starke, Daniel, Lee Jones, Fedor Pchelkin
  Cc: linux-kernel, linux-serial

On 2024/01/22 15:48, Jiri Slaby wrote:
> On 20. 01. 24, 11:34, Tetsuo Handa wrote:
>> syzbot is reporting sleep in atomic context, for gsmld_write() is calling
>> con_write() with spinlock held and IRQs disabled.
> 
> gsm should never be bound to a console in the first place.
> 
> Noone has sent a patch to deny that yet.
> 
> Follow:
> https://lore.kernel.org/all/49453ebd-b321-4f34-a1a5-d828d8881010@kernel.org/
> 
> And feel free to patch that ;).
> 
> thanks,

OK. Here is a deny-listing based filter using device number of sysfs entry.
(We don't want to compare with the function address of con_write().
Thus, this patch is comparing with device major/minor numbers.)

----------
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 4036566febcb..6f9730dce5aa 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -3630,6 +3630,10 @@ static int gsmld_open(struct tty_struct *tty)
 	if (tty->ops->write == NULL)
 		return -EINVAL;
 
+	/* Can't be attached to virtual consoles. */
+	if (tty->dev && MAJOR(tty->dev->devt) == 4 && MINOR(tty->dev->devt) < 64)
+		return -EINVAL;
+
 	/* Attach our ldisc data */
 	gsm = gsm_alloc_mux();
 	if (gsm == NULL)
----------

Is it possible to use allow-listing based filtering?
(Attaching on /dev/tty (major=5, minor=0) causes current ssh session
to be closed. Unexpectedly loosing connection might be a problem for
fuzz testing...)

----------
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/tty.h>

int main(int argc, char *argv[]) {
        int ldisc = N_GSM0710;

        return ioctl(open(argv[1], O_RDWR | O_NOCTTY | O_NDELAY), TIOCSETD, &ldisc) == 0;
}
----------


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] tty: n_gsm: restrict tty devices to attach
  2024-01-22 14:08       ` Tetsuo Handa
@ 2024-01-24 10:06         ` Tetsuo Handa
  2024-01-24 13:14           ` Greg Kroah-Hartman
  0 siblings, 1 reply; 10+ messages in thread
From: Tetsuo Handa @ 2024-01-24 10:06 UTC (permalink / raw)
  To: Jiri Slaby, syzbot, syzkaller-bugs, Greg Kroah-Hartman,
	Andrew Morton, Starke, Daniel, Lee Jones, Fedor Pchelkin
  Cc: linux-kernel, linux-serial

syzbot is reporting sleep in atomic context, for gsmld_write() is calling
con_write() with spinlock held and IRQs disabled.

Since n_gsm is designed to be used for serial port, reject attaching to
virtual consoles and PTY devices, by checking tty's device major/minor
numbers at gsmld_open().

Link: https://www.kernel.org/doc/html/v6.7/driver-api/tty/n_gsm.html
Reported-by: syzbot+06fa1063cca8163ea541@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=06fa1063cca8163ea541
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
---
 drivers/tty/n_gsm.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 4036566febcb..14581483af78 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -3623,6 +3623,7 @@ static void gsmld_close(struct tty_struct *tty)
 static int gsmld_open(struct tty_struct *tty)
 {
 	struct gsm_mux *gsm;
+	int major;
 
 	if (!capable(CAP_NET_ADMIN))
 		return -EPERM;
@@ -3630,6 +3631,17 @@ static int gsmld_open(struct tty_struct *tty)
 	if (tty->ops->write == NULL)
 		return -EINVAL;
 
+	major = tty->driver->major;
+	/* Reject Virtual consoles */
+	if (major == 4 && tty->driver->minor_start == 1)
+		return -EINVAL;
+	/* Reject Unix98 PTY masters/slaves */
+	if (major >= 128 && major <= 143)
+		return -EINVAL;
+	/* Reject BSD PTY masters/slaves */
+	if (major >= 2 && major <= 3)
+		return -EINVAL;
+
 	/* Attach our ldisc data */
 	gsm = gsm_alloc_mux();
 	if (gsm == NULL)
-- 
2.18.4



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: n_gsm: restrict tty devices to attach
  2024-01-24 10:06         ` [PATCH] tty: n_gsm: restrict tty devices to attach Tetsuo Handa
@ 2024-01-24 13:14           ` Greg Kroah-Hartman
  2024-02-03 13:45             ` Tetsuo Handa
  0 siblings, 1 reply; 10+ messages in thread
From: Greg Kroah-Hartman @ 2024-01-24 13:14 UTC (permalink / raw)
  To: Tetsuo Handa
  Cc: Jiri Slaby, syzbot, syzkaller-bugs, Andrew Morton, Starke, Daniel,
	Lee Jones, Fedor Pchelkin, linux-kernel, linux-serial

On Wed, Jan 24, 2024 at 07:06:04PM +0900, Tetsuo Handa wrote:
> syzbot is reporting sleep in atomic context, for gsmld_write() is calling
> con_write() with spinlock held and IRQs disabled.
> 
> Since n_gsm is designed to be used for serial port, reject attaching to
> virtual consoles and PTY devices, by checking tty's device major/minor
> numbers at gsmld_open().
> 
> Link: https://www.kernel.org/doc/html/v6.7/driver-api/tty/n_gsm.html
> Reported-by: syzbot+06fa1063cca8163ea541@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=06fa1063cca8163ea541
> Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
> ---
>  drivers/tty/n_gsm.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
> index 4036566febcb..14581483af78 100644
> --- a/drivers/tty/n_gsm.c
> +++ b/drivers/tty/n_gsm.c
> @@ -3623,6 +3623,7 @@ static void gsmld_close(struct tty_struct *tty)
>  static int gsmld_open(struct tty_struct *tty)
>  {
>  	struct gsm_mux *gsm;
> +	int major;
>  
>  	if (!capable(CAP_NET_ADMIN))
>  		return -EPERM;
> @@ -3630,6 +3631,17 @@ static int gsmld_open(struct tty_struct *tty)
>  	if (tty->ops->write == NULL)
>  		return -EINVAL;
>  
> +	major = tty->driver->major;
> +	/* Reject Virtual consoles */
> +	if (major == 4 && tty->driver->minor_start == 1)
> +		return -EINVAL;
> +	/* Reject Unix98 PTY masters/slaves */
> +	if (major >= 128 && major <= 143)
> +		return -EINVAL;
> +	/* Reject BSD PTY masters/slaves */
> +	if (major >= 2 && major <= 3)
> +		return -EINVAL;

That is a lot of hard-coded magic numbers, why aren't these defined
anywhere?

But really, this is only for fuzz testers, why can't they just not ever
bind this to a console?  Why do we have to have these checks in the
kernel to prevent userspace from doing dumb things that no real
userspace will ever do?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: n_gsm: restrict tty devices to attach
  2024-01-24 13:14           ` Greg Kroah-Hartman
@ 2024-02-03 13:45             ` Tetsuo Handa
  2024-02-06 14:28               ` Greg Kroah-Hartman
  0 siblings, 1 reply; 10+ messages in thread
From: Tetsuo Handa @ 2024-02-03 13:45 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Jiri Slaby, syzbot, syzkaller-bugs, Andrew Morton, Starke, Daniel,
	Lee Jones, Fedor Pchelkin, linux-kernel, linux-serial,
	Linus Torvalds

On 2024/01/24 22:14, Greg Kroah-Hartman wrote:
>> @@ -3630,6 +3631,17 @@ static int gsmld_open(struct tty_struct *tty)
>>  	if (tty->ops->write == NULL)
>>  		return -EINVAL;
>>  
>> +	major = tty->driver->major;
>> +	/* Reject Virtual consoles */
>> +	if (major == 4 && tty->driver->minor_start == 1)
>> +		return -EINVAL;
>> +	/* Reject Unix98 PTY masters/slaves */
>> +	if (major >= 128 && major <= 143)
>> +		return -EINVAL;
>> +	/* Reject BSD PTY masters/slaves */
>> +	if (major >= 2 && major <= 3)
>> +		return -EINVAL;
> 
> That is a lot of hard-coded magic numbers, why aren't these defined
> anywhere?

Well, include/uapi/linux/major.h defines

  #define TTY_MAJOR 4
  #define UNIX98_PTY_MASTER_MAJOR 128
  #define UNIX98_PTY_MAJOR_COUNT 8
  #define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT)
  #define PTY_MASTER_MAJOR 2
  #define PTY_SLAVE_MAJOR 3

but does not define end of UNIX98_PTY_SLAVE_MAJOR range, and
no file defines start of minor number for virtual consoles.

Does fixing this bug worth updating include/uapi/linux/major.h and adding
include/uapi/linux/minor.h ? Since these numbers won't change, I feel that
a line of comment is sufficient.

> 
> But really, this is only for fuzz testers, why can't they just not ever
> bind this to a console?  Why do we have to have these checks in the
> kernel to prevent userspace from doing dumb things that no real
> userspace will ever do?

Fuzz testing is for testing unexpected arguments. This bug is nothing but
missing validation that should be fixed on the kernel side rather than
trying to tune fuzzers.

> 
> thanks,
> 
> greg k-h


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] tty: n_gsm: restrict tty devices to attach
  2024-02-03 13:45             ` Tetsuo Handa
@ 2024-02-06 14:28               ` Greg Kroah-Hartman
  0 siblings, 0 replies; 10+ messages in thread
From: Greg Kroah-Hartman @ 2024-02-06 14:28 UTC (permalink / raw)
  To: Tetsuo Handa
  Cc: Jiri Slaby, syzbot, syzkaller-bugs, Andrew Morton, Starke, Daniel,
	Lee Jones, Fedor Pchelkin, linux-kernel, linux-serial,
	Linus Torvalds

On Sat, Feb 03, 2024 at 10:45:53PM +0900, Tetsuo Handa wrote:
> On 2024/01/24 22:14, Greg Kroah-Hartman wrote:
> >> @@ -3630,6 +3631,17 @@ static int gsmld_open(struct tty_struct *tty)
> >>  	if (tty->ops->write == NULL)
> >>  		return -EINVAL;
> >>  
> >> +	major = tty->driver->major;
> >> +	/* Reject Virtual consoles */
> >> +	if (major == 4 && tty->driver->minor_start == 1)
> >> +		return -EINVAL;
> >> +	/* Reject Unix98 PTY masters/slaves */
> >> +	if (major >= 128 && major <= 143)
> >> +		return -EINVAL;
> >> +	/* Reject BSD PTY masters/slaves */
> >> +	if (major >= 2 && major <= 3)
> >> +		return -EINVAL;
> > 
> > That is a lot of hard-coded magic numbers, why aren't these defined
> > anywhere?
> 
> Well, include/uapi/linux/major.h defines
> 
>   #define TTY_MAJOR 4
>   #define UNIX98_PTY_MASTER_MAJOR 128
>   #define UNIX98_PTY_MAJOR_COUNT 8
>   #define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT)
>   #define PTY_MASTER_MAJOR 2
>   #define PTY_SLAVE_MAJOR 3
> 
> but does not define end of UNIX98_PTY_SLAVE_MAJOR range, and
> no file defines start of minor number for virtual consoles.

Then use the ones you have, don't make us be forced to figure out what
is going on please.

> Does fixing this bug worth updating include/uapi/linux/major.h and adding
> include/uapi/linux/minor.h ? Since these numbers won't change, I feel that
> a line of comment is sufficient.

No, don't add new ones where not needed.

> > But really, this is only for fuzz testers, why can't they just not ever
> > bind this to a console?  Why do we have to have these checks in the
> > kernel to prevent userspace from doing dumb things that no real
> > userspace will ever do?
> 
> Fuzz testing is for testing unexpected arguments. This bug is nothing but
> missing validation that should be fixed on the kernel side rather than
> trying to tune fuzzers.

I'll push back on this, fuzzers, running as root, can easily crash the
kernel as root can crash the kernel easily.  So trying to keep the
kernel from hurting itself like this is odd to me.

Again, just tell the fuzzers to not do this.  I don't want random
hard-coded numbers in here, that's adding maintance requirements on us
in the kernel for random userspace tools doing random things :(

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-02-06 14:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <00000000000039f237060f354ef7@google.com>
2024-01-18 14:18 ` [syzbot] [dri?] BUG: scheduling while atomic in drm_atomic_helper_wait_for_flip_done Tetsuo Handa
2024-01-20 10:34   ` [PATCH] tty: vt: check for atomic context in con_write() Tetsuo Handa
2024-01-21  3:48     ` Hillf Danton
2024-01-21 11:34       ` Tetsuo Handa
2024-01-22  6:48     ` Jiri Slaby
2024-01-22 14:08       ` Tetsuo Handa
2024-01-24 10:06         ` [PATCH] tty: n_gsm: restrict tty devices to attach Tetsuo Handa
2024-01-24 13:14           ` Greg Kroah-Hartman
2024-02-03 13:45             ` Tetsuo Handa
2024-02-06 14:28               ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox