lkml.org 
[lkml]   [2016]   [Jan]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.2.y-ckt 156/268] crypto: algif_hash - Remove custom release parent function
    Date
    4.2.8-ckt3 -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 46637be..3653ab6 100644
    --- a/crypto/algif_hash.c
    +++ b/crypto/algif_hash.c
    @@ -384,7 +384,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;
    @@ -392,33 +392,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);
    @@ -461,21 +438,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 = {
    --
    1.9.1
    \
     
     \ /
      Last update: 2016-01-27 23:01    [W:4.247 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site