lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 19 Jul 2007 11:12:24 -0400 From: Paul Clements <paul.clements@...eleye.com> To: Denis Cheng <crquan@...il.com> CC: netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Pavel Machek <pavel@....cz>, Steven Whitehouse <steve@...gwyn.com>, Andrew Morton <akpm@...ux-foundation.org> Subject: Re: [PATCH 1/2] nbd: use list_for_each_entry_safe to make it more consolidated and readable Denis Cheng wrote: > Thus the traverse of the loop may delete nodes, use the safe version. > > Signed-off-by: Denis Cheng <crquan@...il.com> > --- > drivers/block/nbd.c | 6 ++---- > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c > index c129510..86639c0 100644 > --- a/drivers/block/nbd.c > +++ b/drivers/block/nbd.c > @@ -237,8 +237,7 @@ error_out: > > static struct request *nbd_find_request(struct nbd_device *lo, char *handle) > { > - struct request *req; > - struct list_head *tmp; > + struct request *req, *n; > struct request *xreq; > int err; > > @@ -249,8 +248,7 @@ static struct request *nbd_find_request(struct nbd_device *lo, char *handle) > goto out; > > spin_lock(&lo->queue_lock); > - list_for_each(tmp, &lo->queue_head) { > - req = list_entry(tmp, struct request, queuelist); > + list_for_each_entry_safe(req, n, &lo->queue_head, queuelist) { > if (req != xreq) > continue; > list_del_init(&req->queuelist); Could you name "n" as "tmp" (as in the previous code) so that it's clear that's only a temporary variable. Other than that, this looks good. Thanks, Paul - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists