From 9bdb8f1a10cdd9ec15073d681726ec9ce459c1c1 Mon Sep 17 00:00:00 2001 From: deepak goyal Date: Tue, 28 Sep 2021 21:35:58 +0530 Subject: [PATCH] gpu: nvgpu: Correct LS ucode data alignment. Currently LS UCODE data is aligned to PAGE_SIZE which is dependent on kernel config. This causes "data_size" variable to change due to padding difference which causes LS sig authentication to fail. This patch corrects alignment and align it to LSF_UCODE_DATA_ddALIGNMENT instead of PAGE_SIZE. Bug 200773365 Change-Id: I5f2fe1152053ed6135c01ae3eb94e8cf6eecde5f Signed-off-by: deepak goyal Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2602083 Reviewed-by: svc-mobile-coverity Reviewed-by: svc-mobile-cert Reviewed-by: svcacv Reviewed-by: svc-mobile-misra Reviewed-by: Sachin Nikam Reviewed-by: mobile promotions Tested-by: mobile promotions GVS: Gerrit_Virtual_Submit --- drivers/gpu/nvgpu/common/acr/acr_blob_construct.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c b/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c index 80e35d4ad..8632d9e7d 100644 --- a/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c +++ b/drivers/gpu/nvgpu/common/acr/acr_blob_construct.c @@ -705,7 +705,8 @@ static void lsfm_fill_static_lsb_hdr_info(struct gk20a *g, ndesc->bootloader_param_size; base_size = pnode->lsb_header_v2.ucode_size + ndesc->next_core_elf_size; - image_padding_size = PAGE_ALIGN(base_size) - base_size; + image_padding_size = NVGPU_ALIGN(base_size, + LSF_UCODE_DATA_ALIGNMENT) - base_size; pnode->lsb_header_v2.data_size = ndesc->next_core_elf_size + image_padding_size; pnode->lsb_header_v2.bl_code_size = 0;