Commit c8a3e63f authored by Bart Van Assche's avatar Bart Van Assche Committed by Andrew Morton
Browse files

procfs: fix a locking bug in a vmcore_add_device_dump() error path

Unlock vmcore_mutex when returning -EBUSY.

Link: https://lkml.kernel.org/r/20250129222003.1495713-1-bvanassche@acm.org


Fixes: 0f3b1c40 ("fs/proc/vmcore: disallow vmcore modifications while the vmcore is open")
Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
Cc: Baoquan he <bhe@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 0ad2507d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1524,7 +1524,7 @@ int vmcore_add_device_dump(struct vmcoredd_data *data)
		pr_warn_once("Unexpected adding of device dump\n");
	if (vmcore_open) {
		ret = -EBUSY;
		goto out_err;
		goto unlock;
	}

	list_add_tail(&dump->list, &vmcoredd_list);
@@ -1532,6 +1532,9 @@ int vmcore_add_device_dump(struct vmcoredd_data *data)
	mutex_unlock(&vmcore_mutex);
	return 0;

unlock:
	mutex_unlock(&vmcore_mutex);

out_err:
	vfree(buf);
	vfree(dump);