Update github.com git:// SRC_URIs
[AGL/meta-agl.git] / meta-agl-bsp / meta-freescale-layer / recipes-kernel / linux / files / 0004-Smack-Assign-smack_known_web-label-for-kernel-thread.patch
1 From c8bbb0f916de54610513e376070aea531af19dd6 Mon Sep 17 00:00:00 2001
2 From: jooseong lee <jooseong.lee@samsung.com>
3 Date: Thu, 3 Nov 2016 10:55:43 +0100
4 Subject: [PATCH 4/4] Smack: Assign smack_known_web label for kernel thread's
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 Assign smack_known_web label for kernel thread's socket in the sk_alloc_security hook
10
11 Creating struct sock by sk_alloc function in various kernel subsystems
12 like bluetooth dosen't call smack_socket_post_create(). In such case,
13 received sock label is the floor('_') label and makes access deny.
14
15 Refers-to: https://review.tizen.org/gerrit/#/c/80717/4
16
17 Change-Id: I2e5c9359bfede84a988fd4d4d74cdb9dfdfc52d8
18 Signed-off-by: jooseong lee <jooseong.lee@samsung.com>
19 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
20 ---
21  security/smack/smack_lsm.c | 12 ++++++++++--
22  1 file changed, 10 insertions(+), 2 deletions(-)
23
24 diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
25 index e45f0a3..a3f3ccc 100644
26 --- a/security/smack/smack_lsm.c
27 +++ b/security/smack/smack_lsm.c
28 @@ -2107,8 +2107,16 @@ static int smack_sk_alloc_security(struct sock *sk, int family, gfp_t gfp_flags)
29         if (ssp == NULL)
30                 return -ENOMEM;
31  
32 -       ssp->smk_in = skp;
33 -       ssp->smk_out = skp;
34 +       /*
35 +        * Sockets created by kernel threads receive web label.
36 +        */
37 +       if (unlikely(current->flags & PF_KTHREAD)) {
38 +               ssp->smk_in = &smack_known_web;
39 +               ssp->smk_out = &smack_known_web;
40 +       } else {
41 +               ssp->smk_in = skp;
42 +               ssp->smk_out = skp;
43 +       }
44         ssp->smk_packet = NULL;
45  
46         sk->sk_security = ssp;
47 -- 
48 2.7.4
49