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: 0f3b1c40c6
("fs/proc/vmcore: disallow vmcore modifications while the vmcore is open")
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Baoquan he <bhe@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
0ad2507d5d
commit
c8a3e63ff9
1 changed files with 4 additions and 1 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue