kernel-fxtec-pro1x/include/linux
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
bitops.h
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
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
cgroup_subsys.h sched: cpu accounting controller (V2) 2007-12-02 20:04:49 +01:00
cgroupstats.h
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
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
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
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
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
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
eeprom_93cx6.h
efi.h
efs_dir.h
efs_fs.h
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
exportfs.h
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
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
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
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
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
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
key-type.h
key-ui.h
key.h KEYS: fix macro 2008-01-08 16:10:35 -08:00
keyboard.h
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_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
llc.h include/linux/: Spelling fixes 2008-02-03 17:45:46 +02:00
lm_interface.h
lock_dlm_plock.h
lockdep.h
log2.h
loop.h
lp.h
lzo.h
m48t86.h
magic.h
major.h
maple.h
marker.h
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.h
mempolicy.h
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
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_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
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_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
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
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
prio_heap.h
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_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
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
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
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
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
videodev2.h
videotext.h
virtio.h virtio: reset function 2008-02-04 23:50:03 +11:00
virtio_9p.h
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_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
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