diff options
| author | Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com> | 2024-05-17 07:49:46 -0700 | 
|---|---|---|
| committer | Hans de Goede <hdegoede@redhat.com> | 2024-05-27 11:25:33 +0200 | 
| commit | a4edf675ba3357f60e2ee310acc15eb9cd5a8ae0 (patch) | |
| tree | cb05f9c841fab11a7153a91cbc0432246d226130 | |
| parent | 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0 (diff) | |
platform/x86: ISST: fix use-after-free in tpmi_sst_dev_remove()
In tpmi_sst_dev_remove(), tpmi_sst is dereferenced after being freed.
Fix this by reordering the kfree() post the dereference.
Fixes: 9d1d36268f3d ("platform/x86: ISST: Support partitioned systems")
Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://lore.kernel.org/r/20240517144946.289615-1-harshit.m.mogalapalli@oracle.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
| -rw-r--r-- | drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c | 2 | 
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c index 7bac7841ff0a..7fa360073f6e 100644 --- a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c +++ b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c @@ -1610,8 +1610,8 @@ void tpmi_sst_dev_remove(struct auxiliary_device *auxdev)  	tpmi_sst->partition_mask_current &= ~BIT(plat_info->partition);  	/* Free the package instance when the all partitions are removed */  	if (!tpmi_sst->partition_mask_current) { -		kfree(tpmi_sst);  		isst_common.sst_inst[tpmi_sst->package_id] = NULL; +		kfree(tpmi_sst);  	}  	mutex_unlock(&isst_tpmi_dev_lock);  }  | 
