Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
The MSCC bug fix in 'net' had to be slightly adjusted because the register accesses are done slightly differently in net-next. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#define pr_fmt(fmt) "MPTCP: " fmt
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <crypto/sha.h>
|
||||
#include <net/tcp.h>
|
||||
#include <net/mptcp.h>
|
||||
#include "protocol.h"
|
||||
@@ -540,7 +541,7 @@ static bool mptcp_established_options_dss(struct sock *sk, struct sk_buff *skb,
|
||||
static u64 add_addr_generate_hmac(u64 key1, u64 key2, u8 addr_id,
|
||||
struct in_addr *addr)
|
||||
{
|
||||
u8 hmac[MPTCP_ADDR_HMAC_LEN];
|
||||
u8 hmac[SHA256_DIGEST_SIZE];
|
||||
u8 msg[7];
|
||||
|
||||
msg[0] = addr_id;
|
||||
@@ -550,14 +551,14 @@ static u64 add_addr_generate_hmac(u64 key1, u64 key2, u8 addr_id,
|
||||
|
||||
mptcp_crypto_hmac_sha(key1, key2, msg, 7, hmac);
|
||||
|
||||
return get_unaligned_be64(hmac);
|
||||
return get_unaligned_be64(&hmac[SHA256_DIGEST_SIZE - sizeof(u64)]);
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_MPTCP_IPV6)
|
||||
static u64 add_addr6_generate_hmac(u64 key1, u64 key2, u8 addr_id,
|
||||
struct in6_addr *addr)
|
||||
{
|
||||
u8 hmac[MPTCP_ADDR_HMAC_LEN];
|
||||
u8 hmac[SHA256_DIGEST_SIZE];
|
||||
u8 msg[19];
|
||||
|
||||
msg[0] = addr_id;
|
||||
@@ -567,7 +568,7 @@ static u64 add_addr6_generate_hmac(u64 key1, u64 key2, u8 addr_id,
|
||||
|
||||
mptcp_crypto_hmac_sha(key1, key2, msg, 19, hmac);
|
||||
|
||||
return get_unaligned_be64(hmac);
|
||||
return get_unaligned_be64(&hmac[SHA256_DIGEST_SIZE - sizeof(u64)]);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user