From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: Vlad Yasevich <vyasevic@redhat.com>,
Daniel Borkmann <dborkman@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.13 022/212] net: sctp: cache auth_enable per endpoint
Date: Tue, 17 Jun 2014 14:41:56 -0700 [thread overview]
Message-ID: <1403041506-13646-23-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1403041506-13646-1-git-send-email-kamal@canonical.com>
3.13.11.4 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Vlad Yasevich <vyasevic@redhat.com>
[ Upstream commit b14878ccb7fac0242db82720b784ab62c467c0dc ]
Currently, it is possible to create an SCTP socket, then switch
auth_enable via sysctl setting to 1 and crash the system on connect:
Oops[#1]:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.14.1-mipsgit-20140415 #1
task: ffffffff8056ce80 ti: ffffffff8055c000 task.ti: ffffffff8055c000
[...]
Call Trace:
[<ffffffff8043c4e8>] sctp_auth_asoc_set_default_hmac+0x68/0x80
[<ffffffff8042b300>] sctp_process_init+0x5e0/0x8a4
[<ffffffff8042188c>] sctp_sf_do_5_1B_init+0x234/0x34c
[<ffffffff804228c8>] sctp_do_sm+0xb4/0x1e8
[<ffffffff80425a08>] sctp_endpoint_bh_rcv+0x1c4/0x214
[<ffffffff8043af68>] sctp_rcv+0x588/0x630
[<ffffffff8043e8e8>] sctp6_rcv+0x10/0x24
[<ffffffff803acb50>] ip6_input+0x2c0/0x440
[<ffffffff8030fc00>] __netif_receive_skb_core+0x4a8/0x564
[<ffffffff80310650>] process_backlog+0xb4/0x18c
[<ffffffff80313cbc>] net_rx_action+0x12c/0x210
[<ffffffff80034254>] __do_softirq+0x17c/0x2ac
[<ffffffff800345e0>] irq_exit+0x54/0xb0
[<ffffffff800075a4>] ret_from_irq+0x0/0x4
[<ffffffff800090ec>] rm7k_wait_irqoff+0x24/0x48
[<ffffffff8005e388>] cpu_startup_entry+0xc0/0x148
[<ffffffff805a88b0>] start_kernel+0x37c/0x398
Code: dd0900b8 000330f8 0126302d <dcc60000> 50c0fff1 0047182a a48306a0
03e00008 00000000
---[ end trace b530b0551467f2fd ]---
Kernel panic - not syncing: Fatal exception in interrupt
What happens while auth_enable=0 in that case is, that
ep->auth_hmacs is initialized to NULL in sctp_auth_init_hmacs()
when endpoint is being created.
After that point, if an admin switches over to auth_enable=1,
the machine can crash due to NULL pointer dereference during
reception of an INIT chunk. When we enter sctp_process_init()
via sctp_sf_do_5_1B_init() in order to respond to an INIT chunk,
the INIT verification succeeds and while we walk and process
all INIT params via sctp_process_param() we find that
net->sctp.auth_enable is set, therefore do not fall through,
but invoke sctp_auth_asoc_set_default_hmac() instead, and thus,
dereference what we have set to NULL during endpoint
initialization phase.
The fix is to make auth_enable immutable by caching its value
during endpoint initialization, so that its original value is
being carried along until destruction. The bug seems to originate
from the very first days.
Fix in joint work with Daniel Borkmann.
Reported-by: Joshua Kinard <kumba@gentoo.org>
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Tested-by: Joshua Kinard <kumba@gentoo.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
include/net/sctp/structs.h | 4 +++-
net/sctp/auth.c | 17 ++++++---------
net/sctp/endpointola.c | 3 ++-
net/sctp/sm_make_chunk.c | 32 ++++++++++++++-------------
net/sctp/sm_statefuns.c | 6 +++---
net/sctp/socket.c | 54 ++++++++++++++++++++++------------------------
net/sctp/sysctl.c | 36 ++++++++++++++++++++++++++++++-
7 files changed, 92 insertions(+), 60 deletions(-)
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 0a248b3..4046088 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1243,6 +1243,7 @@ struct sctp_endpoint {
/* SCTP-AUTH: endpoint shared keys */
struct list_head endpoint_shared_keys;
__u16 active_key_id;
+ __u8 auth_enable;
};
/* Recover the outter endpoint structure. */
@@ -1271,7 +1272,8 @@ struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *,
int sctp_has_association(struct net *net, const union sctp_addr *laddr,
const union sctp_addr *paddr);
-int sctp_verify_init(struct net *net, const struct sctp_association *asoc,
+int sctp_verify_init(struct net *net, const struct sctp_endpoint *ep,
+ const struct sctp_association *asoc,
sctp_cid_t, sctp_init_chunk_t *peer_init,
struct sctp_chunk *chunk, struct sctp_chunk **err_chunk);
int sctp_process_init(struct sctp_association *, struct sctp_chunk *chunk,
diff --git a/net/sctp/auth.c b/net/sctp/auth.c
index 46b5977..0a719f0 100644
--- a/net/sctp/auth.c
+++ b/net/sctp/auth.c
@@ -387,14 +387,13 @@ nomem:
*/
int sctp_auth_asoc_init_active_key(struct sctp_association *asoc, gfp_t gfp)
{
- struct net *net = sock_net(asoc->base.sk);
struct sctp_auth_bytes *secret;
struct sctp_shared_key *ep_key;
/* If we don't support AUTH, or peer is not capable
* we don't need to do anything.
*/
- if (!net->sctp.auth_enable || !asoc->peer.auth_capable)
+ if (!asoc->ep->auth_enable || !asoc->peer.auth_capable)
return 0;
/* If the key_id is non-zero and we couldn't find an
@@ -441,16 +440,16 @@ struct sctp_shared_key *sctp_auth_get_shkey(
*/
int sctp_auth_init_hmacs(struct sctp_endpoint *ep, gfp_t gfp)
{
- struct net *net = sock_net(ep->base.sk);
struct crypto_hash *tfm = NULL;
__u16 id;
- /* if the transforms are already allocted, we are done */
- if (!net->sctp.auth_enable) {
+ /* If AUTH extension is disabled, we are done */
+ if (!ep->auth_enable) {
ep->auth_hmacs = NULL;
return 0;
}
+ /* If the transforms are already allocated, we are done */
if (ep->auth_hmacs)
return 0;
@@ -667,12 +666,10 @@ static int __sctp_auth_cid(sctp_cid_t chunk, struct sctp_chunks_param *param)
/* Check if peer requested that this chunk is authenticated */
int sctp_auth_send_cid(sctp_cid_t chunk, const struct sctp_association *asoc)
{
- struct net *net;
if (!asoc)
return 0;
- net = sock_net(asoc->base.sk);
- if (!net->sctp.auth_enable || !asoc->peer.auth_capable)
+ if (!asoc->ep->auth_enable || !asoc->peer.auth_capable)
return 0;
return __sctp_auth_cid(chunk, asoc->peer.peer_chunks);
@@ -681,12 +678,10 @@ int sctp_auth_send_cid(sctp_cid_t chunk, const struct sctp_association *asoc)
/* Check if we requested that peer authenticate this chunk. */
int sctp_auth_recv_cid(sctp_cid_t chunk, const struct sctp_association *asoc)
{
- struct net *net;
if (!asoc)
return 0;
- net = sock_net(asoc->base.sk);
- if (!net->sctp.auth_enable)
+ if (!asoc->ep->auth_enable)
return 0;
return __sctp_auth_cid(chunk,
diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c
index 09b8daa..477dd23 100644
--- a/net/sctp/endpointola.c
+++ b/net/sctp/endpointola.c
@@ -69,7 +69,8 @@ static struct sctp_endpoint *sctp_endpoint_init(struct sctp_endpoint *ep,
if (!ep->digest)
return NULL;
- if (net->sctp.auth_enable) {
+ ep->auth_enable = net->sctp.auth_enable;
+ if (ep->auth_enable) {
/* Allocate space for HMACS and CHUNKS authentication
* variables. There are arrays that we encode directly
* into parameters to make the rest of the operations easier.
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 6eee917..1d71674 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -218,6 +218,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
gfp_t gfp, int vparam_len)
{
struct net *net = sock_net(asoc->base.sk);
+ struct sctp_endpoint *ep = asoc->ep;
sctp_inithdr_t init;
union sctp_params addrs;
size_t chunksize;
@@ -277,7 +278,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
chunksize += vparam_len;
/* Account for AUTH related parameters */
- if (net->sctp.auth_enable) {
+ if (ep->auth_enable) {
/* Add random parameter length*/
chunksize += sizeof(asoc->c.auth_random);
@@ -362,7 +363,7 @@ struct sctp_chunk *sctp_make_init(const struct sctp_association *asoc,
}
/* Add SCTP-AUTH chunks to the parameter list */
- if (net->sctp.auth_enable) {
+ if (ep->auth_enable) {
sctp_addto_chunk(retval, sizeof(asoc->c.auth_random),
asoc->c.auth_random);
if (auth_hmacs)
@@ -2010,7 +2011,7 @@ static void sctp_process_ext_param(struct sctp_association *asoc,
/* if the peer reports AUTH, assume that he
* supports AUTH.
*/
- if (net->sctp.auth_enable)
+ if (asoc->ep->auth_enable)
asoc->peer.auth_capable = 1;
break;
case SCTP_CID_ASCONF:
@@ -2102,6 +2103,7 @@ static sctp_ierror_t sctp_process_unk_param(const struct sctp_association *asoc,
* SCTP_IERROR_NO_ERROR - continue with the chunk
*/
static sctp_ierror_t sctp_verify_param(struct net *net,
+ const struct sctp_endpoint *ep,
const struct sctp_association *asoc,
union sctp_params param,
sctp_cid_t cid,
@@ -2152,7 +2154,7 @@ static sctp_ierror_t sctp_verify_param(struct net *net,
goto fallthrough;
case SCTP_PARAM_RANDOM:
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
goto fallthrough;
/* SCTP-AUTH: Secion 6.1
@@ -2169,7 +2171,7 @@ static sctp_ierror_t sctp_verify_param(struct net *net,
break;
case SCTP_PARAM_CHUNKS:
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
goto fallthrough;
/* SCTP-AUTH: Section 3.2
@@ -2185,7 +2187,7 @@ static sctp_ierror_t sctp_verify_param(struct net *net,
break;
case SCTP_PARAM_HMAC_ALGO:
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
goto fallthrough;
hmacs = (struct sctp_hmac_algo_param *)param.p;
@@ -2220,10 +2222,9 @@ fallthrough:
}
/* Verify the INIT packet before we process it. */
-int sctp_verify_init(struct net *net, const struct sctp_association *asoc,
- sctp_cid_t cid,
- sctp_init_chunk_t *peer_init,
- struct sctp_chunk *chunk,
+int sctp_verify_init(struct net *net, const struct sctp_endpoint *ep,
+ const struct sctp_association *asoc, sctp_cid_t cid,
+ sctp_init_chunk_t *peer_init, struct sctp_chunk *chunk,
struct sctp_chunk **errp)
{
union sctp_params param;
@@ -2264,8 +2265,8 @@ int sctp_verify_init(struct net *net, const struct sctp_association *asoc,
/* Verify all the variable length parameters */
sctp_walk_params(param, peer_init, init_hdr.params) {
-
- result = sctp_verify_param(net, asoc, param, cid, chunk, errp);
+ result = sctp_verify_param(net, ep, asoc, param, cid,
+ chunk, errp);
switch (result) {
case SCTP_IERROR_ABORT:
case SCTP_IERROR_NOMEM:
@@ -2497,6 +2498,7 @@ static int sctp_process_param(struct sctp_association *asoc,
struct sctp_af *af;
union sctp_addr_param *addr_param;
struct sctp_transport *t;
+ struct sctp_endpoint *ep = asoc->ep;
/* We maintain all INIT parameters in network byte order all the
* time. This allows us to not worry about whether the parameters
@@ -2636,7 +2638,7 @@ do_addr_param:
goto fall_through;
case SCTP_PARAM_RANDOM:
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
goto fall_through;
/* Save peer's random parameter */
@@ -2649,7 +2651,7 @@ do_addr_param:
break;
case SCTP_PARAM_HMAC_ALGO:
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
goto fall_through;
/* Save peer's HMAC list */
@@ -2665,7 +2667,7 @@ do_addr_param:
break;
case SCTP_PARAM_CHUNKS:
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
goto fall_through;
asoc->peer.peer_chunks = kmemdup(param.p,
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
index 9f9b1d8..cd0d5a2 100644
--- a/net/sctp/sm_statefuns.c
+++ b/net/sctp/sm_statefuns.c
@@ -358,7 +358,7 @@ sctp_disposition_t sctp_sf_do_5_1B_init(struct net *net,
/* Verify the INIT chunk before processing it. */
err_chunk = NULL;
- if (!sctp_verify_init(net, asoc, chunk->chunk_hdr->type,
+ if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type,
(sctp_init_chunk_t *)chunk->chunk_hdr, chunk,
&err_chunk)) {
/* This chunk contains fatal error. It is to be discarded.
@@ -525,7 +525,7 @@ sctp_disposition_t sctp_sf_do_5_1C_ack(struct net *net,
/* Verify the INIT chunk before processing it. */
err_chunk = NULL;
- if (!sctp_verify_init(net, asoc, chunk->chunk_hdr->type,
+ if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type,
(sctp_init_chunk_t *)chunk->chunk_hdr, chunk,
&err_chunk)) {
@@ -1431,7 +1431,7 @@ static sctp_disposition_t sctp_sf_do_unexpected_init(
/* Verify the INIT chunk before processing it. */
err_chunk = NULL;
- if (!sctp_verify_init(net, asoc, chunk->chunk_hdr->type,
+ if (!sctp_verify_init(net, ep, asoc, chunk->chunk_hdr->type,
(sctp_init_chunk_t *)chunk->chunk_hdr, chunk,
&err_chunk)) {
/* This chunk contains fatal error. It is to be discarded.
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index 3e6bd41..39123d8 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -3312,10 +3312,10 @@ static int sctp_setsockopt_auth_chunk(struct sock *sk,
char __user *optval,
unsigned int optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authchunk val;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (optlen != sizeof(struct sctp_authchunk))
@@ -3332,7 +3332,7 @@ static int sctp_setsockopt_auth_chunk(struct sock *sk,
}
/* add this chunk id to the endpoint */
- return sctp_auth_ep_add_chunkid(sctp_sk(sk)->ep, val.sauth_chunk);
+ return sctp_auth_ep_add_chunkid(ep, val.sauth_chunk);
}
/*
@@ -3345,12 +3345,12 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk,
char __user *optval,
unsigned int optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_hmacalgo *hmacs;
u32 idents;
int err;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (optlen < sizeof(struct sctp_hmacalgo))
@@ -3367,7 +3367,7 @@ static int sctp_setsockopt_hmac_ident(struct sock *sk,
goto out;
}
- err = sctp_auth_ep_set_hmacs(sctp_sk(sk)->ep, hmacs);
+ err = sctp_auth_ep_set_hmacs(ep, hmacs);
out:
kfree(hmacs);
return err;
@@ -3383,12 +3383,12 @@ static int sctp_setsockopt_auth_key(struct sock *sk,
char __user *optval,
unsigned int optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authkey *authkey;
struct sctp_association *asoc;
int ret;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (optlen <= sizeof(struct sctp_authkey))
@@ -3409,7 +3409,7 @@ static int sctp_setsockopt_auth_key(struct sock *sk,
goto out;
}
- ret = sctp_auth_set_key(sctp_sk(sk)->ep, asoc, authkey);
+ ret = sctp_auth_set_key(ep, asoc, authkey);
out:
kzfree(authkey);
return ret;
@@ -3425,11 +3425,11 @@ static int sctp_setsockopt_active_key(struct sock *sk,
char __user *optval,
unsigned int optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authkeyid val;
struct sctp_association *asoc;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (optlen != sizeof(struct sctp_authkeyid))
@@ -3441,8 +3441,7 @@ static int sctp_setsockopt_active_key(struct sock *sk,
if (!asoc && val.scact_assoc_id && sctp_style(sk, UDP))
return -EINVAL;
- return sctp_auth_set_active_key(sctp_sk(sk)->ep, asoc,
- val.scact_keynumber);
+ return sctp_auth_set_active_key(ep, asoc, val.scact_keynumber);
}
/*
@@ -3454,11 +3453,11 @@ static int sctp_setsockopt_del_key(struct sock *sk,
char __user *optval,
unsigned int optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authkeyid val;
struct sctp_association *asoc;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (optlen != sizeof(struct sctp_authkeyid))
@@ -3470,8 +3469,7 @@ static int sctp_setsockopt_del_key(struct sock *sk,
if (!asoc && val.scact_assoc_id && sctp_style(sk, UDP))
return -EINVAL;
- return sctp_auth_del_key_id(sctp_sk(sk)->ep, asoc,
- val.scact_keynumber);
+ return sctp_auth_del_key_id(ep, asoc, val.scact_keynumber);
}
@@ -5369,16 +5367,16 @@ static int sctp_getsockopt_maxburst(struct sock *sk, int len,
static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
char __user *optval, int __user *optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_hmacalgo __user *p = (void __user *)optval;
struct sctp_hmac_algo_param *hmacs;
__u16 data_len = 0;
u32 num_idents;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
- hmacs = sctp_sk(sk)->ep->auth_hmacs_list;
+ hmacs = ep->auth_hmacs_list;
data_len = ntohs(hmacs->param_hdr.length) - sizeof(sctp_paramhdr_t);
if (len < sizeof(struct sctp_hmacalgo) + data_len)
@@ -5399,11 +5397,11 @@ static int sctp_getsockopt_hmac_ident(struct sock *sk, int len,
static int sctp_getsockopt_active_key(struct sock *sk, int len,
char __user *optval, int __user *optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authkeyid val;
struct sctp_association *asoc;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (len < sizeof(struct sctp_authkeyid))
@@ -5418,7 +5416,7 @@ static int sctp_getsockopt_active_key(struct sock *sk, int len,
if (asoc)
val.scact_keynumber = asoc->active_key_id;
else
- val.scact_keynumber = sctp_sk(sk)->ep->active_key_id;
+ val.scact_keynumber = ep->active_key_id;
len = sizeof(struct sctp_authkeyid);
if (put_user(len, optlen))
@@ -5432,7 +5430,7 @@ static int sctp_getsockopt_active_key(struct sock *sk, int len,
static int sctp_getsockopt_peer_auth_chunks(struct sock *sk, int len,
char __user *optval, int __user *optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authchunks __user *p = (void __user *)optval;
struct sctp_authchunks val;
struct sctp_association *asoc;
@@ -5440,7 +5438,7 @@ static int sctp_getsockopt_peer_auth_chunks(struct sock *sk, int len,
u32 num_chunks = 0;
char __user *to;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (len < sizeof(struct sctp_authchunks))
@@ -5476,7 +5474,7 @@ num:
static int sctp_getsockopt_local_auth_chunks(struct sock *sk, int len,
char __user *optval, int __user *optlen)
{
- struct net *net = sock_net(sk);
+ struct sctp_endpoint *ep = sctp_sk(sk)->ep;
struct sctp_authchunks __user *p = (void __user *)optval;
struct sctp_authchunks val;
struct sctp_association *asoc;
@@ -5484,7 +5482,7 @@ static int sctp_getsockopt_local_auth_chunks(struct sock *sk, int len,
u32 num_chunks = 0;
char __user *to;
- if (!net->sctp.auth_enable)
+ if (!ep->auth_enable)
return -EACCES;
if (len < sizeof(struct sctp_authchunks))
@@ -5501,7 +5499,7 @@ static int sctp_getsockopt_local_auth_chunks(struct sock *sk, int len,
if (asoc)
ch = (struct sctp_chunks_param*)asoc->c.auth_chunks;
else
- ch = sctp_sk(sk)->ep->auth_chunk_list;
+ ch = ep->auth_chunk_list;
if (!ch)
goto num;
diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
index b0565af..b2da788 100644
--- a/net/sctp/sysctl.c
+++ b/net/sctp/sysctl.c
@@ -65,6 +65,9 @@ static int proc_sctp_do_rto_min(struct ctl_table *ctl, int write,
static int proc_sctp_do_rto_max(struct ctl_table *ctl, int write,
void __user *buffer, size_t *lenp,
loff_t *ppos);
+static int proc_sctp_do_auth(struct ctl_table *ctl, int write,
+ void __user *buffer, size_t *lenp,
+ loff_t *ppos);
static struct ctl_table sctp_table[] = {
{
@@ -266,7 +269,7 @@ static struct ctl_table sctp_net_table[] = {
.data = &init_net.sctp.auth_enable,
.maxlen = sizeof(int),
.mode = 0644,
- .proc_handler = proc_dointvec,
+ .proc_handler = proc_sctp_do_auth,
},
{
.procname = "addr_scope_policy",
@@ -400,6 +403,37 @@ static int proc_sctp_do_rto_max(struct ctl_table *ctl, int write,
return ret;
}
+static int proc_sctp_do_auth(struct ctl_table *ctl, int write,
+ void __user *buffer, size_t *lenp,
+ loff_t *ppos)
+{
+ struct net *net = current->nsproxy->net_ns;
+ struct ctl_table tbl;
+ int new_value, ret;
+
+ memset(&tbl, 0, sizeof(struct ctl_table));
+ tbl.maxlen = sizeof(unsigned int);
+
+ if (write)
+ tbl.data = &new_value;
+ else
+ tbl.data = &net->sctp.auth_enable;
+
+ ret = proc_dointvec(&tbl, write, buffer, lenp, ppos);
+
+ if (write) {
+ struct sock *sk = net->sctp.ctl_sock;
+
+ net->sctp.auth_enable = new_value;
+ /* Update the value in the control socket */
+ lock_sock(sk);
+ sctp_sk(sk)->ep->auth_enable = new_value;
+ release_sock(sk);
+ }
+
+ return ret;
+}
+
int sctp_sysctl_net_register(struct net *net)
{
struct ctl_table *table;
--
1.9.1
next prev parent reply other threads:[~2014-06-17 21:52 UTC|newest]
Thread overview: 215+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-17 21:41 [3.13.y.z extended stable] Linux 3.13.11.4 stable review Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 001/212] SUNRPC: Ensure that call_connect times out correctly Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 002/212] SUNRPC: Ensure call_connect_status() deals correctly with SOFTCONN tasks Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 003/212] net: sctp: wake up all assocs if sndbuf policy is per socket Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 004/212] net: sctp: test if association is dead in sctp_wake_up_waiters Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 005/212] l2tp: take PMTU from tunnel UDP socket Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 006/212] net: core: don't account for udp header size when computing seglen Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 007/212] bonding: Remove debug_fs files when module init fails Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 008/212] bridge: Fix double free and memory leak around br_allowed_ingress Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 009/212] ipv6: Limit mtu to 65575 bytes Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 010/212] gre: don't allow to add the same tunnel twice Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 011/212] vti: " Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 012/212] net: ipv4: current group_info should be put after using Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 013/212] ipv4: return valid RTA_IIF on ip route get Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 014/212] filter: prevent nla extensions to peek beyond the end of the message Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 015/212] ip6_gre: don't allow to remove the fb_tunnel_dev Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 016/212] vlan: Fix lockdep warning when vlan dev handle notification Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 017/212] net: Find the nesting level of a given device by type Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 018/212] net: Allow for more then a single subclass for netif_addr_lock Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 019/212] vlan: Fix lockdep warning with stacked vlan devices Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 020/212] macvlan: Fix lockdep warnings with stacked macvlan devices Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 021/212] tg3: update rx_jumbo_pending ring param only when jumbo frames are enabled Kamal Mostafa
2014-06-17 21:41 ` Kamal Mostafa [this message]
2014-06-17 21:41 ` [PATCH 3.13 023/212] rtnetlink: Warn when interface's information won't fit in our packet Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 024/212] rtnetlink: Only supply IFLA_VF_PORTS information when RTEXT_FILTER_VF is set Kamal Mostafa
2014-06-17 21:41 ` [PATCH 3.13 025/212] ipv6: fib: fix fib dump restart Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 026/212] bridge: Handle IFLA_ADDRESS correctly when creating bridge device Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 027/212] sctp: reset flowi4_oif parameter on route lookup Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 028/212] net: qmi_wwan: add Sierra Wireless EM7355 Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 029/212] net: qmi_wwan: add Sierra Wireless MC73xx Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 030/212] net: qmi_wwan: add Sierra Wireless MC7305/MC7355 Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 031/212] net: qmi_wwan: add Olivetti Olicard 500 Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 032/212] net: qmi_wwan: add Alcatel L800MA Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 033/212] net: qmi_wwan: add a number of CMOTech devices Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 034/212] net: qmi_wwan: add a number of Dell devices Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 035/212] slip: fix spinlock variant Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 036/212] net: sctp: Potentially-Failed state should not be reached from unconfirmed state Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 037/212] net: sctp: Don't transition to PF state when transport has exhausted 'Path.Max.Retrans' Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 038/212] mactap: Fix checksum errors for non-gso packets in bridge mode Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 039/212] Revert "macvlan : fix checksums error when we are in bridge mode" Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 040/212] tcp_cubic: fix the range of delayed_ack Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 041/212] vsock: Make transport the proto owner Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 042/212] net: cdc_ncm: fix buffer overflow Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 043/212] ip_tunnel: Set network header properly for IP_ECN_decapsulate() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 044/212] net: cdc_mbim: __vlan_find_dev_deep need rcu_read_lock Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 045/212] net: ipv4: ip_forward: fix inverted local_df test Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 046/212] net: ipv6: send pkttoobig immediately if orig frag size > mtu Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 047/212] ipv4: fib_semantics: increment fib_info_cnt after fib_info allocation Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 048/212] net: cdc_mbim: handle unaccelerated VLAN tagged frames Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 049/212] macvlan: Don't propagate IFF_ALLMULTI changes on down interfaces Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 050/212] sfc: fix calling of free_irq with already free vector Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 051/212] ip6_tunnel: fix potential NULL pointer dereference Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 052/212] net: filter: x86: fix JIT address randomization Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 053/212] net: filter: s390: " Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 054/212] net: avoid dependency of net_get_random_once on nop patching Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 055/212] ipv6: fix calculation of option len in ip6_append_data Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 056/212] rtnetlink: wait for unregistering devices in rtnl_link_unregister() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 057/212] net: gro: make sure skb->cb[] initial content has not to be zero Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 058/212] batman-adv: fix reference counting imbalance while sending fragment Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 059/212] batman-adv: increase orig refcount when storing ref in gw_node Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 060/212] batman-adv: fix local TT check for outgoing arp requests in DAT Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 061/212] ip_tunnel: Initialize the fallback device properly Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 062/212] ipv4: initialise the itag variable in __mkroute_input Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 063/212] net-gro: reset skb->truesize in napi_reuse_skb() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 064/212] netfilter: ipv4: defrag: set local_df flag on defragmented skb Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 065/212] ima: introduce ima_kernel_read() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 066/212] ima: audit log files opened with O_DIRECT flag Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 067/212] percpu: make pcpu_alloc_chunk() use pcpu_mem_free() instead of kfree() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 068/212] workqueue: fix bugs in wq_update_unbound_numa() failure path Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 069/212] [media] fc2580: fix tuning failure on 32-bit arch Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 070/212] memory: mvebu-devbus: fix the conversion of the bus width Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 071/212] ARM: orion5x: fix target ID for crypto SRAM window Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 072/212] workqueue: make rescuer_thread() empty wq->maydays list before exiting Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 073/212] workqueue: fix a possible race condition between rescuer and pwq-release Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 074/212] spi: core: Ignore unsupported Dual/Quad Transfer Mode bits Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 075/212] device_cgroup: rework device access check and exception checking Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 076/212] PCI: mvebu: fix off-by-one in the computed size of the mbus windows Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 077/212] bus: mvebu-mbus: allow several windows with the same target/attribute Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 078/212] PCI: mvebu: split PCIe BARs into multiple MBus windows when needed Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 079/212] ARM: mvebu: fix NOR bus-width in Armada XP GP Device Tree Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 080/212] ARM: mvebu: fix NOR bus-width in Armada XP DB " Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 081/212] ARM: mvebu: fix NOR bus-width in Armada XP OpenBlocks AX3 " Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 082/212] crypto: caam - add allocation failure handling in SPRINTFCAT macro Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 083/212] ARM: common: edma: Fix xbar mapping Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 084/212] clk: Fix double free due to devm_clk_register() Kamal Mostafa
2014-06-17 21:42 ` [PATCH 3.13 085/212] [media] media-device: fix infoleak in ioctl media_enum_entities() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 086/212] ARM: dts: kirkwood: fix mislocated pcie-controller nodes Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 087/212] device_cgroup: check if exception removal is allowed Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 088/212] md: avoid possible spinning md thread at shutdown Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 089/212] ACPI: Remove Kconfig symbol ACPI_PROCFS Kamal Mostafa
2014-06-17 22:26 ` Paul Bolle
2014-06-17 22:41 ` Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 090/212] ACPI: Revert "ACPI: Remove CONFIG_ACPI_PROCFS_POWER and cm_sbsc.c" Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 091/212] ACPI: Revert "ACPI / Battery: Remove battery's proc directory" Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 092/212] NFSd: Move default initialisers from create_client() to alloc_client() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 093/212] NFSd: call rpc_destroy_wait_queue() from free_client() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 094/212] genirq: Provide irq_force_affinity fallback for non-SMP Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 095/212] libata: clean up ZPODD when a port is detached Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 096/212] ACPI: blacklist win8 OSI for Dell Inspiron 7737 Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 097/212] ACPI / blacklist: Add dmi_enable_osi_linux quirk for Asus EEE PC 1015PX Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 098/212] ACPI: Revert "ACPI / AC: convert ACPI ac driver to platform bus" Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 099/212] ACPI / processor: do not mark present at boot but not onlined CPU as onlined Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 100/212] NFSD: Call ->set_acl with a NULL ACL structure if no entries Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 101/212] ALSA: hda - add headset mic detect quirks for three Dell laptops Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 102/212] gpio: mcp23s08: Bug fix of SPI device tree registration Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 103/212] drm/i915/vlv: reset VLV media force wake request register Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 104/212] ARM: dts: i.MX53: Fix ipu register space size Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 105/212] mm, thp: close race between mremap() and split_huge_page() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 106/212] intel_pstate: Set turbo VID for BayTrail Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 107/212] powerpc/powernv: Reset root port in firmware Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 108/212] hrtimer: Set expiry time before switch_hrtimer_base() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 109/212] hwmon: (emc1403) fix inverted store_hyst() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 110/212] hwmon: (emc1403) Fix resource leak on module unload Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 111/212] hwmon: (emc1403) Support full range of known chip revision numbers Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 112/212] iommu/amd: Fix interrupt remapping for aliased devices Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 113/212] ASoC: wm8962: Update register CLASS_D_CONTROL_1 to be non-volatile Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 114/212] [media] V4L2: ov7670: fix a wrong index, potentially Oopsing the kernel from user-space Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 115/212] [media] V4L2: fix VIDIOC_CREATE_BUFS in 64- / 32-bit compatibility mode Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 116/212] x86, mm, hugetlb: Add missing TLB page invalidation for hugetlb_cow() Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 117/212] i2c: designware: Mask all interrupts during i2c controller enable Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 118/212] i2c: s3c2410: resume race fix Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 119/212] i2c: rcar: bail out on zero length transfers Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 120/212] dm crypt: fix cpu hotplug crash by removing per-cpu structure Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 121/212] metag: fix memory barriers Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 122/212] metag: Reduce maximum stack size to 256MB Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 123/212] x86-64, modify_ldt: Make support for 16-bit segments a runtime option Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 124/212] drm/i915: restore backlight precision when converting from ACPI Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 125/212] drm/i915: Increase WM memory latency values on SNB Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 126/212] PCI: shpchp: Check bridge's secondary (not primary) bus speed Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 127/212] parisc: ratelimit userspace segfault printing Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 128/212] parisc: Improve LWS-CAS performance Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 129/212] Target/iser: Fix wrong connection requests list addition Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 130/212] Target/iser: Fix iscsit_accept_np and rdma_cm racy flow Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 131/212] iscsi-target: Change BUG_ON to REJECT in iscsit_process_nop_out Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 132/212] tcm_fc: Fix free-after-use regression in ft_free_cmd Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 133/212] target: Don't allow setting WC emulation if device doesn't support Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 134/212] arm: dts: Fix missing device_type="memory" for ste-ccu8540 Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 135/212] mips: dts: Fix missing device_type="memory" property in memory nodes Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 136/212] arm64: fix pud_huge() for 2-level pagetables Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 137/212] libceph: fix corruption when using page_count 0 page in rbd Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 138/212] clk: tegra: use pll_ref as the pll_e parent Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 139/212] clk: tegra: Fix wrong value written to PLLE_AUX Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 140/212] target: fix memory leak on XCOPY Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 141/212] sysfs: make sure read buffer is zeroed Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 142/212] cfg80211: free sme on connection failures Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 143/212] sched: Sanitize irq accounting madness Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 144/212] sched: Use CPUPRI_NR_PRIORITIES instead of MAX_RT_PRIO in cpupri check Kamal Mostafa
2014-06-17 21:43 ` [PATCH 3.13 145/212] mac80211: fix suspend vs. association race Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 146/212] mac80211: fix on-channel remain-on-channel Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 147/212] af_iucv: wrong mapping of sent and confirmed skbs Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 148/212] perf: Limit perf_event_attr::sample_period to 63 bits Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 149/212] perf: Prevent false warning in perf_swevent_add Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 150/212] drm/gf119-/disp: fix nasty bug which can clobber SOR0's clock setup Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 151/212] drm/radeon: also try GART for CPU accessed buffers Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 152/212] drm/radeon: handle non-VGA class pci devices with ATRM Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 153/212] drm/radeon: fix register typo on si Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 154/212] drm/radeon: avoid segfault on device open when accel is not working Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 155/212] drm/radeon/pm: don't allow debugfs/sysfs access when PX card is off (v2) Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 156/212] can: peak_pci: prevent use after free at netdev removal Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 157/212] nfsd4: remove lockowner when removing lock stateid Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 158/212] nfsd4: warn on finding lockowner without stateid's Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 159/212] dma: mv_xor: Flush descriptors before activating a channel Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 160/212] dmaengine: fix dmaengine_unmap failure Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 161/212] hwpoison, hugetlb: lock_page/unlock_page does not match for handling a free hugepage Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 162/212] mm/memory-failure.c: fix memory leak by race between poison and unpoison Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 163/212] ARM: OMAP3: clock: Back-propagate rate change from cam_mclk to dpll4_m5 on all OMAP3 platforms Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 164/212] dmaengine: dw: went back to plain {request,free}_irq() calls Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 165/212] ARM: omap5: hwmod_data: Correct IDLEMODE for McPDM Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 166/212] Input: synaptics - add min/max quirk for the ThinkPad W540 Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 167/212] ARM: OMAP2+: nand: Fix NAND on OMAP2 and OMAP3 boards Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 168/212] futex: Add another early deadlock detection check Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 169/212] futex: Prevent attaching to kernel threads Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 170/212] ARM: OMAP4: Fix the boot regression with CPU_IDLE enabled Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 171/212] cpufreq: remove race while accessing cur_policy Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 172/212] cpufreq: cpu0: drop wrong devm usage Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 173/212] ARM: imx: fix error handling in ipu device registration Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 174/212] ALSA: hda - Fix onboard audio on Intel H97/Z97 chipsets Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 175/212] ARM: 8051/1: put_user: fix possible data corruption in put_user Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 176/212] ARM: 8064/1: fix v7-M signal return Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 177/212] Input: synaptics - T540p - unify with other LEN0034 models Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 178/212] drm/i915: Only copy back the modified fields to userspace from execbuffer Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 179/212] dm cache: always split discards on cache block boundaries Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 180/212] virtio_blk: don't crash, report error if virtqueue is broken Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 181/212] virtio_blk: fix race between start and stop queue Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 182/212] powerpc: Fix 64 bit builds with binutils 2.24 Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 183/212] powerpc, kexec: Fix "Processor X is stuck" issue during kexec from ST mode Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 184/212] rtmutex: Fix deadlock detector for real Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 185/212] drm/radeon: avoid crash if VM command submission isn't available Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 186/212] drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 187/212] iwlwifi: mvm: fix setting channel in monitor mode Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 188/212] Staging: speakup: Move pasting into a work item Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 189/212] USB: Avoid runtime suspend loops for HCDs that can't handle suspend/resume Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 190/212] can: only rename enabled led triggers when changing the netdev name Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 191/212] USB: io_ti: fix firmware download on big-endian machines (part 2) Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 192/212] USB: ftdi_sio: add NovaTech OrionLXm product ID Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 193/212] USB: serial: option: add support for Novatel E371 PCIe card Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 194/212] USB: cdc-wdm: properly include types.h Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 195/212] md: always set MD_RECOVERY_INTR when aborting a reshape or other "resync" Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 196/212] xhci: delete endpoints from bandwidth list before freeing whole device Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 197/212] md: always set MD_RECOVERY_INTR when interrupting a reshape thread Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 198/212] ALSA: hda/analog - Fix silent output on ASUS A8JN Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 199/212] drm/radeon/dpm: resume fixes for some systems Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 200/212] drm/radeon: use the CP DMA on CIK Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 201/212] ALSA: hda/realtek - Correction of fixup codes for PB V7900 laptop Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 202/212] ALSA: hda/realtek - Fix COEF widget NID for ALC260 replacer fixup Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 203/212] iser-target: Add missing target_put_sess_cmd for ImmedateData failure Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 204/212] iscsi-target: Fix wrong buffer / buffer overrun in iscsi_change_param_value() Kamal Mostafa
2014-06-17 21:44 ` [PATCH 3.13 205/212] percpu-refcount: fix usage of this_cpu_ops Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 206/212] futex-prevent-requeue-pi-on-same-futex.patch futex: Forbid uaddr == uaddr2 in futex_requeue(..., requeue_pi=1) Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 207/212] futex: Validate atomic acquisition in futex_lock_pi_atomic() Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 208/212] futex: Always cleanup owner tid in unlock_pi Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 209/212] futex: Make lookup_pi_state more robust Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 210/212] target: Fix alua_access_state attribute OOPs for un-configured devices Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 211/212] mm: rmap: fix use-after-free in __put_anon_vma Kamal Mostafa
2014-06-17 21:45 ` [PATCH 3.13 212/212] mm: add !pte_present() check on existing hugetlb_entry callbacks Kamal Mostafa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1403041506-13646-23-git-send-email-kamal@canonical.com \
--to=kamal@canonical.com \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=kernel-team@lists.ubuntu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=vyasevic@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®