projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
94295e2
)
arch/um/drivers/line.c: safely iterate over list of winch handlers
author
Will Newton
<
[email protected]
>
Thu, 13 Jan 2011 00:59:26 +0000
(16:59 -0800)
committer
Linus Torvalds
<
[email protected]
>
Thu, 13 Jan 2011 16:03:07 +0000
(08:03 -0800)
unregister_winch() should use list_for_each_safe(), as it can delete from
the list.
Signed-off-by: Will Newton <
[email protected]
>
Cc: richard -rw- weinberger <
[email protected]
>
Acked-by: WANG Cong <
[email protected]
>
Cc: Jeff Dike <
[email protected]
>
Signed-off-by: Andrew Morton <
[email protected]
>
Signed-off-by: Linus Torvalds <
[email protected]
>
arch/um/drivers/line.c
patch
|
blob
|
history
diff --git
a/arch/um/drivers/line.c
b/arch/um/drivers/line.c
index 1664cce7b0ac5774313ed2805b58f6cac8058279..050e4ddbbb6516a20416cad7107695862f93f8cd 100644
(file)
--- a/
arch/um/drivers/line.c
+++ b/
arch/um/drivers/line.c
@@
-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);