lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 30 Nov 2014 11:40:54 +0100 From: Lino Sanfilippo <LinoSanfilippo@....de> To: ralf@...ux-mips.org Cc: linux-mips@...ux-mips.org, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, Lino Sanfilippo <LinoSanfilippo@....de> Subject: [PATCH] ioc3: fix incorrect use of htons/ntohs The protocol type in the ip header struct is a single byte variable. So there is no need to swap bytes depending on host endianness. Signed-off-by: Lino Sanfilippo <LinoSanfilippo@....de> --- Please note that I could not test this, since I dont have access to the concerning hardware. drivers/net/ethernet/sgi/ioc3-eth.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/sgi/ioc3-eth.c b/drivers/net/ethernet/sgi/ioc3-eth.c index 7a254da..0bb303d 100644 --- a/drivers/net/ethernet/sgi/ioc3-eth.c +++ b/drivers/net/ethernet/sgi/ioc3-eth.c @@ -540,8 +540,7 @@ static void ioc3_tcpudp_checksum(struct sk_buff *skb, uint32_t hwsum, int len) /* Same as tx - compute csum of pseudo header */ csum = hwsum + - (ih->tot_len - (ih->ihl << 2)) + - htons((uint16_t)ih->protocol) + + (ih->tot_len - (ih->ihl << 2)) + ih->protocol + (ih->saddr >> 16) + (ih->saddr & 0xffff) + (ih->daddr >> 16) + (ih->daddr & 0xffff); @@ -1417,7 +1416,7 @@ static int ioc3_start_xmit(struct sk_buff *skb, struct net_device *dev) */ if (skb->ip_summed == CHECKSUM_PARTIAL) { const struct iphdr *ih = ip_hdr(skb); - const int proto = ntohs(ih->protocol); + const int proto = ih->protocol; unsigned int csoff; uint32_t csum, ehsum; uint16_t *eh; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists