Skip to content

Commit 9045aa2

Browse files
committed
apparmor: remove af_select macro
The af_select macro just adds a layer of unnecessary abstraction that makes following what the code is doing harder. Signed-off-by: John Johansen <john.johansen@canonical.com>
1 parent ce9e3b3 commit 9045aa2

File tree

2 files changed

+9
-36
lines changed

2 files changed

+9
-36
lines changed

security/apparmor/include/net.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,6 @@ static inline struct aa_sk_ctx *aa_sock(const struct sock *sk)
7373
(SK)->sk_protocol)
7474

7575

76-
#define af_select(FAMILY, FN, DEF_FN) \
77-
({ \
78-
int __e; \
79-
switch ((FAMILY)) { \
80-
default: \
81-
__e = DEF_FN; \
82-
} \
83-
__e; \
84-
})
85-
8676
struct aa_secmark {
8777
u8 audit;
8878
u8 deny;

security/apparmor/lsm.c

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,11 +1097,8 @@ static int apparmor_socket_create(int family, int type, int protocol, int kern)
10971097

10981098
label = begin_current_label_crit_section();
10991099
if (!(kern || unconfined(label)))
1100-
error = af_select(family,
1101-
create_perm(label, family, type, protocol),
1102-
aa_af_perm(current_cred(), label,
1103-
OP_CREATE, AA_MAY_CREATE,
1104-
family, type, protocol));
1100+
error = aa_af_perm(current_cred(), label, OP_CREATE,
1101+
AA_MAY_CREATE, family, type, protocol);
11051102
end_current_label_crit_section(label);
11061103

11071104
return error;
@@ -1150,9 +1147,7 @@ static int apparmor_socket_bind(struct socket *sock,
11501147
AA_BUG(!address);
11511148
AA_BUG(in_interrupt());
11521149

1153-
return af_select(sock->sk->sk_family,
1154-
bind_perm(sock, address, addrlen),
1155-
aa_sk_perm(OP_BIND, AA_MAY_BIND, sock->sk));
1150+
return aa_sk_perm(OP_BIND, AA_MAY_BIND, sock->sk);
11561151
}
11571152

11581153
static int apparmor_socket_connect(struct socket *sock,
@@ -1163,9 +1158,7 @@ static int apparmor_socket_connect(struct socket *sock,
11631158
AA_BUG(!address);
11641159
AA_BUG(in_interrupt());
11651160

1166-
return af_select(sock->sk->sk_family,
1167-
connect_perm(sock, address, addrlen),
1168-
aa_sk_perm(OP_CONNECT, AA_MAY_CONNECT, sock->sk));
1161+
return aa_sk_perm(OP_CONNECT, AA_MAY_CONNECT, sock->sk);
11691162
}
11701163

11711164
static int apparmor_socket_listen(struct socket *sock, int backlog)
@@ -1174,9 +1167,7 @@ static int apparmor_socket_listen(struct socket *sock, int backlog)
11741167
AA_BUG(!sock->sk);
11751168
AA_BUG(in_interrupt());
11761169

1177-
return af_select(sock->sk->sk_family,
1178-
listen_perm(sock, backlog),
1179-
aa_sk_perm(OP_LISTEN, AA_MAY_LISTEN, sock->sk));
1170+
return aa_sk_perm(OP_LISTEN, AA_MAY_LISTEN, sock->sk);
11801171
}
11811172

11821173
/*
@@ -1190,9 +1181,7 @@ static int apparmor_socket_accept(struct socket *sock, struct socket *newsock)
11901181
AA_BUG(!newsock);
11911182
AA_BUG(in_interrupt());
11921183

1193-
return af_select(sock->sk->sk_family,
1194-
accept_perm(sock, newsock),
1195-
aa_sk_perm(OP_ACCEPT, AA_MAY_ACCEPT, sock->sk));
1184+
return aa_sk_perm(OP_ACCEPT, AA_MAY_ACCEPT, sock->sk);
11961185
}
11971186

11981187
static int aa_sock_msg_perm(const char *op, u32 request, struct socket *sock,
@@ -1203,9 +1192,7 @@ static int aa_sock_msg_perm(const char *op, u32 request, struct socket *sock,
12031192
AA_BUG(!msg);
12041193
AA_BUG(in_interrupt());
12051194

1206-
return af_select(sock->sk->sk_family,
1207-
msg_perm(op, request, sock, msg, size),
1208-
aa_sk_perm(op, request, sock->sk));
1195+
return aa_sk_perm(op, request, sock->sk);
12091196
}
12101197

12111198
static int apparmor_socket_sendmsg(struct socket *sock,
@@ -1227,9 +1214,7 @@ static int aa_sock_perm(const char *op, u32 request, struct socket *sock)
12271214
AA_BUG(!sock->sk);
12281215
AA_BUG(in_interrupt());
12291216

1230-
return af_select(sock->sk->sk_family,
1231-
sock_perm(op, request, sock),
1232-
aa_sk_perm(op, request, sock->sk));
1217+
return aa_sk_perm(op, request, sock->sk);
12331218
}
12341219

12351220
static int apparmor_socket_getsockname(struct socket *sock)
@@ -1250,9 +1235,7 @@ static int aa_sock_opt_perm(const char *op, u32 request, struct socket *sock,
12501235
AA_BUG(!sock->sk);
12511236
AA_BUG(in_interrupt());
12521237

1253-
return af_select(sock->sk->sk_family,
1254-
opt_perm(op, request, sock, level, optname),
1255-
aa_sk_perm(op, request, sock->sk));
1238+
return aa_sk_perm(op, request, sock->sk);
12561239
}
12571240

12581241
static int apparmor_socket_getsockopt(struct socket *sock, int level,

0 commit comments

Comments
 (0)