From edd7b240b0c2c0a2f89d124e1c8c0de0df1de69d Mon Sep 17 00:00:00 2001 From: Manish Bhardwaj Date: Tue, 6 May 2025 10:30:38 +0000 Subject: [PATCH] nvidia-oot: clear out the memory before freeing Jira ESLC-8592 Change-Id: I0532bab29d4267477770f317576610514c25d4ea Signed-off-by: Manish Bhardwaj Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3356255 Reviewed-by: Suresh Venkatachalam GVS: buildbot_gerritrpt --- drivers/virt/tegra/tegra_hv_vcpu_yield.c | 4 ++++ drivers/virt/tegra/userspace_ivc_mempool.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/drivers/virt/tegra/tegra_hv_vcpu_yield.c b/drivers/virt/tegra/tegra_hv_vcpu_yield.c index fb263885..07fbd55a 100644 --- a/drivers/virt/tegra/tegra_hv_vcpu_yield.c +++ b/drivers/virt/tegra/tegra_hv_vcpu_yield.c @@ -260,6 +260,8 @@ static int tegra_hv_vcpu_yield_remove(struct platform_device *pdev) device_destroy(vcpu_yield_class, vcpu_yield->dev); } + memset(vcpu_yield_dev_list, 0, + vcpu_yield_pdev->vmid_count * sizeof(*vcpu_yield_dev_list)); kfree(vcpu_yield_dev_list); } @@ -272,6 +274,7 @@ static int tegra_hv_vcpu_yield_remove(struct platform_device *pdev) vcpu_yield_pdev->vcpu_yield_dev = 0; } + memset(vcpu_yield_pdev, 0, sizeof(*vcpu_yield_pdev)); kfree(vcpu_yield_pdev); dev_set_drvdata(&pdev->dev, NULL); } @@ -449,6 +452,7 @@ static int tegra_hv_vcpu_yield_probe(struct platform_device *pdev) } out: + memset(dt_array_mem, 0, 3 * MAX_YIELD_VM_COUNT * sizeof(int)); kfree(dt_array_mem); if (result) diff --git a/drivers/virt/tegra/userspace_ivc_mempool.c b/drivers/virt/tegra/userspace_ivc_mempool.c index 03828ec4..caca2162 100644 --- a/drivers/virt/tegra/userspace_ivc_mempool.c +++ b/drivers/virt/tegra/userspace_ivc_mempool.c @@ -356,6 +356,8 @@ static void __init cleanup_ivc_mempool(void) device_del(ivcmempooldev->device); } } + memset(ivc_mempool_dev_array, 0, + guest_ivc_info->nr_mempools * sizeof(struct ivc_mempool_dev)); kfree(ivc_mempool_dev_array); ivc_mempool_dev_array = NULL; }