summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshwanth Goli <ashwanth@codeaurora.org>2017-06-27 10:29:06 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-08-01 04:53:58 -0700
commit088a4e5bebe547f45d7ed43e6e53f643afd5c06d (patch)
tree84d0275e7463f9c8b09933ee5a78edd5207b1da7
parentc1b3ec77abceccd41c527c4ddf662fc5cc1c7ede (diff)
net: rmnet_data: validate csum in SW
Do SW checksum validation if rmnet_data checksum validation fails. Change-Id: Ifff229dc1e7eb592d58fc66ea278debb292b89aa Signed-off-by: Ashwanth Goli <ashwanth@codeaurora.org> Signed-off-by: Tejaswi Tanikella <tejaswit@codeaurora.org>
-rw-r--r--net/rmnet_data/rmnet_data_handlers.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/rmnet_data/rmnet_data_handlers.c b/net/rmnet_data/rmnet_data_handlers.c
index ae60f35b363d..b17556c346ce 100644
--- a/net/rmnet_data/rmnet_data_handlers.c
+++ b/net/rmnet_data/rmnet_data_handlers.c
@@ -476,10 +476,12 @@ static rx_handler_result_t _rmnet_map_ingress_handler(struct sk_buff *skb,
if (likely((ckresult == RMNET_MAP_CHECKSUM_OK)
|| (ckresult == RMNET_MAP_CHECKSUM_SKIPPED)))
skb->ip_summed |= CHECKSUM_UNNECESSARY;
- else if (ckresult != RMNET_MAP_CHECKSUM_ERR_UNKNOWN_IP_VERSION
- && ckresult != RMNET_MAP_CHECKSUM_ERR_UNKNOWN_TRANSPORT
- && ckresult != RMNET_MAP_CHECKSUM_VALID_FLAG_NOT_SET
- && ckresult != RMNET_MAP_CHECKSUM_FRAGMENTED_PACKET) {
+ else if (ckresult !=
+ RMNET_MAP_CHECKSUM_ERR_UNKNOWN_IP_VERSION &&
+ ckresult != RMNET_MAP_CHECKSUM_VALIDATION_FAILED &&
+ ckresult != RMNET_MAP_CHECKSUM_ERR_UNKNOWN_TRANSPORT &&
+ ckresult != RMNET_MAP_CHECKSUM_VALID_FLAG_NOT_SET &&
+ ckresult != RMNET_MAP_CHECKSUM_FRAGMENTED_PACKET) {
rmnet_kfree_skb(skb,
RMNET_STATS_SKBFREE_INGRESS_BAD_MAP_CKSUM);
return RX_HANDLER_CONSUMED;