mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-20 00:11:22 +00:00
arch/um/drivers/line.c: safely iterate over list of winch handlers
unregister_winch() should use list_for_each_safe(), as it can delete from the list. Signed-off-by: Will Newton <will.newton@gmail.com> Cc: richard -rw- weinberger <richard.weinberger@gmail.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
94295e2305
commit
48a0b7404d
@ -821,12 +821,12 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
|
||||
|
||||
static void unregister_winch(struct tty_struct *tty)
|
||||
{
|
||||
struct list_head *ele;
|
||||
struct list_head *ele, *next;
|
||||
struct winch *winch;
|
||||
|
||||
spin_lock(&winch_handler_lock);
|
||||
|
||||
list_for_each(ele, &winch_handlers) {
|
||||
list_for_each_safe(ele, next, &winch_handlers) {
|
||||
winch = list_entry(ele, struct winch, list);
|
||||
if (winch->tty == tty) {
|
||||
free_winch(winch, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user