aboutsummaryrefslogtreecommitdiffstats
path: root/lib/list_sort.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/list_sort.c')
-rw-r--r--lib/list_sort.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/list_sort.c b/lib/list_sort.c
index fbdbc867b252..a34c78c30d56 100644
--- a/lib/list_sort.c
+++ b/lib/list_sort.c
@@ -209,16 +209,16 @@ static int __init list_sort_test(void)
209{ 209{
210 int i, count = 1, err = -ENOMEM; 210 int i, count = 1, err = -ENOMEM;
211 struct debug_el *el; 211 struct debug_el *el;
212 struct list_head *cur, *tmp; 212 struct list_head *cur;
213 LIST_HEAD(head); 213 LIST_HEAD(head);
214 214
215 printk(KERN_DEBUG "list_sort_test: start testing list_sort()\n"); 215 printk(KERN_DEBUG "list_sort_test: start testing list_sort()\n");
216 216
217 elts = kmalloc(sizeof(void *) * TEST_LIST_LEN, GFP_KERNEL); 217 elts = kcalloc(TEST_LIST_LEN, sizeof(*elts), GFP_KERNEL);
218 if (!elts) { 218 if (!elts) {
219 printk(KERN_ERR "list_sort_test: error: cannot allocate " 219 printk(KERN_ERR "list_sort_test: error: cannot allocate "
220 "memory\n"); 220 "memory\n");
221 goto exit; 221 return err;
222 } 222 }
223 223
224 for (i = 0; i < TEST_LIST_LEN; i++) { 224 for (i = 0; i < TEST_LIST_LEN; i++) {
@@ -286,11 +286,9 @@ static int __init list_sort_test(void)
286 286
287 err = 0; 287 err = 0;
288exit: 288exit:
289 for (i = 0; i < TEST_LIST_LEN; i++)
290 kfree(elts[i]);
289 kfree(elts); 291 kfree(elts);
290 list_for_each_safe(cur, tmp, &head) {
291 list_del(cur);
292 kfree(container_of(cur, struct debug_el, list));
293 }
294 return err; 292 return err;
295} 293}
296module_init(list_sort_test); 294module_init(list_sort_test);