From: Michael Halcrow Date: Tue, 16 Oct 2007 08:27:55 +0000 (-0700) Subject: eCryptfs: use list_for_each_entry_safe() when wiping auth toks X-Git-Tag: v2.6.24-rc1~1001 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=e0869cc144174c5e3e2671cb40fdecac44d71855;p=linux-2.6-omap-h63xx.git eCryptfs: use list_for_each_entry_safe() when wiping auth toks Use list_for_each_entry_safe() when wiping the authentication token list. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index a1764fe3318..8eb0746313d 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c @@ -469,26 +469,19 @@ out: static void wipe_auth_tok_list(struct list_head *auth_tok_list_head) { - struct list_head *walker; struct ecryptfs_auth_tok_list_item *auth_tok_list_item; + struct ecryptfs_auth_tok_list_item *auth_tok_list_item_tmp; - walker = auth_tok_list_head->next; - while (walker != auth_tok_list_head) { - auth_tok_list_item = - list_entry(walker, struct ecryptfs_auth_tok_list_item, - list); - walker = auth_tok_list_item->list.next; - memset(auth_tok_list_item, 0, - sizeof(struct ecryptfs_auth_tok_list_item)); + list_for_each_entry_safe(auth_tok_list_item, auth_tok_list_item_tmp, + auth_tok_list_head, list) { + list_del(&auth_tok_list_item->list); kmem_cache_free(ecryptfs_auth_tok_list_item_cache, auth_tok_list_item); } - auth_tok_list_head->next = NULL; } struct kmem_cache *ecryptfs_auth_tok_list_item_cache; - /** * parse_tag_1_packet * @crypt_stat: The cryptographic context to modify based on packet