Commit Graph

6535 Commits

Author SHA1 Message Date
David Woodhouse
274f5946dc Don't include implementation details from asm-s390/ptrace.h and page.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-27 04:47:10 +01:00
David Woodhouse
b7b3c76a0a Sanitise linux/sched.h for userspace consumption
There was a whole load of crap exposed which should have been inside the
existing #ifdef __KERNEL__ part. Also hide struct sched_param for now,
since glibc has its own and doesn't like being given ours (yet).

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-27 00:12:56 +01:00
David Woodhouse
f001e47f83 Sanitise linux/audit.h for userspace consumption, split elf-em.h from elf.h
Don't include <linux/sched.h> outside __KERNEL__, and split the EM_xxx
definitions out of elf.h into elf-em.h so that audit.h can include just
that and not pollute the namespace any further than it needs to.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-27 00:11:01 +01:00
David Woodhouse
62c4f0a2d5 Don't include linux/config.h from anywhere else in include/
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-26 12:56:16 +01:00
David Woodhouse
089f26d5e3 Don't include <linux/config.h> and <linux/linkage.h> from linux/socket.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:29:01 +01:00
David Woodhouse
d85004eb15 Don't include private headers from user-visible part of linux/ext3_fs.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:18:46 +01:00
David Woodhouse
52a78c1cae Don't include private headers from user-visible part of linux/ext2_fs.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:18:31 +01:00
David Woodhouse
19b3bd667b Don't include private headers from user-visible part of linux/smb_fs.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:18:05 +01:00
David Woodhouse
1af042271f Sanitise linux/sunrpc/debug.h for userspace consumption
Move some inclusion of private header files and the definition of
RPC_DEBUG inside the existing #ifdef __KERNEL__

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:16:44 +01:00
David Woodhouse
eae19a762d Don't export CONFIG_COMPAT stuff in linux/usbdevice_fs.h to userspace
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:14:50 +01:00
David Woodhouse
468db83658 Don't include <linux/spinlock.h> from user-visible part of linux/wanrouter.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:00:56 +01:00
David Woodhouse
c6e82e7236 Move comment in mtd-abi.h to stop confusing unifdef
Currently, unifdef removes the comment which starts on the same line as
the #ifdef __KERNEL__, but leaves the second line of the comment in place.

Move the comment onto a separate line.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 15:00:06 +01:00
David Woodhouse
7ab2febd4d Don't include private headers from user-visible part of linux/signal.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:55:46 +01:00
David Woodhouse
8ffbc759a5 Don't include <asm/atomic.h> from user-visible part of linux/sem.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:55:13 +01:00
David Woodhouse
a3b6714e17 Partially sanitise linux/sched.h for userspace consumption
For now, just make sure all inclusion of private header files is done
within #ifdef __KERNEL__. There'll be more to clean up later.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:54:40 +01:00
David Woodhouse
98ca79d52b Don't include <linux/list.h> from user-visible part of reiserfs_xattr.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:52:51 +01:00
David Woodhouse
0409d3a332 Don't include private headers from user-visible parts of linux/quota.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:52:13 +01:00
David Woodhouse
997b7af2fe Don't include private headers from user-visible parts of include/linux/nfs*.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:51:45 +01:00
David Woodhouse
eacf17bdbc Don't include <linux/stringify> from user-visible part of linux/net.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:46:09 +01:00
David Woodhouse
77597ad663 Don't include <linux/list.h> from user-visible part of linux/msg.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:26:46 +01:00
David Woodhouse
58908d093e Don't include private files from user-visible part of linux/ncp_fs.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:26:26 +01:00
David Woodhouse
9cdcb56636 Sanitise linux/mman.h for userspace consumption
It only really needs to define a few constants and include <asm/mman.h>
when it's used by userspace. Move the rest within #ifdef __KERNEL__

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:18:07 +01:00
David Woodhouse
8e442735ae Remove gratuitous inclusion of <linux/pci.h> from linux/isdn/tpam.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:16:14 +01:00
David Woodhouse
2e0e1f9f1c Don't include <linux/device.h> from user-visible part of linux/ipmi.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:15:44 +01:00
David Woodhouse
a1b9298e55 Sanitise linux/i2c.h for userspace consumption
It was unconditionally including a whole bunch of headers which aren't
user-visible, and also exposing a lot of private internal stuff of its
own. Also fix some legacy character set to UTF-8 while we're at it.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:14:52 +01:00
David Woodhouse
5a570cc0a4 Sanitise linux/i2c-algo-ite.h for userspace consumption
It doesn't need to include i2c.h, because a forward declaration of
struct i2c_adapter is perfectly sufficient. And it can be inside
#ifdef __KERNEL__ along with the kernel-internal structure definition.

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:10:40 +01:00
David Woodhouse
34186efc17 Include various private files only from within __KERNEL__ in genhd.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:07:57 +01:00
David Woodhouse
f2999e4ea4 Export only the appropriate GS_xxx flags to userspace from generic_serial.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 14:07:02 +01:00
David Woodhouse
25478bb26f Use __KERNEL__ to hide kernel-private bits of linux/gameport.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 13:59:30 +01:00
David Woodhouse
72b9760b65 Don't include agp_backend.h in user-visible part of agpgart.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 13:58:23 +01:00
David Woodhouse
a1ff0eafce Include <linux/jiffies.h> from linux/acct.h only in kernel-private part.
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 13:57:44 +01:00
David Woodhouse
dd02ec3ac2 Remove user-visible references to PAGE_SIZE in include/asm-powerpc/elf.h
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-25 13:51:52 +01:00
Patrick McHardy
55fe586636 [NETFILTER]: Fix compat_xt_counters alignment for non-x86
Some (?) non-x86 architectures require 8byte alignment for u_int64_t
even when compiled for 32bit, using u_int32_t in compat_xt_counters
breaks on these architectures, use u_int64_t for everything but x86.

Reported by Andreas Schwab <schwab@suse.de>.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-04-24 17:27:30 -07:00
OGAWA Hirofumi
d8fe3f1920 [SPARC]: __NR_sys removal
__NR_sys_sync_file_range part was lost somewhere...
[glibc is already checking __NR_sync_file_range]

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-04-24 13:48:51 -07:00
Linus Torvalds
6b426e785c Merge git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6:
  [PARISC] MAINTAINERS
  [PARISC] Make ioremap default to _nocache
  [PARISC] Add new entries to the syscall table
  [PARISC] Further work for multiple page sizes
  [PARISC] Fix up hil_kbd.c mismerge
  [PARISC] defconfig updates
  [PARISC] Document that we tolerate "Relaxed Ordering"
  [PARISC] Misc. janitorial work
  [PARISC] EISA regions must be mapped NO_CACHE
  [PARISC] OSS ad1889: Match register names with ALSA driver
2006-04-23 09:44:10 -07:00
Paul Mackerras
d0e15bed84 powerpc: Fix define_machine so machine_is() works from modules
machine_is() was always returning 0 when used in a module, because
we weren't exporting the machine definitions.  This was why sound
wasn't working on powermacs when CONFIG_SND_POWERMAC=m.  Original
fix from Ben Herrenschmidt, further fixed by me.

Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-04-23 10:42:04 +10:00
Kyle McMartin
1b52d7c221 [PARISC] Make ioremap default to _nocache
Since it is way more work to change most drivers to comply with parisc, take
the easy way out and make ioremap _NO_CACHE by default. This is in line with
what powerpc does.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2006-04-21 22:20:35 +00:00
Kyle McMartin
6ca773cf8b [PARISC] Add new entries to the syscall table
Most are easy, but sync_file_range needed special handling when entering
through the 32-bit syscall table.

Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2006-04-21 22:20:35 +00:00
Helge Deller
2fd8303816 [PARISC] Further work for multiple page sizes
More work towards supporing multiple page sizes on 64-bit. Convert
some assumptions that 64bit uses 3 level page tables into testing
PT_NLEVELS. Also some BUG() to BUG_ON() conversions and some cleanups
to assembler.

Signed-off-by: Helge Deller <deller@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
2006-04-21 22:20:34 +00:00
Olof Johansson
7daa411b81 [PATCH] powerpc: IOMMU support for honoring dma_mask
Some devices don't support full 32-bit DMA address space, which we currently
assume. Add the required mask-passing to the IOMMU allocators.

Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-04-21 22:28:55 +10:00
Linus Torvalds
f4ffaa452e Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (21 commits)
  [PATCH] wext: Fix RtNetlink ENCODE security permissions
  [PATCH] bcm43xx: iw_priv_args names should be <16 characters
  [PATCH] bcm43xx: sysfs code cleanup
  [PATCH] bcm43xx: fix pctl slowclock limit calculation
  [PATCH] bcm43xx: fix dyn tssi2dbm memleak
  [PATCH] bcm43xx: fix config menu alignment
  [PATCH] bcm43xx wireless: fix printk format warnings
  [PATCH] softmac: report when scanning has finished
  [PATCH] softmac: fix event sending
  [PATCH] softmac: handle iw_mode properly
  [PATCH] softmac: dont send out packets while scanning
  [PATCH] softmac: return -EAGAIN from getscan while scanning
  [PATCH] bcm43xx: set trans_start on TX to prevent bogus timeouts
  [PATCH] orinoco: fix truncating commsquality RID with the latest Symbol firmware
  [PATCH] softmac: fix spinlock recursion on reassoc
  [PATCH] Revert NET_RADIO Kconfig title change
  [PATCH] wext: Fix IWENCODEEXT security permissions
  [PATCH] wireless/atmel: send WEXT scan completion events
  [PATCH] wireless/airo: clean up WEXT association and scan events
  [PATCH] softmac uses Wiress Ext.
  ...
2006-04-20 15:26:25 -07:00
Linus Torvalds
d3d3cf05ed Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [EBTABLES]: Clean up vmalloc usage in net/bridge/netfilter/ebtables.c
  [NET]: Add skb->truesize assertion checking.
  [TCP]: Account skb overhead in tcp_fragment
  [SUNGEM]: Marvell PHY suspend.
  [LLC]: Use pskb_trim_rcsum() in llc_fixup_skb().
  [NET]: sockfd_lookup_light() returns random error for -EBADFD
2006-04-20 15:25:37 -07:00
Jeff Garzik
f18b95c3e2 Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2006-04-20 17:36:10 -04:00
Linus Torvalds
bf7cf6ee1b Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: __NR_sys_splice --> __NR_splice
2006-04-20 07:58:58 -07:00
Eric Dumazet
0b699e36b2 [PATCH] x86_64: bring back __read_mostly support to linux-2.6.17-rc2
It seems latest kernel has a wrong/missing __read_mostly implementation
for x86_64

__read_mostly macro should be declared outside of #if CONFIG_X86_VSMP block

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-20 07:58:11 -07:00
Andi Kleen
18bd057b14 [PATCH] i386/x86-64: Fix x87 information leak between processes
AMD K7/K8 CPUs only save/restore the FOP/FIP/FDP x87 registers in FXSAVE
when an exception is pending.  This means the value leak through
context switches and allow processes to observe some x87 instruction
state of other processes.

This was actually documented by AMD, but nobody recognized it as
being different from Intel before.

The fix first adds an optimization: instead of unconditionally
calling FNCLEX after each FXSAVE test if ES is pending and skip
it when not needed. Then do a x87 load from a kernel variable to
clear FOP/FIP/FDP.

This means other processes always will only see a constant value
defined by the kernel in their FP state.

I took some pain to make sure to chose a variable that's already
in L1 during context switch to make the overhead of this low.

Also alternative() is used to patch away the new code on CPUs
who don't need it.

Patch for both i386/x86-64.

The problem was discovered originally by Jan Beulich. Richard
Brunner provided the basic code for the workarounds, with contribution
from Jan.

This is CVE-2006-1056

Cc: richard.brunner@amd.com
Cc: jbeulich@novell.com

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-20 07:58:11 -07:00
Adrian Bunk
72b38d436e [PATCH] memory_hotplug.h cleanup
We don't have to #if guard prototypes.

This also fixes a bug observed by Randy Dunlap due to a misspelled
option in the #if.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-20 07:54:04 -07:00
Chris Zankel
68876baf5e [PATCH] xtensa: Fix TIOCGICOUNT macro
Remove the dependence on the async_icount structure in the TIOCGICOUNT
macro for Xtensa.  (Thanks Russell and Adrian for pointing this out)

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-04-20 07:54:03 -07:00
David S. Miller
dc6de33674 [NET]: Add skb->truesize assertion checking.
Add some sanity checking.  truesize should be at least sizeof(struct
sk_buff) plus the current packet length.  If not, then truesize is
seriously mangled and deserves a kernel log message.

Currently we'll do the check for release of stream socket buffers.

But we can add checks to more spots over time.

Incorporating ideas from Herbert Xu.

Signed-off-by: David S. Miller <davem@davemloft.net>
2006-04-20 00:10:50 -07:00
David S. Miller
2784f40e27 [SPARC]: __NR_sys_splice --> __NR_splice
Signed-off-by: David S. Miller <davem@davemloft.net>
2006-04-19 15:00:01 -07:00