lkml.org 
[lkml]   [2016]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.19.y-ckt 006/170] crypto: algif_hash - Remove custom release parent function
    Date
    3.19.8-ckt18 -stable review patch.  If anyone has any objections, please let me know.

    ---8<------------------------------------------------------------

    From: Herbert Xu <herbert@gondor.apana.org.au>

    commit f1d84af1835846a5a2b827382c5848faf2bb0e75 upstream.

    This patch removes the custom release parent function as the
    generic af_alg_release_parent now works for nokey sockets too.

    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    crypto/algif_hash.c | 43 +++----------------------------------------
    1 file changed, 3 insertions(+), 40 deletions(-)

    diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c
    index fa4096d..e76385d 100644
    --- a/crypto/algif_hash.c
    +++ b/crypto/algif_hash.c
    @@ -397,7 +397,7 @@ static int hash_setkey(void *private, const u8 *key, unsigned int keylen)
    return err;
    }

    -static void hash_sock_destruct_common(struct sock *sk)
    +static void hash_sock_destruct(struct sock *sk)
    {
    struct alg_sock *ask = alg_sk(sk);
    struct hash_ctx *ctx = ask->private;
    @@ -405,33 +405,10 @@ static void hash_sock_destruct_common(struct sock *sk)
    sock_kzfree_s(sk, ctx->result,
    crypto_ahash_digestsize(crypto_ahash_reqtfm(&ctx->req)));
    sock_kfree_s(sk, ctx, ctx->len);
    -}
    -
    -static void hash_sock_destruct(struct sock *sk)
    -{
    - hash_sock_destruct_common(sk);
    - af_alg_release_parent(sk);
    -}
    -
    -static void hash_release_parent_nokey(struct sock *sk)
    -{
    - struct alg_sock *ask = alg_sk(sk);
    -
    - if (!ask->refcnt) {
    - sock_put(ask->parent);
    - return;
    - }
    -
    af_alg_release_parent(sk);
    }

    -static void hash_sock_destruct_nokey(struct sock *sk)
    -{
    - hash_sock_destruct_common(sk);
    - hash_release_parent_nokey(sk);
    -}
    -
    -static int hash_accept_parent_common(void *private, struct sock *sk)
    +static int hash_accept_parent_nokey(void *private, struct sock *sk)
    {
    struct hash_ctx *ctx;
    struct alg_sock *ask = alg_sk(sk);
    @@ -474,21 +451,7 @@ static int hash_accept_parent(void *private, struct sock *sk)
    if (!tfm->has_key && crypto_ahash_has_setkey(tfm->hash))
    return -ENOKEY;

    - return hash_accept_parent_common(private, sk);
    -}
    -
    -static int hash_accept_parent_nokey(void *private, struct sock *sk)
    -{
    - int err;
    -
    - err = hash_accept_parent_common(private, sk);
    - if (err)
    - goto out;
    -
    - sk->sk_destruct = hash_sock_destruct_nokey;
    -
    -out:
    - return err;
    + return hash_accept_parent_nokey(private, sk);
    }

    static const struct af_alg_type algif_type_hash = {
    --
    2.7.4
    \
     
     \ /
      Last update: 2016-04-02 04:01    [W:4.478 / U:0.716 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site