how to debug... program hangs while downing for write a rwsem

Greg KH greg at kroah.com
Wed Sep 21 07:15:57 EDT 2022


On Wed, Sep 21, 2022 at 08:02:50PM +0900, Chan Kim wrote:
> Hello kernel experts and users,
> 
> I'm trying to boot linux-5.10.0-rc5 on our arm64 board (using neoverse-v1
> core).

5.10-rc5 is very very very old and obsolete, and not even a real
release.  Why are you using that specific kernel version?

At the very least, use a released and supported 5.10.y tree, but even
better, use the latest 5.19.y release.

> After the shell comes up, when I press enter key at the prompt, it gives me
> another prompt.
> But when I press enter key again, it stops responding.
> After inspecting where the program hangs, I found it hangs in function
> tty_set_termios while downing the rwsem.
> Please see below where I marked "<===== this line "". (in file
> drivers/tty/tty_ioctl.c)
> 
> int tty_set_termios(struct tty_struct *tty, struct ktermios *new_termios)
> {
>     struct ktermios old_termios;
>     struct tty_ldisc *ld;
> 
>     WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY &&
>         tty->driver->subtype == PTY_TYPE_MASTER);
>     /*
>      *  Perform the actual termios internal changes under lock.
>      */
> 
> 
>     /* FIXME: we need to decide on some locking/ordering semantics
>        for the set_termios notification eventually */
>     down_write(&tty->termios_rwsem);                        <====== this
> line

What serial driver are you using that is causing this problem?

thanks,

greg k-h



More information about the Kernelnewbies mailing list