Commit 66e90b6a authored by John Johansen's avatar John Johansen Committed by Tim Gardner

Revert "UBUNTU: SAUCE: (no-up): apparmor: fix for failed mediation of socket...

Revert "UBUNTU: SAUCE: (no-up): apparmor: fix for failed mediation of socket that is being shutdown"

BugLink: http://bugs.launchpad.net/bugs/1379535

This reverts commit e35fe568.
Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
parent dbcabfda
...@@ -45,10 +45,6 @@ static inline int unix_fs_perm(int op, u32 mask, struct aa_label *label, ...@@ -45,10 +45,6 @@ static inline int unix_fs_perm(int op, u32 mask, struct aa_label *label,
/* socket path has been cleared because it is being shutdown /* socket path has been cleared because it is being shutdown
* can only fall back to original sun_path request * can only fall back to original sun_path request
*/ */
struct aa_sk_cxt *cxt = SK_CXT(&u->sk);
if (cxt->path.dentry)
return aa_path_perm(op, label, &cxt->path, flags, mask,
&cond);
return fn_for_each_confined(label, profile, return fn_for_each_confined(label, profile,
((flags | profile->path_flags) & PATH_MEDIATE_DELETED) ? ((flags | profile->path_flags) & PATH_MEDIATE_DELETED) ?
__aa_path_perm(op, profile, __aa_path_perm(op, profile,
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#define __AA_NET_H #define __AA_NET_H
#include <net/sock.h> #include <net/sock.h>
#include <linux/path.h>
#include "apparmorfs.h" #include "apparmorfs.h"
#include "label.h" #include "label.h"
...@@ -53,7 +52,6 @@ ...@@ -53,7 +52,6 @@
struct aa_sk_cxt { struct aa_sk_cxt {
struct aa_label *label; struct aa_label *label;
struct aa_label *peer; struct aa_label *peer;
struct path path;
}; };
#define SK_CXT(X) (X)->sk_security #define SK_CXT(X) (X)->sk_security
......
...@@ -747,7 +747,6 @@ static void apparmor_sk_free_security(struct sock *sk) ...@@ -747,7 +747,6 @@ static void apparmor_sk_free_security(struct sock *sk)
SK_CXT(sk) = NULL; SK_CXT(sk) = NULL;
aa_put_label(cxt->label); aa_put_label(cxt->label);
aa_put_label(cxt->peer); aa_put_label(cxt->peer);
path_put(&cxt->path);
kfree(cxt); kfree(cxt);
} }
...@@ -762,17 +761,6 @@ static void apparmor_sk_clone_security(const struct sock *sk, ...@@ -762,17 +761,6 @@ static void apparmor_sk_clone_security(const struct sock *sk,
new->label = aa_get_label(cxt->label); new->label = aa_get_label(cxt->label);
new->peer = aa_get_label(cxt->peer); new->peer = aa_get_label(cxt->peer);
new->path = cxt->path;
path_get(&new->path);
}
static struct path *UNIX_FS_CONN_PATH(struct sock *sk, struct sock *newsk)
{
if (sk->sk_family == PF_UNIX && UNIX_FS(sk))
return &unix_sk(sk)->path;
else if (newsk->sk_family == PF_UNIX && UNIX_FS(newsk))
return &unix_sk(newsk)->path;
return NULL;
} }
/** /**
...@@ -787,7 +775,6 @@ static int apparmor_unix_stream_connect(struct sock *sk, struct sock *peer_sk, ...@@ -787,7 +775,6 @@ static int apparmor_unix_stream_connect(struct sock *sk, struct sock *peer_sk,
struct aa_sk_cxt *peer_cxt = SK_CXT(peer_sk); struct aa_sk_cxt *peer_cxt = SK_CXT(peer_sk);
struct aa_sk_cxt *new_cxt = SK_CXT(newsk); struct aa_sk_cxt *new_cxt = SK_CXT(newsk);
struct aa_label *label; struct aa_label *label;
struct path *path;
int error; int error;
label = aa_begin_current_label(); label = aa_begin_current_label();
...@@ -823,13 +810,6 @@ static int apparmor_unix_stream_connect(struct sock *sk, struct sock *peer_sk, ...@@ -823,13 +810,6 @@ static int apparmor_unix_stream_connect(struct sock *sk, struct sock *peer_sk,
new_cxt->peer = aa_get_label(sk_cxt->label); new_cxt->peer = aa_get_label(sk_cxt->label);
sk_cxt->peer = aa_get_label(peer_cxt->label); sk_cxt->peer = aa_get_label(peer_cxt->label);
path = UNIX_FS_CONN_PATH(sk, peer_sk);
if (path) {
new_cxt->path = *path;
sk_cxt->path = *path;
path_get(path);
path_get(path);
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment