From: Sameer Vaze <[email protected]>
Sent: Wednesday, December 17, 2025 1:06 AM
To: Sunila Sahu <[email protected]>; Fan Zhang <[email protected]>; Ashish 
Gupta <[email protected]>
Cc: [email protected]; Sameer Vaze <[email protected]>; [email protected]
Subject: [EXTERNAL] [PATCH v1] compress/zlib: fix UDC checksum logic

Fixes bugs with casting and checksum calculation for UDC checksum Fixes: 
0dc314debb22 ("compress/zlib: support dictionaries and PDCP checksum") Cc: 
stable@ dpdk. org Signed-off-by: Sameer Vaze <svaze@ qti. qualcomm. com> --- 
drivers/compress/zlib/zlib_pmd. c
ZjQcmQRYFpfptBannerStart
Prioritize security for external emails:
Confirm sender and content safety before clicking links or opening attachments
    Report Suspicious  
<https://us-phishalarm-ewt.proofpoint.com/EWT/v1/CRVmXkqW!ti3Z1f8UAlWa1M-dmb2aTtrSCkcdEIRIFWg-YVjcPEhmOerTATSVvntd2S9OqvFQwGz2AuKqJLO-tb0Pf2JxhUZLz0GegAL_$>
   ‌
ZjQcmQRYFpfptBannerEnd

Fixes bugs with casting and checksum calculation for

UDC checksum



Fixes: 0dc314debb22 ("compress/zlib: support dictionaries and PDCP checksum")

Cc: [email protected]<mailto:[email protected]>



Signed-off-by: Sameer Vaze 
<[email protected]<mailto:[email protected]>>

---

 drivers/compress/zlib/zlib_pmd.c | 16 ++++++++--------

 1 file changed, 8 insertions(+), 8 deletions(-)



diff --git a/drivers/compress/zlib/zlib_pmd.c b/drivers/compress/zlib/zlib_pmd.c

index 1d7651dd7d..bb970912cb 100644

--- a/drivers/compress/zlib/zlib_pmd.c

+++ b/drivers/compress/zlib/zlib_pmd.c

@@ -48,12 +48,12 @@ process_zlib_deflate_chksum(struct rte_comp_op *op,

                                      return;

                         }



-                       dictionary_start = (uint32_t)(*dictionary);

-                       dictionary_end = (uint32_t)(*(dictionary + 
dictionary_len - 4));

+                       dictionary_start = *(uint32_t *)dictionary;

+                       dictionary_end = *(uint32_t *)(dictionary + 
dictionary_len - 4);

                         sum = (dictionary_start & 
BOTTOM_NIBBLE_OF_BYTES_IN_DOUBLE_WORD)

-                                     + (dictionary_start & 
(TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD >> 4))

+                                    + ((dictionary_start & 
TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD) >> 4)

                                      + (dictionary_end & 
BOTTOM_NIBBLE_OF_BYTES_IN_DOUBLE_WORD)

-                                     + (dictionary_end & 
(TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD >> 4));

+                                    + ((dictionary_end & 
TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD) >> 4);



                         op->output_chksum = ~(sum_bytes[0] + sum_bytes[1] + 
sum_bytes[2] + sum_bytes[3])

                                       & BOTTOM_NIBBLE_OF_BYTE;

@@ -98,12 +98,12 @@ process_zlib_inflate_chksum(struct rte_comp_op *op,

                                      return;

                         }



-                       dictionary_start = (uint32_t)(*dictionary);

-                       dictionary_end = (uint32_t)(*(dictionary + 
dictionary_len - 4));

+                       dictionary_start = *(uint32_t *)dictionary;

+                       dictionary_end = *(uint32_t *)(dictionary + 
dictionary_len - 4);

                         sum = (dictionary_start & 
BOTTOM_NIBBLE_OF_BYTES_IN_DOUBLE_WORD)

-                                     + (dictionary_start & 
(TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD >> 4))

+                                    + ((dictionary_start & 
TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD) >> 4)

                                      + (dictionary_end & 
BOTTOM_NIBBLE_OF_BYTES_IN_DOUBLE_WORD)

-                                     + (dictionary_end & 
(TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD >> 4));

+                                    + ((dictionary_end & 
TOP_NIBBLE_OF_BYTE_IN_DOUBLE_WORD) >> 4);



                         op->output_chksum = ~(sum_bytes[0] + sum_bytes[1] + 
sum_bytes[2] + sum_bytes[3])

                                       & BOTTOM_NIBBLE_OF_BYTE;

--

2.31.1



Acked-by: Ashish Gupta <[email protected]>

Reply via email to