|
@@ -15,6 +15,7 @@
|
|
|
#include <linux/skbuff.h>
|
|
|
#include <linux/ipv6.h>
|
|
|
#include <net/ip6_checksum.h>
|
|
|
+#include <asm/unaligned.h>
|
|
|
|
|
|
#include <net/tcp.h>
|
|
|
|
|
@@ -466,7 +467,7 @@ static void tcp_sack(const struct sk_buff *skb, unsigned int dataoff,
|
|
|
for (i = 0;
|
|
|
i < (opsize - TCPOLEN_SACK_BASE);
|
|
|
i += TCPOLEN_SACK_PERBLOCK) {
|
|
|
- tmp = ntohl(*((__be32 *)(ptr+i)+1));
|
|
|
+ tmp = get_unaligned_be32((__be32 *)(ptr+i)+1);
|
|
|
|
|
|
if (after(tmp, *sack))
|
|
|
*sack = tmp;
|