Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1705255 > unrolled thread
| Started by | Byungchul Park <byungchul.park@lge.com> |
|---|---|
| First post | 2017-08-07 10:50 +0200 |
| Last post | 2017-08-07 10:50 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
[RESEND PATCH] mm: Don't reinvent the wheel but use existing llist API Byungchul Park <byungchul.park@lge.com> - 2017-08-07 10:50 +0200
| From | Byungchul Park <byungchul.park@lge.com> |
|---|---|
| Date | 2017-08-07 10:50 +0200 |
| Subject | [RESEND PATCH] mm: Don't reinvent the wheel but use existing llist API |
| Message-ID | <ubLTA-5V4-29@gated-at.bofh.it> |
Although llist provides proper APIs, they are not used. Make them used.
Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
mm/vmalloc.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 3ca82d4..8c0eb45 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -49,12 +49,10 @@ struct vfree_deferred {
static void free_work(struct work_struct *w)
{
struct vfree_deferred *p = container_of(w, struct vfree_deferred, wq);
- struct llist_node *llnode = llist_del_all(&p->list);
- while (llnode) {
- void *p = llnode;
- llnode = llist_next(llnode);
- __vunmap(p, 1);
- }
+ struct llist_node *t, *llnode;
+
+ llist_for_each_safe(llnode, t, llist_del_all(&p->list))
+ __vunmap((void *)llnode, 1);
}
/*** Page table manipulation functions ***/
--
1.9.1
Back to top | Article view | linux.kernel
csiph-web