lkml.org 
[lkml]   [2004]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 2/2][LSM] remove net related includes from security.h
With this we're back to the times when changing skbuff.h
only triggers rebuild of _net_ related stuff 8)

This uncovered a bug in rmap.h, that was not including
mm.h to get the definition of struct vm_area_struct,
working by luck.

Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: Chris Wright <chrisw@osdl.org>

--- linux-2.6/include/linux/security.h~uninline 2004-10-20 18:01:57.753401840 -0700
+++ linux-2.6/include/linux/security.h 2004-10-20 18:07:29.143022960 -0700
@@ -30,8 +30,6 @@
#include <linux/shm.h>
#include <linux/msg.h>
#include <linux/sched.h>
-#include <linux/skbuff.h>
-#include <linux/netlink.h>

struct ctl_table;

@@ -55,18 +53,14 @@
extern int cap_syslog (int type);
extern int cap_vm_enough_memory (long pages);

-static inline int cap_netlink_send (struct sock *sk, struct sk_buff *skb)
-{
- NETLINK_CB (skb).eff_cap = current->cap_effective;
- return 0;
-}
+struct msghdr;
+struct sk_buff;
+struct sock;
+struct sockaddr;
+struct socket;

-static inline int cap_netlink_recv (struct sk_buff *skb)
-{
- if (!cap_raised (NETLINK_CB (skb).eff_cap, CAP_NET_ADMIN))
- return -EPERM;
- return 0;
-}
+extern int cap_netlink_send(struct sock *sk, struct sk_buff *skb);
+extern int cap_netlink_recv(struct sk_buff *skb);

/*
* Values used in the task_security_ops calls
@@ -2518,11 +2512,6 @@
return -EINVAL;
}

-/*
- * The netlink capability defaults need to be used inline by default
- * (rather than hooking into the capability module) to reduce overhead
- * in the networking code.
- */
static inline int security_netlink_send (struct sock *sk, struct sk_buff *skb)
{
return cap_netlink_send (sk, skb);
--- linux-2.6/include/linux/rmap.h~uninline 2004-10-20 17:51:00.568309160 -0700
+++ linux-2.6/include/linux/rmap.h 2004-10-20 18:04:52.862781168 -0700
@@ -7,6 +7,7 @@
#include <linux/config.h>
#include <linux/list.h>
#include <linux/slab.h>
+#include <linux/mm.h>
#include <linux/spinlock.h>

/*
--- linux-2.6/security/commoncap.c~uninline 2004-10-20 17:51:00.574308248 -0700
+++ linux-2.6/security/commoncap.c 2004-10-20 18:04:52.875779192 -0700
@@ -24,6 +24,23 @@
#include <linux/xattr.h>
#include <linux/hugetlb.h>

+int cap_netlink_send(struct sock *sk, struct sk_buff *skb)
+{
+ NETLINK_CB(skb).eff_cap = current->cap_effective;
+ return 0;
+}
+
+EXPORT_SYMBOL(cap_netlink_send);
+
+int cap_netlink_recv(struct sk_buff *skb)
+{
+ if (!cap_raised(NETLINK_CB(skb).eff_cap, CAP_NET_ADMIN))
+ return -EPERM;
+ return 0;
+}
+
+EXPORT_SYMBOL(cap_netlink_recv);
+
int cap_capable (struct task_struct *tsk, int cap)
{
/* Derived from include/linux/sched.h:capable. */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.030 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site