wifi: iwlwifi: mei: fix potential NULL-ptr deref after clone
If cloning the SKB fails, don't try to use it, but rather return
as if we should pass it.
Coverity CID: 1503456
Fixes: 2da4366f9e
("iwlwifi: mei: add the driver to allow cooperation with CSME")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20221030191011.0ce03ba99601.I87960b7cb0a3d16b9fd8d9144027e7e2587f5a58@changeid
This commit is contained in:
parent
d288067ede
commit
d3df49dda4
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (C) 2021 Intel Corporation
|
||||
* Copyright (C) 2021-2022 Intel Corporation
|
||||
*/
|
||||
|
||||
#include <uapi/linux/if_ether.h>
|
||||
|
@ -337,10 +337,14 @@ rx_handler_result_t iwl_mei_rx_filter(struct sk_buff *orig_skb,
|
|||
if (!*pass_to_csme)
|
||||
return RX_HANDLER_PASS;
|
||||
|
||||
if (ret == RX_HANDLER_PASS)
|
||||
if (ret == RX_HANDLER_PASS) {
|
||||
skb = skb_copy(orig_skb, GFP_ATOMIC);
|
||||
else
|
||||
|
||||
if (!skb)
|
||||
return RX_HANDLER_PASS;
|
||||
} else {
|
||||
skb = orig_skb;
|
||||
}
|
||||
|
||||
/* CSME wants the MAC header as well, push it back */
|
||||
skb_push(skb, skb->data - skb_mac_header(skb));
|
||||
|
|
Loading…
Reference in New Issue