mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
security: add const qualifier to struct sock in various places
A followup change to tcp_request_sock_op would have to drop the 'const' qualifier from the 'route_req' function as the 'security_inet_conn_request' call is moved there - and that function expects a 'struct sock *'. However, it turns out its also possible to add a const qualifier to security_inet_conn_request instead. Signed-off-by: Florian Westphal <fw@strlen.de> Acked-by: James Morris <jamorris@linux.microsoft.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
d4bff72c84
commit
41dd9596d6
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
struct lsm_network_audit {
|
struct lsm_network_audit {
|
||||||
int netif;
|
int netif;
|
||||||
struct sock *sk;
|
const struct sock *sk;
|
||||||
u16 family;
|
u16 family;
|
||||||
__be16 dport;
|
__be16 dport;
|
||||||
__be16 sport;
|
__be16 sport;
|
||||||
|
@@ -301,7 +301,7 @@ LSM_HOOK(void, LSM_RET_VOID, sk_clone_security, const struct sock *sk,
|
|||||||
struct sock *newsk)
|
struct sock *newsk)
|
||||||
LSM_HOOK(void, LSM_RET_VOID, sk_getsecid, struct sock *sk, u32 *secid)
|
LSM_HOOK(void, LSM_RET_VOID, sk_getsecid, struct sock *sk, u32 *secid)
|
||||||
LSM_HOOK(void, LSM_RET_VOID, sock_graft, struct sock *sk, struct socket *parent)
|
LSM_HOOK(void, LSM_RET_VOID, sock_graft, struct sock *sk, struct socket *parent)
|
||||||
LSM_HOOK(int, 0, inet_conn_request, struct sock *sk, struct sk_buff *skb,
|
LSM_HOOK(int, 0, inet_conn_request, const struct sock *sk, struct sk_buff *skb,
|
||||||
struct request_sock *req)
|
struct request_sock *req)
|
||||||
LSM_HOOK(void, LSM_RET_VOID, inet_csk_clone, struct sock *newsk,
|
LSM_HOOK(void, LSM_RET_VOID, inet_csk_clone, struct sock *newsk,
|
||||||
const struct request_sock *req)
|
const struct request_sock *req)
|
||||||
|
@@ -1358,7 +1358,7 @@ void security_sk_clone(const struct sock *sk, struct sock *newsk);
|
|||||||
void security_sk_classify_flow(struct sock *sk, struct flowi *fl);
|
void security_sk_classify_flow(struct sock *sk, struct flowi *fl);
|
||||||
void security_req_classify_flow(const struct request_sock *req, struct flowi *fl);
|
void security_req_classify_flow(const struct request_sock *req, struct flowi *fl);
|
||||||
void security_sock_graft(struct sock*sk, struct socket *parent);
|
void security_sock_graft(struct sock*sk, struct socket *parent);
|
||||||
int security_inet_conn_request(struct sock *sk,
|
int security_inet_conn_request(const struct sock *sk,
|
||||||
struct sk_buff *skb, struct request_sock *req);
|
struct sk_buff *skb, struct request_sock *req);
|
||||||
void security_inet_csk_clone(struct sock *newsk,
|
void security_inet_csk_clone(struct sock *newsk,
|
||||||
const struct request_sock *req);
|
const struct request_sock *req);
|
||||||
@@ -1519,7 +1519,7 @@ static inline void security_sock_graft(struct sock *sk, struct socket *parent)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int security_inet_conn_request(struct sock *sk,
|
static inline int security_inet_conn_request(const struct sock *sk,
|
||||||
struct sk_buff *skb, struct request_sock *req)
|
struct sk_buff *skb, struct request_sock *req)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -107,6 +107,6 @@ int aa_sock_file_perm(struct aa_label *label, const char *op, u32 request,
|
|||||||
struct socket *sock);
|
struct socket *sock);
|
||||||
|
|
||||||
int apparmor_secmark_check(struct aa_label *label, char *op, u32 request,
|
int apparmor_secmark_check(struct aa_label *label, char *op, u32 request,
|
||||||
u32 secid, struct sock *sk);
|
u32 secid, const struct sock *sk);
|
||||||
|
|
||||||
#endif /* __AA_NET_H */
|
#endif /* __AA_NET_H */
|
||||||
|
@@ -1147,7 +1147,7 @@ static void apparmor_sock_graft(struct sock *sk, struct socket *parent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NETWORK_SECMARK
|
#ifdef CONFIG_NETWORK_SECMARK
|
||||||
static int apparmor_inet_conn_request(struct sock *sk, struct sk_buff *skb,
|
static int apparmor_inet_conn_request(const struct sock *sk, struct sk_buff *skb,
|
||||||
struct request_sock *req)
|
struct request_sock *req)
|
||||||
{
|
{
|
||||||
struct aa_sk_ctx *ctx = SK_CTX(sk);
|
struct aa_sk_ctx *ctx = SK_CTX(sk);
|
||||||
|
@@ -211,7 +211,7 @@ static int apparmor_secmark_init(struct aa_secmark *secmark)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int aa_secmark_perm(struct aa_profile *profile, u32 request, u32 secid,
|
static int aa_secmark_perm(struct aa_profile *profile, u32 request, u32 secid,
|
||||||
struct common_audit_data *sa, struct sock *sk)
|
struct common_audit_data *sa)
|
||||||
{
|
{
|
||||||
int i, ret;
|
int i, ret;
|
||||||
struct aa_perms perms = { };
|
struct aa_perms perms = { };
|
||||||
@@ -244,13 +244,13 @@ static int aa_secmark_perm(struct aa_profile *profile, u32 request, u32 secid,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int apparmor_secmark_check(struct aa_label *label, char *op, u32 request,
|
int apparmor_secmark_check(struct aa_label *label, char *op, u32 request,
|
||||||
u32 secid, struct sock *sk)
|
u32 secid, const struct sock *sk)
|
||||||
{
|
{
|
||||||
struct aa_profile *profile;
|
struct aa_profile *profile;
|
||||||
DEFINE_AUDIT_SK(sa, op, sk);
|
DEFINE_AUDIT_SK(sa, op, sk);
|
||||||
|
|
||||||
return fn_for_each_confined(label, profile,
|
return fn_for_each_confined(label, profile,
|
||||||
aa_secmark_perm(profile, request, secid,
|
aa_secmark_perm(profile, request, secid,
|
||||||
&sa, sk));
|
&sa));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -183,7 +183,7 @@ int ipv6_skb_to_auditdata(struct sk_buff *skb,
|
|||||||
|
|
||||||
|
|
||||||
static inline void print_ipv6_addr(struct audit_buffer *ab,
|
static inline void print_ipv6_addr(struct audit_buffer *ab,
|
||||||
struct in6_addr *addr, __be16 port,
|
const struct in6_addr *addr, __be16 port,
|
||||||
char *name1, char *name2)
|
char *name1, char *name2)
|
||||||
{
|
{
|
||||||
if (!ipv6_addr_any(addr))
|
if (!ipv6_addr_any(addr))
|
||||||
@@ -322,7 +322,7 @@ static void dump_common_audit_data(struct audit_buffer *ab,
|
|||||||
}
|
}
|
||||||
case LSM_AUDIT_DATA_NET:
|
case LSM_AUDIT_DATA_NET:
|
||||||
if (a->u.net->sk) {
|
if (a->u.net->sk) {
|
||||||
struct sock *sk = a->u.net->sk;
|
const struct sock *sk = a->u.net->sk;
|
||||||
struct unix_sock *u;
|
struct unix_sock *u;
|
||||||
struct unix_address *addr;
|
struct unix_address *addr;
|
||||||
int len = 0;
|
int len = 0;
|
||||||
|
@@ -2225,7 +2225,7 @@ void security_sock_graft(struct sock *sk, struct socket *parent)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(security_sock_graft);
|
EXPORT_SYMBOL(security_sock_graft);
|
||||||
|
|
||||||
int security_inet_conn_request(struct sock *sk,
|
int security_inet_conn_request(const struct sock *sk,
|
||||||
struct sk_buff *skb, struct request_sock *req)
|
struct sk_buff *skb, struct request_sock *req)
|
||||||
{
|
{
|
||||||
return call_int_hook(inet_conn_request, 0, sk, skb, req);
|
return call_int_hook(inet_conn_request, 0, sk, skb, req);
|
||||||
|
@@ -5355,7 +5355,7 @@ static void selinux_sctp_sk_clone(struct sctp_endpoint *ep, struct sock *sk,
|
|||||||
selinux_netlbl_sctp_sk_clone(sk, newsk);
|
selinux_netlbl_sctp_sk_clone(sk, newsk);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb,
|
static int selinux_inet_conn_request(const struct sock *sk, struct sk_buff *skb,
|
||||||
struct request_sock *req)
|
struct request_sock *req)
|
||||||
{
|
{
|
||||||
struct sk_security_struct *sksec = sk->sk_security;
|
struct sk_security_struct *sksec = sk->sk_security;
|
||||||
|
@@ -3864,7 +3864,7 @@ static inline struct smack_known *smack_from_skb(struct sk_buff *skb)
|
|||||||
*
|
*
|
||||||
* Returns smack_known of the IP options or NULL if that won't work.
|
* Returns smack_known of the IP options or NULL if that won't work.
|
||||||
*/
|
*/
|
||||||
static struct smack_known *smack_from_netlbl(struct sock *sk, u16 family,
|
static struct smack_known *smack_from_netlbl(const struct sock *sk, u16 family,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct netlbl_lsm_secattr secattr;
|
struct netlbl_lsm_secattr secattr;
|
||||||
@@ -4114,7 +4114,7 @@ static void smack_sock_graft(struct sock *sk, struct socket *parent)
|
|||||||
* Returns 0 if a task with the packet label could write to
|
* Returns 0 if a task with the packet label could write to
|
||||||
* the socket, otherwise an error code
|
* the socket, otherwise an error code
|
||||||
*/
|
*/
|
||||||
static int smack_inet_conn_request(struct sock *sk, struct sk_buff *skb,
|
static int smack_inet_conn_request(const struct sock *sk, struct sk_buff *skb,
|
||||||
struct request_sock *req)
|
struct request_sock *req)
|
||||||
{
|
{
|
||||||
u16 family = sk->sk_family;
|
u16 family = sk->sk_family;
|
||||||
|
Reference in New Issue
Block a user