aboutsummaryrefslogtreecommitdiffstats
path: root/fs/proc/vmcore.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-02-07 01:15:42 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-02-07 01:15:42 -0500
commita2e5790d841658485d642196dbb0927303d6c22f (patch)
treeb3d28c9bcb7da6880806146fd22a88a7ee7f733e /fs/proc/vmcore.c
parentab2d92ad881da11331280aedf612d82e61cb6d41 (diff)
parent60c3e026d73ccabb075fb70ba02f8512ab40cf2c (diff)
Merge branch 'akpm' (patches from Andrew)
Merge misc updates from Andrew Morton: - kasan updates - procfs - lib/bitmap updates - other lib/ updates - checkpatch tweaks - rapidio - ubsan - pipe fixes and cleanups - lots of other misc bits * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (114 commits) Documentation/sysctl/user.txt: fix typo MAINTAINERS: update ARM/QUALCOMM SUPPORT patterns MAINTAINERS: update various PALM patterns MAINTAINERS: update "ARM/OXNAS platform support" patterns MAINTAINERS: update Cortina/Gemini patterns MAINTAINERS: remove ARM/CLKDEV SUPPORT file pattern MAINTAINERS: remove ANDROID ION pattern mm: docs: add blank lines to silence sphinx "Unexpected indentation" errors mm: docs: fix parameter names mismatch mm: docs: fixup punctuation pipe: read buffer limits atomically pipe: simplify round_pipe_size() pipe: reject F_SETPIPE_SZ with size over UINT_MAX pipe: fix off-by-one error when checking buffer limits pipe: actually allow root to exceed the pipe buffer limits pipe, sysctl: remove pipe_proc_fn() pipe, sysctl: drop 'min' parameter from pipe-max-size converter kasan: rework Kconfig settings crash_dump: is_kdump_kernel can be boolean kernel/mutex: mutex_is_locked can be boolean ...
Diffstat (limited to 'fs/proc/vmcore.c')
-rw-r--r--fs/proc/vmcore.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
index 885d445afa0d..a45f0af22a60 100644
--- a/fs/proc/vmcore.c
+++ b/fs/proc/vmcore.c
@@ -1178,18 +1178,16 @@ fs_initcall(vmcore_init);
1178/* Cleanup function for vmcore module. */ 1178/* Cleanup function for vmcore module. */
1179void vmcore_cleanup(void) 1179void vmcore_cleanup(void)
1180{ 1180{
1181 struct list_head *pos, *next;
1182
1183 if (proc_vmcore) { 1181 if (proc_vmcore) {
1184 proc_remove(proc_vmcore); 1182 proc_remove(proc_vmcore);
1185 proc_vmcore = NULL; 1183 proc_vmcore = NULL;
1186 } 1184 }
1187 1185
1188 /* clear the vmcore list. */ 1186 /* clear the vmcore list. */
1189 list_for_each_safe(pos, next, &vmcore_list) { 1187 while (!list_empty(&vmcore_list)) {
1190 struct vmcore *m; 1188 struct vmcore *m;
1191 1189
1192 m = list_entry(pos, struct vmcore, list); 1190 m = list_first_entry(&vmcore_list, struct vmcore, list);
1193 list_del(&m->list); 1191 list_del(&m->list);
1194 kfree(m); 1192 kfree(m);
1195 } 1193 }