FAILED: patch "[PATCH] crypto: af_alg - Allow af_af_alg_release_parent to be called" failed to apply to 3.10-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 3.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
6a935170a980024dd29199e9dbb5c4da4767a1b9Mon Sep 17 00:00:00 2001
From: Herbert Xu <[email protected]>
Date: Wed, 13 Jan 2016 14:59:03 +0800
Subject: [PATCH] crypto: af_alg - Allow af_af_alg_release_parent to be called
on nokey path
This patch allows af_alg_release_parent to be called even for nokey sockets.
Signed-off-by Herbert Xu <[email protected]>
crypto/af_alg.c +8 -1
@@ -133,6 +133,12 @@ void af_alg_release_parent(struct sock *sk)bool last; sk = ask->parent; + +if (ask->nokey_refcnt && !ask->refcnt) { +sock_put (sk); +return ; + } + ask =alg_sk (sk);lock_sock (sk);
@@ -268,8 +274,8 @@ int af_alg_accept(struct sock *sk, struct socket *newsock)struct alg_sock *ask =alg_sk (sk);const struct af_alg_type *type;struct sock *sk2; +unsigned int nokey;int err; -bool nokey;lock_sock (sk); type = ask->type;
@@ -302,6 +308,7 @@ int af_alg_accept(struct sock *sk, struct socket *newsock)sock_hold (sk);alg_sk (sk2)->parent = sk;alg_sk (sk2)->type = type; +alg_sk (sk2)->nokey_refcnt = nokey; newsock->ops = type->ops; newsock->state =SS_CONNECTED ;
include/crypto/if_alg.h +1 -0
@@ -31,6 +31,7 @@ struct alg_sock {struct sock *parent;unsigned int refcnt; +unsigned int nokey_refcnt;const struct af_alg_type *type;void *private;