Skip to content
Commit e5f28623 authored by Ammar Faizi's avatar Ammar Faizi Committed by Borislav Petkov
Browse files

x86/MCE/AMD: Fix memory leak when threshold_create_bank() fails



In mce_threshold_create_device(), if threshold_create_bank() fails, the
previously allocated threshold banks array @bp will be leaked because
the call to mce_threshold_remove_device() will not free it.

This happens because mce_threshold_remove_device() fetches the pointer
through the threshold_banks per-CPU variable but bp is written there
only after the bank creation is successful, and not before, when
threshold_create_bank() fails.

Add a helper which unwinds all the bank creation work previously done
and pass into it the previously allocated threshold banks array for
freeing.

  [ bp: Massage. ]

Fixes: 6458de97 ("x86/mce/amd: Straighten CPU hotplug path")
Co-developed-by: default avatarAlviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Signed-off-by: default avatarAlviro Iskandar Setiawan <alviro.iskandar@gnuweeb.org>
Co-developed-by: default avatarYazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: default avatarYazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: default avatarAmmar Faizi <ammarfaizi2@gnuweeb.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220329104705.65256-3-ammarfaizi2@gnuweeb.org
parent 9f1b19b9
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment