On 8/31/2017 11:36 PM, Antony Antony wrote: > Hi Aviv, > > thanks for trying to fix the issue. However, this patch introduce more > problems. > > netlink_esp_hw_offload = UINT_MAX or UINT_MAX-1 > netlink_esp_hw_offload + 32 would overflow. > > ** CID 1455227: (INTEGER_OVERFLOW) > /programs/pluto/kernel_netlink.c: 932 in netlink_detect_offload() > /programs/pluto/kernel_netlink.c: 924 in netlink_detect_offload() > /programs/pluto/kernel_netlink.c: 924 in netlink_detect_offload()
Hi Antony, Thanks for testing the patch. > 920 if (netlink_esp_hw_offload == NIC_OFFLOAD_UNSUPPORTED) > 921 return ret; > 922 > 923 /* Feature is supported by kernel. Query device features */ >>>> CID 1455227: (INTEGER_OVERFLOW) >>>> Add operation overflows on operands "netlink_esp_hw_offload" and "31U". > 924 blocks = (netlink_esp_hw_offload + 31) / 32; > 925 feature_bit = 1 << (netlink_esp_hw_offload % 31); Coverity doesn't recognize that this flow can't be reached if (netlink_esp_hw_offload == NIC_OFFLOAD_UNKNOWN) || (netlink_esp_hw_offload == NIC_OFFLOAD_UNSUPPORTED). Another way to silence the original warning is to cast netlink_esp_hw_offload to unsigned prior to shifting. Sending v2 in a few minutes. Thanks, Aviv _______________________________________________ Swan-dev mailing list [email protected] https://lists.libreswan.org/mailman/listinfo/swan-dev
