On Wed, 2006-07-12 at 16:15 -0500, Venkat Yekkirala wrote:
> This automatically labels the TCP, Unix stream, and dccp child sockets
> as well as openreqs to be at the same MLS level as the peer.
>
> Signed-off-by: Venkat Yekkirala <[EMAIL PROTECTED]>
> ---
> include/linux/security.h | 43 ++++++++++++++++++++++++++
> include/net/request_sock.h | 1
> include/net/sock.h | 1
> net/dccp/ipv4.c | 3 +
> net/dccp/ipv6.c | 7 +++-
> net/ipv4/inet_connection_sock.c | 4 +-
> net/ipv4/syncookies.c | 6 +++
> net/ipv4/tcp_ipv4.c | 3 +
> net/ipv6/tcp_ipv6.c | 6 ++-
> security/dummy.c | 18 +++++++++++
> security/selinux/hooks.c | 49 +++++++++++++++++++++++++++++-
> security/selinux/xfrm.c | 1
> 12 files changed, 134 insertions(+), 8 deletions(-)
>
> --- linux-2.6.17.sk_policy/security/selinux/hooks.c 2006-07-12
> 09:18:59.000000000 -0500
> +++ linux-2.6.17/security/selinux/hooks.c 2006-07-12 14:55:16.000000000
> -0500
> @@ -3324,7 +3324,12 @@ static int selinux_socket_unix_stream_co
> /* server child socket */
> ssec = newsk->sk_security;
> ssec->peer_sid = isec->sid;
> -
> + err = security_sid_mls_copy(other_isec->sid, ssec->peer_sid,
> &ssec->sid);
> + if (err) {
> + printk(KERN_ERR "ERROR: security_sid_mls_copy failed.");
Drop the printk please. It isn't precisely a useful error message
anyway. If you need to audit such failures, then do it within the
function and use audit_log, and make the message useful.
> +int selinux_inet_conn_request(struct sock *sk, struct sk_buff *skb,
> + struct request_sock *req)
> +{
> + struct sk_security_struct *sksec = sk->sk_security;
> + int err;
> + u32 newsid = 0;
> + u32 peersid;
> +
> + BUG_ON(selinux_xfrm_decode_session(skb, &peersid, 0));
Doesn't seem suitable for a BUG_ON.
> +
> + err = security_sid_mls_copy(sksec->sid, peersid, &newsid);
> + if (err) {
> + printk(KERN_ERR "ERROR: security_sid_mls_copy failed.");
Drop the printk.
--
Stephen Smalley
National Security Agency
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html