netdev
[Top] [All Lists]

[PATCH 2.4] PKT_SCHED: break is not enough to stop walking

To: "David S. Miller" <davem@xxxxxxxxxxxxx>
Subject: [PATCH 2.4] PKT_SCHED: break is not enough to stop walking
From: Thomas Graf <tgraf@xxxxxxx>
Date: Fri, 29 Oct 2004 02:29:58 +0200
Cc: netdev@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
break is not enough to escape from the walking loops, since
multiple encapsulated loops are used to traverse the hash tables.

Signed-off-by: Thomas Graf <tgraf@xxxxxxx>

--- linux-2.4.28-rc1-bk1.orig/net/sched/cls_fw.c        2004-10-29 
01:34:19.000000000 +0200
+++ linux-2.4.28-rc1-bk1/net/sched/cls_fw.c     2004-10-29 01:36:19.000000000 
+0200
@@ -292,7 +292,7 @@
                        }
                        if (arg->fn(tp, (unsigned long)f, arg) < 0) {
                                arg->stop = 1;
-                               break;
+                               return;
                        }
                        arg->count++;
                }
--- linux-2.4.28-rc1-bk1.orig/net/sched/cls_route.c     2004-10-29 
01:34:19.000000000 +0200
+++ linux-2.4.28-rc1-bk1/net/sched/cls_route.c  2004-10-29 01:36:31.000000000 
+0200
@@ -541,7 +541,7 @@
                                        }
                                        if (arg->fn(tp, (unsigned long)f, arg) 
< 0) {
                                                arg->stop = 1;
-                                               break;
+                                               return;
                                        }
                                        arg->count++;
                                }
--- linux-2.4.28-rc1-bk1.orig/net/sched/cls_rsvp.h      2004-10-29 
01:34:19.000000000 +0200
+++ linux-2.4.28-rc1-bk1/net/sched/cls_rsvp.h   2004-10-29 01:55:09.000000000 
+0200
@@ -604,7 +604,7 @@
                                        }
                                        if (arg->fn(tp, (unsigned long)f, arg) 
< 0) {
                                                arg->stop = 1;
-                                               break;
+                                               return;
                                        }
                                        arg->count++;
                                }

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH 2.4] PKT_SCHED: break is not enough to stop walking, Thomas Graf <=