Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
This commit is contained in:
@@ -52,6 +52,7 @@
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <crypto/hash.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/wait.h>
|
||||
@@ -61,7 +62,6 @@
|
||||
#include <linux/fcntl.h>
|
||||
#include <linux/poll.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/crypto.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/file.h>
|
||||
#include <linux/compat.h>
|
||||
@@ -4162,7 +4162,7 @@ static void sctp_destruct_sock(struct sock *sk)
|
||||
struct sctp_sock *sp = sctp_sk(sk);
|
||||
|
||||
/* Free up the HMAC transform. */
|
||||
crypto_free_hash(sp->hmac);
|
||||
crypto_free_shash(sp->hmac);
|
||||
|
||||
inet_sock_destruct(sk);
|
||||
}
|
||||
@@ -6108,9 +6108,10 @@ static int sctp_getsockopt(struct sock *sk, int level, int optname,
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void sctp_hash(struct sock *sk)
|
||||
static int sctp_hash(struct sock *sk)
|
||||
{
|
||||
/* STUB */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void sctp_unhash(struct sock *sk)
|
||||
@@ -6306,13 +6307,13 @@ static int sctp_listen_start(struct sock *sk, int backlog)
|
||||
{
|
||||
struct sctp_sock *sp = sctp_sk(sk);
|
||||
struct sctp_endpoint *ep = sp->ep;
|
||||
struct crypto_hash *tfm = NULL;
|
||||
struct crypto_shash *tfm = NULL;
|
||||
char alg[32];
|
||||
|
||||
/* Allocate HMAC for generating cookie. */
|
||||
if (!sp->hmac && sp->sctp_hmac_alg) {
|
||||
sprintf(alg, "hmac(%s)", sp->sctp_hmac_alg);
|
||||
tfm = crypto_alloc_hash(alg, 0, CRYPTO_ALG_ASYNC);
|
||||
tfm = crypto_alloc_shash(alg, 0, 0);
|
||||
if (IS_ERR(tfm)) {
|
||||
net_info_ratelimited("failed to load transform for %s: %ld\n",
|
||||
sp->sctp_hmac_alg, PTR_ERR(tfm));
|
||||
@@ -7255,14 +7256,12 @@ static void sctp_sock_migrate(struct sock *oldsk, struct sock *newsk,
|
||||
/* Hook this new socket in to the bind_hash list. */
|
||||
head = &sctp_port_hashtable[sctp_phashfn(sock_net(oldsk),
|
||||
inet_sk(oldsk)->inet_num)];
|
||||
local_bh_disable();
|
||||
spin_lock(&head->lock);
|
||||
spin_lock_bh(&head->lock);
|
||||
pp = sctp_sk(oldsk)->bind_hash;
|
||||
sk_add_bind_node(newsk, &pp->owner);
|
||||
sctp_sk(newsk)->bind_hash = pp;
|
||||
inet_sk(newsk)->inet_num = inet_sk(oldsk)->inet_num;
|
||||
spin_unlock(&head->lock);
|
||||
local_bh_enable();
|
||||
spin_unlock_bh(&head->lock);
|
||||
|
||||
/* Copy the bind_addr list from the original endpoint to the new
|
||||
* endpoint so that we can handle restarts properly
|
||||
|
Reference in New Issue
Block a user