]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ice: Fix a null pointer dereference in ice_copy_and_init_pkg()
authorHaoxiang Li <haoxiang_li2024@163.com>
Thu, 3 Jul 2025 09:52:32 +0000 (17:52 +0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 21 Jul 2025 17:31:09 +0000 (10:31 -0700)
Add check for the return value of devm_kmemdup()
to prevent potential null pointer dereference.

Fixes: c76488109616 ("ice: Implement Dynamic Device Personalization (DDP) download")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_ddp.c

index 59323c019544fc1f75dcb8a5d31e0b0c82932fe1..351824dc3c6245e62e0fe9b0205771c594bb0e64 100644 (file)
@@ -2301,6 +2301,8 @@ enum ice_ddp_state ice_copy_and_init_pkg(struct ice_hw *hw, const u8 *buf,
                return ICE_DDP_PKG_ERR;
 
        buf_copy = devm_kmemdup(ice_hw_to_dev(hw), buf, len, GFP_KERNEL);
+       if (!buf_copy)
+               return ICE_DDP_PKG_ERR;
 
        state = ice_init_pkg(hw, buf_copy, len);
        if (!ice_is_init_pkg_successful(state)) {