Casey Schaufler
e114e47377
Smack: Simplified Mandatory Access Control Kernel
...
Smack is the Simplified Mandatory Access Control Kernel.
Smack implements mandatory access control (MAC) using labels
attached to tasks and data containers, including files, SVIPC,
and other tasks. Smack is a kernel based scheme that requires
an absolute minimum of application support and a very small
amount of configuration data.
Smack uses extended attributes and
provides a set of general mount options, borrowing technics used
elsewhere. Smack uses netlabel for CIPSO labeling. Smack provides
a pseudo-filesystem smackfs that is used for manipulation of
system Smack attributes.
The patch, patches for ls and sshd, a README, a startup script,
and x86 binaries for ls and sshd are also available on
http://www.schaufler-ca.com
Development has been done using Fedora Core 7 in a virtual machine
environment and on an old Sony laptop.
Smack provides mandatory access controls based on the label attached
to a task and the label attached to the object it is attempting to
access. Smack labels are deliberately short (1-23 characters) text
strings. Single character labels using special characters are reserved
for system use. The only operation applied to Smack labels is equality
comparison. No wildcards or expressions, regular or otherwise, are
used. Smack labels are composed of printable characters and may not
include "/".
A file always gets the Smack label of the task that created it.
Smack defines and uses these labels:
"*" - pronounced "star"
"_" - pronounced "floor"
"^" - pronounced "hat"
"?" - pronounced "huh"
The access rules enforced by Smack are, in order:
1. Any access requested by a task labeled "*" is denied.
2. A read or execute access requested by a task labeled "^"
is permitted.
3. A read or execute access requested on an object labeled "_"
is permitted.
4. Any access requested on an object labeled "*" is permitted.
5. Any access requested by a task on an object with the same
label is permitted.
6. Any access requested that is explicitly defined in the loaded
rule set is permitted.
7. Any other access is denied.
Rules may be explicitly defined by writing subject,object,access
triples to /smack/load.
Smack rule sets can be easily defined that describe Bell&LaPadula
sensitivity, Biba integrity, and a variety of interesting
configurations. Smack rule sets can be modified on the fly to
accommodate changes in the operating environment or even the time
of day.
Some practical use cases:
Hierarchical levels. The less common of the two usual uses
for MLS systems is to define hierarchical levels, often
unclassified, confidential, secret, and so on. To set up smack
to support this, these rules could be defined:
C Unclass rx
S C rx
S Unclass rx
TS S rx
TS C rx
TS Unclass rx
A TS process can read S, C, and Unclass data, but cannot write it.
An S process can read C and Unclass. Note that specifying that
TS can read S and S can read C does not imply TS can read C, it
has to be explicitly stated.
Non-hierarchical categories. This is the more common of the
usual uses for an MLS system. Since the default rule is that a
subject cannot access an object with a different label no
access rules are required to implement compartmentalization.
A case that the Bell & LaPadula policy does not allow is demonstrated
with this Smack access rule:
A case that Bell&LaPadula does not allow that Smack does:
ESPN ABC r
ABC ESPN r
On my portable video device I have two applications, one that
shows ABC programming and the other ESPN programming. ESPN wants
to show me sport stories that show up as news, and ABC will
only provide minimal information about a sports story if ESPN
is covering it. Each side can look at the other's info, neither
can change the other. Neither can see what FOX is up to, which
is just as well all things considered.
Another case that I especially like:
SatData Guard w
Guard Publish w
A program running with the Guard label opens a UDP socket and
accepts messages sent by a program running with a SatData label.
The Guard program inspects the message to ensure it is wholesome
and if it is sends it to a program running with the Publish label.
This program then puts the information passed in an appropriate
place. Note that the Guard program cannot write to a Publish
file system object because file system semanitic require read as
well as write.
The four cases (categories, levels, mutual read, guardbox) here
are all quite real, and problems I've been asked to solve over
the years. The first two are easy to do with traditonal MLS systems
while the last two you can't without invoking privilege, at least
for a while.
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Cc: Joshua Brindle <method@manicmethod.com>
Cc: Paul Moore <paul.moore@hp.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: James Morris <jmorris@namei.org>
Cc: "Ahmed S. Darwish" <darwish.07@gmail.com>
Cc: Andrew G. Morgan <morgan@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-05 09:44:20 -08:00
..
amba
byteorder
can
[CAN]: Add missing Kbuild entries
2008-01-28 14:54:13 -08:00
dvb
hdlc
i2c
gpiolib: pca9539 i2c gpio expander support
2008-02-05 09:44:13 -08:00
isdn
lockd
NLM: Fix sign of length of NLM variable length strings
2008-02-01 16:42:02 -05:00
mlx4
mmc
mmc: remove unused 'mode' from the mmc_host structure
2007-12-12 20:01:01 +01:00
mtd
netfilter
[NETFILTER]: nf_{conntrack,nat}_pptp: annotate PPtP helper with const
2008-01-31 19:28:09 -08:00
netfilter_arp
[NETFILTER]: arp_tables: netns preparation
2008-01-31 19:27:40 -08:00
netfilter_bridge
netfilter_ipv4
[NETFILTER]: x_tables: return new table from {arp,ip,ip6}t_register_table()
2008-01-31 19:27:36 -08:00
netfilter_ipv6
[NETFILTER]: ip6_tables: netns preparation
2008-01-31 19:27:39 -08:00
nfsd
nfsd: Allow AIX client to read dir containing mountpoints
2008-02-01 16:42:06 -05:00
raid
rtc
spi
mcp23s08 spi gpio expander support
2008-02-05 09:44:13 -08:00
ssb
ssb: Add boardflags_hi field to the sprom data structure
2008-01-28 15:09:52 -08:00
sunrpc
SUNRPC: spin svc_rqst initialization to its own function
2008-02-01 16:42:15 -05:00
tc_act
[NET] tc_nat: header install
2007-12-26 19:36:35 -08:00
tc_ematch
usb
USB: fix codingstyle issues in include/linux/usb/
2008-02-01 14:35:07 -08:00
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h
ACPI: make _OSI(Linux) console messages smarter
2008-01-23 21:26:15 -05:00
acpi_pmtmr.h
x86: move pmtmr related declarations
2008-01-30 13:30:18 +01:00
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apm_event{,info}_t are userspace types
2007-12-17 19:28:16 -08:00
arcdevice.h
arcfb.h
async_tx.h
ata.h
libata annotations and fixes
2008-01-23 05:24:15 -05:00
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
[ATM]: [br2864] whitespace cleanup
2008-01-28 15:00:14 -08:00
atmclip.h
atmdev.h
[ATM]: Convert struct class_device to struct device
2008-01-28 15:00:12 -08:00
atmel-ssc.h
atmel_pdc.h
atmel_serial.h
[ARM] 4660/3: at91: allow selecting UART for early kernel messages
2008-02-04 13:16:39 +00:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
[SCSI] attribute_container: update to use the group interface
2008-01-23 11:29:17 -06:00
audit.h
[AUDIT] break large execve argument logging into smaller messages
2008-02-01 14:23:55 -05:00
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h
remove BITS_TO_TYPE macro
2007-10-19 11:53:42 -07:00
bitops.h
remove BITS_TO_TYPE macro
2007-10-19 11:53:42 -07:00
bitrev.h
blkdev.h
block: kill swap_io_context()
2008-02-01 11:34:49 +01:00
blkpg.h
blktrace_api.h
Fix blktrace compile warning
2008-01-29 21:55:15 +01:00
blockgroup_lock.h
bootmem.h
Revert "x86_64: allocate sparsemem memmap above 4G"
2007-10-29 14:05:37 -07:00
bottom_half.h
bpqether.h
bsg.h
buffer_head.h
Add buffer head related helper functions
2008-01-28 23:58:26 -05:00
bug.h
cache.h
calc64.h
can.h
[CAN]: Add PF_CAN core module
2008-01-28 14:54:10 -08:00
capability.h
Smack: Simplified Mandatory Access Control Kernel
2008-02-05 09:44:20 -08:00
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
ide-cd: move lba_to_msf() and msf_to_lba() to <linux/cdrom.h>
2008-02-01 23:09:24 +01:00
cfag12864b.h
cgroup.h
Add cgroupstats
2007-10-19 11:53:36 -07:00
cgroup_subsys.h
sched: cpu accounting controller (V2)
2007-12-02 20:04:49 +01:00
cgroupstats.h
Add cgroupstats
2007-10-19 11:53:36 -07:00
chio.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
circ_buf.h
clk.h
clockchips.h
clocksource.h
clocksource: add unregister function to disable unusable clocksources
2008-01-30 13:30:02 +01:00
cm4000_cs.h
cn_proc.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_psdev.h
coff.h
com20020.h
compat.h
timerfd: new timerfd API
2008-02-05 09:44:07 -08:00
compiler-gcc.h
compiler-gcc3.h
remove __attribute_used__
2008-01-28 23:21:18 +01:00
compiler-gcc4.h
remove __attribute_used__
2008-01-28 23:21:18 +01:00
compiler-intel.h
compiler.h
remove __attribute_used__
2008-01-28 23:21:18 +01:00
completion.h
Add wait_for_completion_killable
2007-12-06 17:40:19 -05:00
comstats.h
concap.h
configfs.h
connector.h
[CONNECTOR]: Cleanup struct cn_callback_entry
2008-01-28 15:00:40 -08:00
console.h
console_struct.h
consolemap.h
const.h
x86: add _AT() macro to conditionally cast
2008-01-30 13:32:42 +01:00
cpu.h
cpu-hotplug: fix build on !CONFIG_SMP
2008-01-25 21:08:02 +01:00
cpufreq.h
cpuidle.h
cpuidle: fix HP nx6125 regression
2007-11-19 21:43:22 -05:00
cpumask.h
x86: avoid build warning
2008-01-30 13:31:10 +01:00
cpuset.h
hotplug cpu: migrate a task within its cpuset
2007-10-19 11:53:44 -07:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc7.h
crc16.h
crc32.h
crc32c.h
crypto.h
[CRYPTO] api: Set default CRYPTO_MINALIGN to unsigned long long
2008-01-11 08:17:01 +11:00
cryptohash.h
ctype.h
cuda.h
cyclades.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
Spelling fixes: lenght->length
2008-02-03 15:42:53 +02:00
dca.h
dcache.h
[PATCH] audit: watching subtrees
2007-10-21 02:37:45 -04:00
dccp.h
[DCCP]: Reorganize struct dccp_sock to save 8 bytes
2008-02-03 04:28:53 -08:00
dcookies.h
debug_locks.h
softlockup: automatically detect hung TASK_UNINTERRUPTIBLE tasks
2008-01-25 21:08:02 +01:00
debugfs.h
delay.h
delayacct.h
Add cgroupstats
2007-10-19 11:53:36 -07:00
device-mapper.h
dm: merge max_hw_sector
2007-12-20 17:32:12 +00:00
device.h
iommu sg merging: add device_dma_parameters structure
2008-02-05 09:44:10 -08:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm: Split lock mode and flag constants into a sharable header.
2008-01-25 14:46:04 -08:00
dlm_device.h
dlm_netlink.h
dlmconstants.h
dlm: Split lock mode and flag constants into a sharable header.
2008-01-25 14:46:04 -08:00
dm-ioctl.h
dm io:ctl use constant struct size
2007-10-20 02:00:58 +01:00
dm9000.h
dma-mapping.h
iommu sg merging: add accessors for segment_boundary_mask in device_dma_parameters()
2008-02-05 09:44:11 -08:00
dmaengine.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
dmapool.h
dmar.h
Intel IOMMU: DMAR fault handling support
2007-10-22 08:13:19 -07:00
dmi.h
DMI: create dmi_get_slot()
2008-01-23 21:23:13 -05:00
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1wm.h
ds1286.h
ds17287rtc.h
dtlk.h
edac.h
edd.h
Make asm-x86/bootparam.h includable from userspace.
2007-10-23 15:49:47 +10:00
eeprom_93cx6.h
efi.h
kexec: add BSS to resource tree
2007-10-22 08:13:19 -07:00
efs_dir.h
efs_fs.h
efs: new export ops
2007-10-22 08:13:20 -07:00
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
block: let elv_register() return void
2007-12-18 08:29:28 +01:00
elf-em.h
elf-fdpic.h
elf.h
x86: x86 core dump TLS
2008-01-30 13:31:56 +01:00
elfcore-compat.h
elfcore.h
elfnote.h
remove __attribute_used__
2008-01-28 23:21:18 +01:00
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
eventfd.h
eventpoll.h
x86 merge fallout: uml
2007-10-29 07:41:32 -07:00
exportfs.h
exportfs: update documentation
2007-10-22 08:13:21 -07:00
ext2_fs.h
fix up ext2_fs.h for userspace after reservations backport
2007-11-29 09:24:53 -08:00
ext2_fs_sb.h
ext3_fs.h
Fix 64KB blocksize in ext3 directories
2007-11-14 18:45:43 -08:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
ext4_fs.h
ext4: Add multi block allocator for ext4
2008-01-29 00:19:52 -05:00
ext4_fs_extents.h
ext4: Add new functions for searching extent tree
2008-01-28 23:58:27 -05:00
ext4_fs_i.h
ext4: Add multi block allocator for ext4
2008-01-29 00:19:52 -05:00
ext4_fs_sb.h
ext4: Add multi block allocator for ext4
2008-01-29 00:19:52 -05:00
ext4_jbd2.h
f75375s.h
hwmon: (f75375s) Allow setting up fans with platform_data
2007-11-08 08:42:46 -05:00
fadvise.h
falloc.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
fib_rules.h
file.h
filter.h
firewire-cdev.h
firewire-constants.h
firmware.h
flat.h
font.h
freezer.h
fs.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial
2008-02-04 07:58:52 -08:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fsl_devices.h
fsnotify.h
[PATCH] pass dentry to audit_inode()/audit_inode_child()
2007-10-21 02:37:18 -04:00
fuse.h
fuse: pass open flags to read and write
2007-11-29 09:24:54 -08:00
futex.h
futex: Add bitset conditional wait/wakeup functionality
2008-02-01 17:45:14 +01:00
gameport.h
gen_stats.h
genalloc.h
generic_acl.h
generic_serial.h
genetlink.h
genhd.h
Driver core: convert block from raw kobjects to core devices
2008-01-24 20:40:36 -08:00
getcpu.h
gfp.h
Page allocator: clean up pcp draining functions
2008-02-05 09:44:17 -08:00
gfs2_ondisk.h
gigaset_dev.h
gpio_keys.h
gpio_mouse.h
hardirq.h
sched: remove the !PREEMPT_BKL code
2008-01-25 21:08:33 +01:00
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
Spelling fixes: lenght->length
2008-02-03 15:42:53 +02:00
hdsmart.h
<linux/hdsmart.h> is not used by kernel code
2008-02-01 23:09:34 +01:00
hid-debug.h
hid.h
HID: Support Samsung IR remote
2008-01-28 14:51:22 +01:00
hiddev.h
hidraw.h
highmem.h
mm: fix PageUptodate data race
2008-02-05 09:44:19 -08:00
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
x86: nuke a ton of dead hpet code
2008-01-30 13:30:27 +01:00
hrtimer.h
timerfd: new timerfd API
2008-02-05 09:44:07 -08:00
htirq.h
hugetlb.h
Revert "hugetlb: Add hugetlb_dynamic_pool sysctl"
2007-12-17 19:28:17 -08:00
hw_random.h
[HWRNG]: move status polling loop to data_present callbacks
2008-01-11 08:16:16 +11:00
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-dev.h
i2c-gpio.h
i2c-id.h
i2c: Discard unused driver IDs
2008-01-27 18:14:50 +01:00
i2c-ocores.h
i2c-pnx.h
i2c-pxa.h
i2c.h
i2c: Add i2c_new_dummy() utility
2008-01-27 18:14:52 +01:00
i2o-dev.h
i2o.h
i8k.h
i8042.h
Input: i8042 - export i8042_command()
2007-10-22 00:56:52 -04:00
ibmtr.h
icmp.h
icmpv6.h
ide.h
ide: move check_dma_crc() to ide-dma.c
2008-02-02 19:56:47 +01:00
idr.h
ieee80211.h
iwlwifi: Fix MIMO PS mode
2008-02-01 16:13:16 -05:00
if.h
[IPV6]: Add RFC4214 support
2008-01-28 14:55:09 -08:00
if_addr.h
if_addrlabel.h
[IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table.
2008-01-28 14:53:58 -08:00
if_arcnet.h
if_arp.h
[CAN]: Allocate protocol numbers for PF_CAN
2008-01-28 14:54:09 -08:00
if_bonding.h
bonding: Add new layer2+3 hash for xor/802.3ad modes
2007-12-07 15:00:32 -05:00
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
[ETHER]: Bring back MAC_FMT
2008-01-28 15:08:27 -08:00
if_fc.h
if_fddi.h
if_frad.h
annotate the rest of drivers/net/wan
2008-01-28 15:07:58 -08:00
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_tr.h
[TR]: Use ctl paths to register net/token-ring/ table
2008-01-28 14:56:28 -08:00
if_tun.h
annotate tun
2008-01-28 15:07:57 -08:00
if_tunnel.h
[IPV6]: Add RFC4214 support
2008-01-28 14:55:09 -08:00
if_vlan.h
[VLAN]: Turn __constant_htons into htons where possible
2008-01-28 15:08:32 -08:00
if_wanpipe.h
igmp.h
in.h
[IPV4]: Enable use of 240/4 address space.
2008-01-28 15:08:44 -08:00
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
[LRO]: fix lro_gen_skb() alignment
2007-12-05 05:37:32 -08:00
inetdevice.h
[IPV4]: Make struct ipv4_devconf static.
2008-01-31 19:28:31 -08:00
init.h
Remove __INIT_REFOK and __INITDATA_REFOK
2008-02-03 08:58:07 +01:00
init_ohci1394_dma.h
x86: early boot debugging via FireWire (ohci1394_dma=early)
2008-01-30 13:34:11 +01:00
init_task.h
capabilities: introduce per-process capability bounding set
2008-02-05 09:44:20 -08:00
initrd.h
inotify.h
[PATCH] new helper - inotify_evict_watch()
2007-10-21 02:37:38 -04:00
input-polldev.h
input.h
rfkill: add the WiMAX radio type
2008-01-31 19:26:46 -08:00
interrupt.h
Preempt-RCU: Use softirq instead of tasklets for
2008-01-25 21:08:23 +01:00
io.h
ioc3.h
ioc4.h
iocontext.h
block: cfq: make the io contect sharing lockless
2008-01-28 10:50:33 +01:00
ioctl.h
iommu-helper.h
iommu sg: add IOMMU helper functions for the free area management
2008-02-05 09:44:11 -08:00
ioport.h
x86: remove extern declarations for code, data, bss resources
2008-01-30 13:30:32 +01:00
ioprio.h
ioprio: move io priority from task_struct to io_context
2008-01-28 10:50:29 +01:00
ip.h
ip6_tunnel.h
ipc.h
virtualization of sysv msg queues is incomplete
2007-10-19 11:53:48 -07:00
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
IPMI: fix comparison in demangle_device_id
2007-10-30 08:06:55 -07:00
ipsec.h
ipv6.h
[NETNS]: Tcp-v6 sockets per-net lookup.
2008-01-31 19:28:20 -08:00
ipv6_route.h
ipx.h
irda.h
irq.h
genirq: add unlocked version of set_irq_handler()
2007-12-18 18:05:58 +01:00
irq_cpustat.h
irqflags.h
irqreturn.h
isa.h
isapnp.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd: Fix assertion failure in fs/jbd/checkpoint.c
2007-12-05 09:21:20 -08:00
jbd2.h
jbd2: add lockdep support
2008-01-28 23:58:27 -05:00
jffs2.h
jhash.h
jiffies.h
timers: don't #error on higher HZ values
2008-01-25 21:08:34 +01:00
journal-head.h
joystick.h
kallsyms.h
Missing include file in kallsyms.h
2007-11-05 15:12:32 -08:00
kbd_diacr.h
kbd_kern.h
Kbuild
Hibernation: Introduce exportable suspend ioctls header (rev. 2)
2008-02-01 18:30:53 -05:00
kd.h
Fix <linux/kd.h> usage in userspace
2007-11-29 09:24:52 -08:00
kdebug.h
kdev_t.h
kernel.h
x86: make early printk selectable on 64-bit as well
2008-01-30 13:33:06 +01:00
kernel_stat.h
kernelcapi.h
kexec.h
Extended crashkernel command line
2007-10-19 11:53:49 -07:00
key-type.h
key-ui.h
key.h
KEYS: fix macro
2008-01-08 16:10:35 -08:00
keyboard.h
Console keyboard events and accessibility
2007-10-19 11:53:33 -07:00
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
Kobject: fix coding style issues in kobject.h
2008-01-24 21:27:06 -08:00
kprobes.h
x86: kprobes: add kprobes smoke tests that run on boot
2008-01-30 13:32:53 +01:00
kref.h
kref: add kref_set()
2008-01-24 20:40:05 -08:00
ks0108.h
kthread.h
ktime.h
kvm.h
KVM: Portability: Move kvm_fpu to asm-x86/kvm.h
2008-01-30 18:01:22 +02:00
kvm_host.h
KVM: Move apic timer migration away from critical section
2008-01-30 18:01:22 +02:00
kvm_para.h
KVM: Put kvm_para.h include outside __KERNEL__
2008-01-30 18:01:22 +02:00
kvm_types.h
KVM: Move arch dependent files to new directory arch/x86/kvm/
2008-01-30 18:01:18 +02:00
lapb.h
latency.h
latencytop.h
sched: latencytop support
2008-01-25 21:08:34 +01:00
lcd.h
leds.h
leds: Fix led trigger locking bugs
2007-12-07 09:06:53 +00:00
lguest.h
lguest: documentation update
2007-10-25 15:02:50 +10:00
lguest_launcher.h
virtio: simplify config mechanism.
2008-02-04 23:49:57 +11:00
libata.h
libata: factor out ata_pci_activate_sff_host() from ata_pci_one()
2008-01-23 05:24:16 -05:00
libps2.h
license.h
limits.h
linkage.h
x86: add ENDPROC() markers
2008-01-30 13:33:13 +01:00
linux_logo.h
list.h
kernel-api docbook: fix content problems
2007-10-19 11:53:35 -07:00
llc.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
lm_interface.h
lock_dlm_plock.h
lockdep.h
workqueue: debug flushing deadlocks with lockdep
2007-10-19 11:53:38 -07:00
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
Task Control Groups: basic task cgroup framework
2007-10-19 11:53:36 -07:00
major.h
maple.h
marker.h
Linux Kernel Markers - Samples
2007-10-19 11:53:55 -07:00
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
rtc: fall back to requesting only the ports we actually use
2007-11-14 18:45:41 -08:00
mca-legacy.h
mca.h
mdio-bitbang.h
memory.h
memory hotplug: make kmem_cache_node for SLUB on memory online avoid panic
2007-10-22 08:13:17 -07:00
memory_hotplug.h
mempolicy.h
Task Control Groups: make cpusets a client of cgroups
2007-10-19 11:53:36 -07:00
mempool.h
meye.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm.h
maps4: introduce a generic page walker
2008-02-05 09:44:16 -08:00
mm_inline.h
mm_types.h
mman.h
mmtimer.h
mmzone.h
Page allocator: get rid of the list of cold pages
2008-02-05 09:44:18 -08:00
mnt_namespace.h
mod_devicetable.h
sdio: fix module device table definition for m68k
2008-02-05 09:44:08 -08:00
module.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
2008-01-29 22:46:14 +11:00
moduleloader.h
moduleparam.h
remove __attribute_used__
2008-01-28 23:21:18 +01:00
mount.h
mpage.h
mqueue.h
mroute.h
[IPV4]: Clean the ip_sockglue.c from some ugly ifdefs
2007-11-07 04:08:55 -08:00
msdos_fs.h
msg.h
ipc: store ipcs into IDRs
2007-10-19 11:53:44 -07:00
msi.h
mtio.h
mutex-debug.h
mutex.h
Add mutex_lock_killable
2007-12-06 17:37:59 -05:00
mv643xx.h
[I2C] Split mv643xx I2C platform support
2008-01-26 15:03:59 +00:00
mv643xx_eth.h
mv643xx_eth: Fix MV643XX_ETH offsets used by Pegasos 2
2007-10-30 14:32:16 -04:00
mv643xx_i2c.h
[I2C] i2c-mv64xxx: Don't set i2c_adapter.retries
2008-01-26 15:04:01 +00:00
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h
[NET]: Remove the empty net_table
2008-01-28 14:56:29 -08:00
netdevice.h
[VLAN]: set_rx_mode support for unicast address list
2008-01-31 19:28:24 -08:00
netfilter.h
[NETFILTER]: Extend nf_inet_addr with in{,6}_addr
2008-01-28 15:02:22 -08:00
netfilter_arp.h
netfilter_bridge.h
[NETFILTER]: bridge: fix missing link layer headers on outgoing routed packets
2007-12-14 13:54:39 -08:00
netfilter_decnet.h
netfilter_ipv4.h
[NETFILTER]: Introduce NF_INET_ hook values
2008-01-28 14:53:55 -08:00
netfilter_ipv6.h
[NETFILTER]: Introduce NF_INET_ hook values
2008-01-28 14:53:55 -08:00
netlink.h
[IPV4] fib_trie: rescan if key is lost during dump
2008-01-31 19:28:23 -08:00
netpoll.h
[NETPOLL]: Don't need rx_flags.
2008-01-28 14:54:18 -08:00
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h
Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc
2008-02-01 11:45:47 +11:00
nfs_fs_i.h
nfs_fs_sb.h
NFS: Invoke nlmclnt_init during NFS mount processing
2008-01-30 02:06:07 -05:00
nfs_idmap.h
nfs_mount.h
NFS: Switch from intr mount option to TASK_KILLABLE
2007-12-06 17:40:25 -05:00
nfs_page.h
NFS: Clean up the write request locking.
2008-01-30 02:05:24 -05:00
nfs_xdr.h
NFS: NFS version number is unsigned
2008-01-30 02:06:08 -05:00
nfsacl.h
nfsd_idmap.h
knfsd: allow cache_register to return error on failure
2008-02-01 16:42:05 -05:00
nl80211.h
cfg80211/nl80211: implement station attribute retrieval
2008-01-28 14:59:52 -08:00
nls.h
nmi.h
node.h
nodemask.h
notifier.h
Hibernation: Add PM_RESTORE_PREPARE and PM_POST_RESTORE notifiers (rev. 2)
2008-02-01 18:30:53 -05:00
nsc_gpio.h
nsproxy.h
Make access to task's nsproxy lighter
2007-10-19 11:53:37 -07:00
nubus.h
numa.h
nvram.h
of.h
[POWERPC] Add of_find_matching_node() helper function
2008-01-17 14:53:22 +11:00
of_device.h
[POWERPC] Add of_find_matching_node() helper function
2008-01-17 14:53:22 +11:00
of_platform.h
oom.h
oprofile.h
page-flags.h
mm: fix PageUptodate data race
2008-02-05 09:44:19 -08:00
page-isolation.h
pageblock-flags.h
pagemap.h
Add lock_page_killable
2007-12-06 17:35:41 -05:00
pagevec.h
param.h
parport.h
[PARPORT] Remove unused 'irq' argument from parport irq functions
2007-10-23 19:53:16 -04:00
parport_pc.h
parser.h
pata_platform.h
libata: pata_platform: make probe and remove functions device type neutral
2008-01-15 10:23:41 -06:00
patchkey.h
pci-acpi.h
PCI ACPI: Added a function to register _OSC with only PCIe devices.
2008-02-01 15:04:29 -08:00
pci.h
iommu sg merging: PCI: add dma segment boundary support
2008-02-05 09:44:12 -08:00
pci_hotplug.h
kset: convert pci hotplug to use kset_create_and_add
2008-01-24 20:40:14 -08:00
pci_ids.h
serial: add ADDI-DATA GmbH Communication cardsin8250_pci.c and pci_ids.h
2008-02-05 09:44:09 -08:00
pci_regs.h
Revert "PCI: PCIE ASPM support"
2008-02-02 11:32:01 -08:00
pcieport_if.h
pcounter.h
[LIB] pcounter : unline too big functions
2008-01-28 15:00:35 -08:00
pda_power.h
pda_power: implement polling
2008-02-02 02:44:34 +03:00
percpu.h
ia64: use generic percpu
2008-01-30 23:27:58 +01:00
percpu_counter.h
personality.h
pfkeyv2.h
[IPSEC]: Add support for combined mode algorithms
2008-01-31 19:27:03 -08:00
pfn.h
pg.h
phantom.h
Misc: phantom, improved data passing
2007-10-19 11:53:41 -07:00
phonedev.h
phy.h
PHYLIB: Locking fixes for PHY I/O potentially sleeping
2008-02-03 04:28:41 -08:00
phy_fixed.h
phy/fixed.c: rework to not duplicate PHY layer functionality
2008-01-23 19:33:58 -06:00
pid.h
Uninline find_pid etc set of functions
2007-10-19 11:53:41 -07:00
pid_namespace.h
pidns: Place under CONFIG_EXPERIMENTAL
2007-11-14 18:45:43 -08:00
pipe_fs_i.h
pkt_cls.h
[NET_SCHED]: Add flow classifier
2008-01-31 19:28:36 -08:00
pkt_sched.h
[NET_SCHED]: sch_sfq: make internal queues visible as classes
2008-01-31 19:28:35 -08:00
pktcdvd.h
pktcdvd: Convert from class_device to device for block/pktcdvd
2008-01-24 20:40:06 -08:00
platform_device.h
Driver Core: constify the name passed to platform_device_register_simple
2008-01-24 20:40:43 -08:00
plist.h
pm.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
pm_legacy.h
PM: ACPI and APM must not be enabled at the same time
2008-01-11 12:26:47 -05:00
pmu.h
[POWERPC] Fix for via-pmu based backlight control
2007-12-21 22:14:07 +11:00
pnp.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
pnpbios.h
poison.h
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
power_supply: add few more values and props
2008-02-02 02:43:00 +03:00
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
capabilities: introduce per-process capability bounding set
2008-02-05 09:44:20 -08:00
preempt.h
prefetch.h
x86 & generic: change to __builtin_prefetch()
2007-10-19 20:35:04 +02:00
prio_heap.h
Fix cpusets update_cpumask
2007-10-19 11:53:41 -07:00
prio_tree.h
proc_fs.h
maps4: move clear_refs code to task_mmu.c
2008-02-05 09:44:16 -08:00
profile.h
proportions.h
ps2esdi.h
ptrace.h
ptrace: generic PTRACE_SINGLEBLOCK
2008-01-30 13:30:53 +01:00
qnx4_fs.h
qnxtypes.h
quicklist.h
quicklists: do not release off node pages early
2007-12-23 12:54:36 -08:00
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
radix_tree.h trivial comment correction
2008-02-03 16:12:47 +02:00
raid_class.h
ramfs.h
random.h
raw.h
rbtree.h
rcuclassic.h
Preempt-RCU: implementation
2008-01-25 21:08:24 +01:00
rcupdate.h
Preempt-RCU: implementation
2008-01-25 21:08:24 +01:00
rcupreempt.h
Preempt-RCU: implementation
2008-01-25 21:08:24 +01:00
rcupreempt_trace.h
Preempt-RCU: implementation
2008-01-25 21:08:24 +01:00
reboot.h
reciprocal_div.h
regset.h
x86: user_regset user-copy helpers
2008-01-30 13:31:47 +01:00
reiserfs_acl.h
reiserfs_fs.h
reiserfs: new export ops
2007-10-22 08:13:20 -07:00
reiserfs_fs_i.h
reiserfs_fs_sb.h
Spelling fixes: lenght->length
2008-02-03 15:42:53 +02:00
reiserfs_xattr.h
relay.h
resource.h
resume-trace.h
rfkill.h
rfkill: add the WiMAX radio type
2008-01-31 19:26:46 -08:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc-v3020.h
rtc.h
RTC: convert mutex to bitfield
2007-11-29 09:24:54 -08:00
rtmutex.h
rtnetlink.h
[NET]: Make rtnetlink infrastructure network namespace aware (v3)
2008-01-28 14:54:25 -08:00
rwsem-spinlock.h
rwsem.h
rxrpc.h
sc26198.h
scatterlist.h
SG: work with the SCSI fixed maximum allocations.
2008-01-28 10:54:49 +01:00
scc.h
sched.h
capabilities: introduce per-process capability bounding set
2008-02-05 09:44:20 -08:00
screen_info.h
x86_64 EFI boot support: EFI frame buffer driver
2007-11-29 09:24:54 -08:00
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
capabilities: introduce per-process capability bounding set
2008-02-05 09:44:20 -08:00
selection.h
selinux.h
SELinux: Enable dynamic enable/disable of the network access checks
2008-01-30 08:17:26 +11:00
selinux_netlink.h
sem.h
ipc: store ipcs into IDRs
2007-10-19 11:53:44 -07:00
seq_file.h
[NET]: Consolidate net namespace related proc files creation.
2008-01-28 14:54:28 -08:00
seqlock.h
serial.h
serial167.h
serial_8250.h
8250.c: support specifying DW APB UARTs in device platform_data
2008-02-05 09:44:09 -08:00
serial_core.h
IP22ZILOG: fix lockup and sysrq
2007-11-29 09:24:53 -08:00
serial_pnx8xxx.h
serial_reg.h
serialP.h
serio.h
shm.h
ipc: store ipcs into IDRs
2007-10-19 11:53:44 -07:00
shmem_fs.h
signal.h
signalfd.h
Fix a small number of "memeber" typoes.
2008-02-03 15:12:15 +02:00
skbuff.h
virtio: Implement skb_partial_csum_set, for setting partial csums on untrusted packets.
2008-02-04 23:49:56 +11:00
slab.h
Unify /proc/slabinfo configuration
2008-01-02 13:04:48 -08:00
slab_def.h
Unify /proc/slabinfo configuration
2008-01-02 13:04:48 -08:00
slob_def.h
slub_def.h
Explain kmem_cache_cpu fields
2008-02-04 10:56:03 -08:00
sm501-regs.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
sm501.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h
x86: optimize lock prefix switching to run less frequently
2008-01-30 13:33:17 +01:00
smp_lock.h
sched: remove the !PREEMPT_BKL code
2008-01-25 21:08:33 +01:00
snmp.h
[XFRM]: Fix statistics.
2008-01-31 19:28:30 -08:00
socket.h
[NET] sysctl: make sysctl_somaxconn per-namespace
2008-01-28 14:56:57 -08:00
sockios.h
som.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock: lockbreak cleanup
2008-01-30 13:31:20 +01:00
spinlock_api_smp.h
spinlock_api_up.h
include/linux/: Spelling fixes
2008-02-03 17:45:46 +02:00
spinlock_types.h
spinlock: lockbreak cleanup
2008-01-30 13:31:20 +01:00
spinlock_types_up.h
spinlock_up.h
spinlock: lockbreak cleanup
2008-01-30 13:31:20 +01:00
splice.h
[SPLICE]: Don't assume regular pages in splice_to_pipe()
2008-01-28 14:53:30 -08:00
srcu.h
stacktrace.h
sched: latencytop support
2008-01-25 21:08:34 +01:00
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
[TIPC]: Fix headercheck wrt. tipc_config.h
2007-10-30 21:44:00 -07:00
stringify.h
superhyway.h
suspend.h
Page allocator: clean up pcp draining functions
2008-02-05 09:44:17 -08:00
suspend_ioctls.h
Hibernation: Introduce exportable suspend ioctls header (rev. 2)
2008-02-01 18:30:53 -05:00
svga.h
swap.h
tmpfs: move swap swizzling into shmem
2008-02-05 09:44:15 -08:00
swapops.h
maps4: move is_swap_pte
2008-02-05 09:44:16 -08:00
synclink.h
sys.h
syscalls.h
timerfd: new timerfd API
2008-02-05 09:44:07 -08:00
sysctl.h
capabilities: introduce per-process capability bounding set
2008-02-05 09:44:20 -08:00
sysdev.h
Driver core: change sysdev classes to use dynamic kobject names
2008-01-24 20:40:40 -08:00
sysfs.h
[SCSI] sysfs: add filter function to groups
2008-01-23 11:29:18 -06:00
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tc.h
tcp.h
[TCP]: Rewrite SACK block processing & sack_recv_cache use
2008-01-28 14:54:07 -08:00
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thread_info.h
futex: Add bitset conditional wait/wakeup functionality
2008-02-01 17:45:14 +01:00
threads.h
tick.h
tick-sched: add more debug information
2008-02-01 17:45:14 +01:00
tifm.h
tifm: Convert from class_device to device for TI flash media
2008-01-24 20:40:06 -08:00
time.h
timekeeping: update xtime_cache when time(zone) changes
2008-02-01 17:45:13 +01:00
timer.h
time: clean hungarian notation from timers
2008-01-30 13:30:00 +01:00
timerfd.h
times.h
timex.h
time: add ADJ_OFFSET_SS_READ
2007-11-26 20:42:19 +01:00
tiocl.h
tipc.h
tipc_config.h
topology.h
sched: whitespace cleanups in topology.h
2008-01-25 21:08:20 +01:00
toshiba.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
[CAN]: Allocate protocol numbers for PF_CAN
2008-01-28 14:54:09 -08:00
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
linux/types.h: Use __u64 for aligned_u64
2008-01-31 19:27:30 -08:00
uaccess.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h
ufs_fs.h
uinput.h
get rid of input BIT* duplicate defines
2007-10-19 11:53:42 -07:00
uio.h
uio_driver.h
UIO: fix kobject usage
2008-01-24 20:40:26 -08:00
ultrasound.h
un.h
unistd.h
unwind.h
usb.h
USB: fix codingstyle issues in include/linux/usb.h
2008-02-01 14:35:07 -08:00
usb_usual.h
USB: usb-storage: new "lockable" subclass 0x07
2008-02-01 14:34:49 -08:00
usbdevice_fs.h
USB: usbdevfs_urb: __user annotation
2008-02-01 14:34:58 -08:00
user.h
user_namespace.h
utime.h
uts.h
utsname.h
vermagic.h
veth.h
[VETH]: move veth.h to include/linux
2007-12-26 19:36:35 -08:00
vfs.h
via.h
video_decoder.h
video_encoder.h
video_output.h
videodev.h
V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field
2007-10-22 12:01:24 -02:00
videodev2.h
V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls
2007-10-22 12:01:30 -02:00
videotext.h
virtio.h
virtio: reset function
2008-02-04 23:50:03 +11:00
virtio_9p.h
9p: add virtio transport
2007-10-23 13:47:31 -05:00
virtio_balloon.h
virtio: balloon driver
2008-02-04 23:50:13 +11:00
virtio_blk.h
virtio: remove unused id field from struct virtio_blk_outhdr
2008-02-04 23:50:01 +11:00
virtio_config.h
virtio: reset function
2008-02-04 23:50:03 +11:00
virtio_console.h
Virtio console driver
2007-10-23 15:49:55 +10:00
virtio_net.h
virtio: Tweak virtio_net defines
2008-02-04 23:50:02 +11:00
virtio_pci.h
virtio: Use PCI revision field to indicate virtio PCI ABI version
2008-02-04 23:50:12 +11:00
virtio_ring.h
virtio: clarify NO_NOTIFY flag usage
2008-02-04 23:50:00 +11:00
vmalloc.h
vmalloc: add const to void* parameters
2008-02-05 09:44:14 -08:00
vmstat.h
vt.h
Console events and accessibility
2007-10-19 11:53:34 -07:00
vt_buffer.h
vt_kern.h
wait.h
lockdep: annotate epoll
2008-02-05 09:44:07 -08:00
wanrouter.h
watchdog.h
wireless.h
Spelling fixes: lenght->length
2008-02-03 15:42:53 +02:00
workqueue.h
lockdep: fix workqueue creation API lockdep interaction
2008-01-16 09:51:58 +01:00
writeback.h
writeback: speed up writeback of big dirty files
2008-02-05 09:44:19 -08:00
x25.h
xattr.h
VFS/Security: Rework inode_getsecurity and callers to return resulting buffer
2008-02-05 09:44:20 -08:00
xfrm.h
[IPSEC]: Add support for combined mode algorithms
2008-01-31 19:27:03 -08:00
xilinxfb.h
yam.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h