]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
17 years agodrm/radeon: don't actually enable the IRQ regs until irq is enabled
Dave Airlie [Tue, 9 Dec 2008 05:30:50 +0000 (15:30 +1000)]
drm/radeon: don't actually enable the IRQ regs until irq is enabled

vblank can try and enable the IRQ registers before we've set the interrupt
handler up.

Signed-off-by: Dave Airlie <airlied@redhat.com>
17 years agoMerge branch 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc...
Paul Mackerras [Tue, 9 Dec 2008 03:58:37 +0000 (14:58 +1100)]
Merge branch 'merge' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc into merge

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 9 Dec 2008 03:52:43 +0000 (19:52 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  tproxy: fixe a possible read from an invalid location in the socket match
  zd1211rw: use unaligned safe memcmp() in-place of compare_ether_addr()
  mac80211: use unaligned safe memcmp() in-place of compare_ether_addr()
  ipw2200: fix netif_*_queue() removal regression
  iwlwifi: clean key table in iwl_clear_stations_table function
  tcp: tcp_vegas ssthresh bug fix
  can: omit received RTR frames for single ID filter lists
  ATM: CVE-2008-5079: duplicate listen() on socket corrupts the vcc table
  netx-eth: initialize per device spinlock
  tcp: make urg+gso work for real this time
  enc28j60: Fix sporadic packet loss (corrected again)
  hysdn: fix writing outside the field on 64 bits
  b1isa: fix b1isa_exit() to really remove registered capi controllers
  can: Fix CAN_(EFF|RTR)_FLAG handling in can_filter
  Phonet: do not dump addresses from other namespaces
  netlabel: Fix a potential NULL pointer dereference
  bnx2: Add workaround to handle missed MSI.
  xfrm: Fix kernel panic when flush and dump SPD entries

17 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Tue, 9 Dec 2008 03:50:26 +0000 (19:50 -0800)]
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  x86: fix default_spin_lock_flags() prototype
  AMD IOMMU: __unmap_single: check for bad_dma_address instead of 0
  AMD IOMMU: fix WARN_ON in dma_ops unmap path
  AMD IOMMU: fix typo in comment
  AMD IOMMU: fix loop counter in free_pagetable function
  AMD IOMMU: fix iommu_map_page function

17 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Tue, 9 Dec 2008 03:50:09 +0000 (19:50 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide: build-fix for CONFIG_BLK_DEV_IDEDMA_PMAC=n
  Revert "ide: respect current DMA setting during resume"

17 years agoEXPORTFS: handle NULL returns from fh_to_dentry()/fh_to_parent()
J. Bruce Fields [Mon, 8 Dec 2008 23:24:18 +0000 (18:24 -0500)]
EXPORTFS: handle NULL returns from fh_to_dentry()/fh_to_parent()

While 440037287c5 "[PATCH] switch all filesystems over to
d_obtain_alias" removed some cases where fh_to_dentry() and
fh_to_parent() could return NULL, there are still a few NULL returns
left in individual filesystems.  Thus it was a mistake for that commit
to remove the handling of NULL returns in the callers.

Revert those parts of 440037287c5 which removed the NULL handling.

(We could, alternatively, modify all implementations to return -ESTALE
instead of NULL, but that proves to require fixing a number of
filesystems, and in some cases it's arguably more natural to return
NULL.)

Thanks to David for original patch and Linus, Christoph, and Hugh for
review.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Cc: David Howells <dhowells@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years agosparseirq: fix Alpha build failure
Yinghai Lu [Mon, 8 Dec 2008 22:06:17 +0000 (14:06 -0800)]
sparseirq: fix Alpha build failure

Impact: build fix on Alpha

-tip testing found this build failure on the Alpha defconfig:

/home/mingo/tip/fs/proc/stat.c: In function 'show_stat':
/home/mingo/tip/fs/proc/stat.c:48: error: implicit declaration of function 'for_each_irq_desc'
/home/mingo/tip/fs/proc/stat.c:48: error: expected ';' before '{' token

can not use irq_desc() in stat.c on older architectures.

Signed-off-by: Yinghai Lu <yinghai@kernel.orgg>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoFix compile for 1610 innovator
Tony Lindgren [Tue, 9 Dec 2008 01:12:00 +0000 (17:12 -0800)]
Fix compile for 1610 innovator

Fix compile for 1610 innovator

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoFix name for tsc210x.h
Tony Lindgren [Tue, 9 Dec 2008 00:32:51 +0000 (16:32 -0800)]
Fix name for tsc210x.h

Fix name for tsc210x.h

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoREMOVE OMAP LEGACY CODE: Get rid of old tsc2102_ts.c
Tony Lindgren [Tue, 9 Dec 2008 00:29:41 +0000 (16:29 -0800)]
REMOVE OMAP LEGACY CODE: Get rid of old tsc2102_ts.c

This should use tsc210x instead.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoFix compile for H2
Tony Lindgren [Tue, 9 Dec 2008 00:20:18 +0000 (16:20 -0800)]
Fix compile for H2

Fix compile for H2

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoREMOVE OMAP LEGACY CODE: Get rid of old tsc2101 and tsc2102
Tony Lindgren [Tue, 9 Dec 2008 00:12:36 +0000 (16:12 -0800)]
REMOVE OMAP LEGACY CODE: Get rid of old tsc2101 and tsc2102

This code should use tsc210x. Patches welcome to re-enable H2 LCD.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoBtrfs: Fix compressed checksum fsync log copies
Chris Mason [Tue, 9 Dec 2008 00:15:39 +0000 (19:15 -0500)]
Btrfs: Fix compressed checksum fsync log copies

The fsync logging code makes sure to onl copy the relevant checksum for each
extent based on the file extent pointers it finds.

But for compressed extents, it needs to copy the checksum for the
entire extent.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agosparc: Kill memcmp_32.S code which has been ifdef'd out for centuries.
David S. Miller [Tue, 9 Dec 2008 00:05:49 +0000 (16:05 -0800)]
sparc: Kill memcmp_32.S code which has been ifdef'd out for centuries.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agouser namespaces: document CFS behavior
Serge E. Hallyn [Mon, 8 Dec 2008 21:52:21 +0000 (15:52 -0600)]
user namespaces: document CFS behavior

Documented the currently bogus state of support for CFS user groups with
user namespaces.  In particular, all users in a user namespace should be
children of the user which created the user namespace.  This is yet to
be implemented.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agoBtrfs: Add inode sequence number for NFS and reserved space in a few structs
Chris Mason [Mon, 8 Dec 2008 21:40:21 +0000 (16:40 -0500)]
Btrfs: Add inode sequence number for NFS and reserved space in a few structs

This adds a sequence number to the btrfs inode that is increased on
every update.  NFS will be able to use that to detect when an inode has
changed, without relying on inaccurate time fields.

While we're here, this also:

Puts reserved space into the super block and inode

Adds a log root transid to the super so we can pick the newest super
based on the fsync log as well as the main transaction ID.  For now
the log root transid is always zero, but that'll get fixed.

Adds a starting offset to the dev_item.  This will let us do better
alignment calculations if we know the start of a partition on the disk.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: Use map_private_extent_buffer during generic_bin_search
Chris Mason [Mon, 8 Dec 2008 21:43:10 +0000 (16:43 -0500)]
Btrfs: Use map_private_extent_buffer during generic_bin_search

It is possible that generic_bin_search will be called on a tree block
that has not been locked.  This happens because cache_block_block skips
locking on the tree blocks.

Since the tree block isn't locked, we aren't allowed to change
the extent_buffer->map_token field.  Using map_private_extent_buffer
avoids any changes to the internal extent buffer fields.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoBtrfs: superblock duplication
Yan Zheng [Mon, 8 Dec 2008 21:46:26 +0000 (16:46 -0500)]
Btrfs: superblock duplication

This patch implements superblock duplication. Superblocks
are stored at offset 16K, 64M and 256G on every devices.
Spaces used by superblocks are preserved by the allocator,
which uses a reverse mapping function to find the logical
addresses that correspond to superblocks. Thank you,

Signed-off-by: Yan Zheng <zheng.yan@oracle.com>
17 years agoBtrfs: move data checksumming into a dedicated tree
Chris Mason [Mon, 8 Dec 2008 21:58:54 +0000 (16:58 -0500)]
Btrfs: move data checksumming into a dedicated tree

Btrfs stores checksums for each data block.  Until now, they have
been stored in the subvolume trees, indexed by the inode that is
referencing the data block.  This means that when we read the inode,
we've probably read in at least some checksums as well.

But, this has a few problems:

* The checksums are indexed by logical offset in the file.  When
compression is on, this means we have to do the expensive checksumming
on the uncompressed data.  It would be faster if we could checksum
the compressed data instead.

* If we implement encryption, we'll be checksumming the plain text and
storing that on disk.  This is significantly less secure.

* For either compression or encryption, we have to get the plain text
back before we can verify the checksum as correct.  This makes the raid
layer balancing and extent moving much more expensive.

* It makes the front end caching code more complex, as we have touch
the subvolume and inodes as we cache extents.

* There is potentitally one copy of the checksum in each subvolume
referencing an extent.

The solution used here is to store the extent checksums in a dedicated
tree.  This allows us to index the checksums by phyiscal extent
start and length.  It means:

* The checksum is against the data stored on disk, after any compression
or encryption is done.

* The checksum is stored in a central location, and can be verified without
following back references, or reading inodes.

This makes compression significantly faster by reducing the amount of
data that needs to be checksummed.  It will also allow much faster
raid management code in general.

The checksums are indexed by a key with a fixed objectid (a magic value
in ctree.h) and offset set to the starting byte of the extent.  This
allows us to copy the checksum items into the fsync log tree directly (or
any other tree), without having to invent a second format for them.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
17 years agoasync_xor: dma_map destination DMA_BIDIRECTIONAL
Dan Williams [Mon, 8 Dec 2008 20:46:00 +0000 (13:46 -0700)]
async_xor: dma_map destination DMA_BIDIRECTIONAL

Mapping the destination multiple times is a misuse of the dma-api.
Since the destination may be reused as a source, ensure that it is only
mapped once and that it is mapped bidirectionally.  This appears to add
ugliness on the unmap side in that it always reads back the destination
address from the descriptor, but gcc can determine that dma_unmap is a
nop and not emit the code that calculates its arguments.

Cc: <stable@kernel.org>
Cc: Saeed Bishara <saeed@marvell.com>
Acked-by: Yuri Tikhonov <yur@emcraft.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
17 years agoREMOVE OMAP LEGACY CODE: Remove old tlv320aic23.c code
Tony Lindgren [Mon, 8 Dec 2008 20:01:07 +0000 (12:01 -0800)]
REMOVE OMAP LEGACY CODE: Remove old tlv320aic23.c code

All omap audio development must use ASoC driver as suggested by
David Brownell.

Please see sound/soc/omap. For patches, please send them against
the mainline tree to the alsa list with linux-omap list Cc'd.

See also the previous patch 4a6f6c8336db39d134b42b0ba083e79ed7fd536b.

Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agoARM: OMAP: Remove unused platform devices for old ALSA code
Tony Lindgren [Mon, 8 Dec 2008 19:09:04 +0000 (11:09 -0800)]
ARM: OMAP: Remove unused platform devices for old ALSA code

This patch removes old platform devices. The should be now
replaced with ASoC driver. For boards not yet using ASoC,
please see sound/soc/omap/osk5912.c.

This patch is based on an earlier patch by Arun KS.

Signed-off-by: Arun KS <arunks@mistralsolutions.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
17 years agosparseirq: fix typo in !CONFIG_IO_APIC case
Ingo Molnar [Mon, 8 Dec 2008 17:47:51 +0000 (18:47 +0100)]
sparseirq: fix typo in !CONFIG_IO_APIC case

Impact: build fix

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years ago[ARM] dma: factor out code looking up the DMA channel
Russell King [Mon, 8 Dec 2008 16:08:48 +0000 (16:08 +0000)]
[ARM] dma: factor out code looking up the DMA channel

This is a preparitory patch to allow us to easily change the way we
add and lookup DMA channel structures.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agoide: build-fix for CONFIG_BLK_DEV_IDEDMA_PMAC=n
Bartlomiej Zolnierkiewicz [Mon, 8 Dec 2008 16:52:05 +0000 (17:52 +0100)]
ide: build-fix for CONFIG_BLK_DEV_IDEDMA_PMAC=n

IDE pmac host driver build fails with CONFIG_BLK_DEV_IDEDMA_PMAC=n
as reported by Kamalesh:

> drivers/ide/pmac.c: In function 'pmac_ide_set_pio_mode':
> drivers/ide/pmac.c:527: error: implicit declaration of function 'kauai_lookup_timing'
> drivers/ide/pmac.c:527: error: 'shasta_pio_timings' undeclared (first use in this function)
> drivers/ide/pmac.c:527: error: (Each undeclared identifier is reported only once
> drivers/ide/pmac.c:527: error: for each function it appears in.)
> drivers/ide/pmac.c:534: error: 'kauai_pio_timings' undeclared (first use in this function)
> drivers/ide/pmac.c: In function 'pmac_ide_do_resume':
> drivers/ide/pmac.c:914: error: 'IDE_WAKEUP_DELAY' undeclared (first use in this function)
> drivers/ide/pmac.c: At top level:
> drivers/ide/pmac.c:1007: error: 'pmac_ide_init_dma' undeclared here (not in a function)
> drivers/ide/pmac.c: In function 'pmac_ide_setup_device':
> drivers/ide/pmac.c:1107: error: 'IDE_WAKEUP_DELAY' undeclared (first use in this function)
> drivers/ide/pmac.c: In function 'pmac_ide_macio_attach':
> drivers/ide/pmac.c:1209: error: 'pmac_ide_hwif_t' has no member named 'dma_regs'
> drivers/ide/pmac.c:1210: error: 'pmac_ide_hwif_t' has no member named 'dma_regs'
> make[2]: *** [drivers/ide/pmac.o] Error 1

Fix it by removing the superfluous config option.

Reported-and-tested-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agoRevert "ide: respect current DMA setting during resume"
Bartlomiej Zolnierkiewicz [Mon, 8 Dec 2008 16:42:35 +0000 (17:42 +0100)]
Revert "ide: respect current DMA setting during resume"

This reverts commit e9eb8388306364295308132265c00bea685f409f since
it could break resume (thanks to Paul Collins for the report).

I'll look into sorting this out properly for 2.6.29
but for 2.6.28 it is the best to just revert my patch.

Reported-by: Paul Collins <paul@burly.ondioline.org>
Cc: rjw@sisk.pl
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
17 years agohrtimer: removing all ur callback modes, fix
Peter Zijlstra [Mon, 8 Dec 2008 16:13:02 +0000 (17:13 +0100)]
hrtimer: removing all ur callback modes, fix

> Ingo, this addition fixes the hotplug issue on my machine

And because we're all human...

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
David Vrabel [Mon, 8 Dec 2008 16:18:47 +0000 (16:18 +0000)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream

17 years ago[ARM] dma: remove dmach_t typedef
Russell King [Mon, 8 Dec 2008 15:58:50 +0000 (15:58 +0000)]
[ARM] dma: remove dmach_t typedef

Remove a pointless integer typedef.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agotracing/function-graph-tracer: fix 'flags' variable mismatch
Ingo Molnar [Mon, 8 Dec 2008 15:55:53 +0000 (16:55 +0100)]
tracing/function-graph-tracer: fix 'flags' variable mismatch

this warning:

 kernel/trace/trace.c: In function ‘trace_vprintk’:
 kernel/trace/trace.c:3626: warning: ‘flags’ may be used uninitialized in this function

shows some confusion about irq_flags / flags use here. We already have
irq_flags so remove the extra flags variable.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: idle_balance() does not call load_balance_newidle()
Vaidyanathan Srinivasan [Mon, 8 Dec 2008 15:22:49 +0000 (20:52 +0530)]
sched: idle_balance() does not call load_balance_newidle()

Impact: fix SD_BALANCE_NEWIDLEand broaden its use

load_balance_newidle() does not get called if SD_BALANCE_NEWIDLE is
set at higher level domain (3-CPU) and not in low level domain (2-MC).

pulled_task is initialised to -1 and checked for non-zero which is
always true if the lowest level sched_domain does not have
SD_BALANCE_NEWIDLE flag set.

Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: fix default_spin_lock_flags() prototype
Ingo Molnar [Fri, 17 Oct 2008 14:09:57 +0000 (16:09 +0200)]
x86: fix default_spin_lock_flags() prototype

these warnings:

  arch/x86/kernel/paravirt-spinlocks.c: In function ‘default_spin_lock_flags’:
  arch/x86/kernel/paravirt-spinlocks.c:12: warning: passing argument 1 of ‘__raw_spin_lock’ from incompatible pointer type
  arch/x86/kernel/paravirt-spinlocks.c: At top level:
  arch/x86/kernel/paravirt-spinlocks.c:11: warning: ‘default_spin_lock_flags’ defined but not used

showed that the prototype of default_spin_lock_flags() was confused about
what type spinlocks have.

the proper type on UP is raw_spinlock_t.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: signal: change type of paramter for sys_rt_sigreturn()
Hiroshi Shimamoto [Sat, 6 Dec 2008 01:17:09 +0000 (17:17 -0800)]
x86: signal: change type of paramter for sys_rt_sigreturn()

Impact: cleanup on 32-bit

Peter pointed this parameter can be changed.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: append the tracing_graph_flag
Frederic Weisbecker [Sat, 6 Dec 2008 02:43:41 +0000 (03:43 +0100)]
tracing/function-graph-tracer: append the tracing_graph_flag

Impact: Provide a way to pause the function graph tracer

As suggested by Steven Rostedt, the previous patch that prevented from
spinlock function tracing shouldn't use the raw_spinlock to fix it.
It's much better to follow lockdep with normal spinlock, so this patch
adds a new flag for each task to make the function graph tracer able
to be paused. We also can send an ftrace_printk whithout worrying of
the irrelevant traced spinlock during insertion.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: turn tracing_selftest_running into an int
Frederic Weisbecker [Sat, 6 Dec 2008 02:41:33 +0000 (03:41 +0100)]
tracing/function-graph-tracer: turn tracing_selftest_running into an int

Impact: cleanup

Apply some suggestions of Steven Rostedt:

_turn tracing_selftest_running into a simple int (no need of an atomic_t)
_set it __read_mostly
_fix a comment style

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions
Frederic Weisbecker [Sat, 6 Dec 2008 02:40:00 +0000 (03:40 +0100)]
tracing/function-graph-tracer: introduce __notrace_funcgraph to filter special functions

Impact: trace more functions

When the function graph tracer is configured, three more files are not
traced to prevent only four functions to be traced. And this impacts the
normal function tracer too.

arch/x86/kernel/process_64/32.c:

I had crashes when I let this file traced. After some debugging, I saw
that the "current" task point was changed inside__swtich_to(), ie:
"write_pda(pcurrent, next_p);" inside process_64.c Since the tracer store
the original return address of the function inside current, we had
crashes. Only __switch_to() has to be excluded from tracing.

kernel/module.c and kernel/extable.c:

Because of a function used internally by the function graph tracer:
__kernel_text_address()

To let the other functions inside these files to be traced, this patch
introduces the __notrace_funcgraph function prefix which is __notrace if
function graph tracer is configured and nothing if not.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: clean up get_smp_config()
Yinghai Lu [Sat, 6 Dec 2008 06:45:50 +0000 (22:45 -0800)]
x86: clean up get_smp_config()

Impact: cleanup

reorder exit path in __get_smp_config().

also move two print outs to acpi_process_madt

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'linus' into x86/quirks
Ingo Molnar [Mon, 8 Dec 2008 14:07:49 +0000 (15:07 +0100)]
Merge branch 'linus' into x86/quirks

17 years agoAMD IOMMU: __unmap_single: check for bad_dma_address instead of 0
Joerg Roedel [Mon, 8 Dec 2008 13:40:26 +0000 (14:40 +0100)]
AMD IOMMU: __unmap_single: check for bad_dma_address instead of 0

Impact: minor fix

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
17 years agoAMD IOMMU: fix WARN_ON in dma_ops unmap path
Joerg Roedel [Mon, 8 Dec 2008 13:37:20 +0000 (14:37 +0100)]
AMD IOMMU: fix WARN_ON in dma_ops unmap path

Impact: minor fix

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
17 years agoAMD IOMMU: fix typo in comment
Joerg Roedel [Mon, 8 Dec 2008 13:25:39 +0000 (14:25 +0100)]
AMD IOMMU: fix typo in comment

Impact: cleanup

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
17 years agoAMD IOMMU: fix loop counter in free_pagetable function
Joerg Roedel [Thu, 4 Dec 2008 15:44:31 +0000 (16:44 +0100)]
AMD IOMMU: fix loop counter in free_pagetable function

Impact: bugfix

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
17 years agoAMD IOMMU: fix iommu_map_page function
Joerg Roedel [Thu, 4 Dec 2008 14:59:48 +0000 (15:59 +0100)]
AMD IOMMU: fix iommu_map_page function

Impact: bugfix in iommu_map_page function

Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
17 years agox86, MSI: pass irq_cfg and irq_desc
Yinghai Lu [Sat, 6 Dec 2008 02:58:34 +0000 (18:58 -0800)]
x86, MSI: pass irq_cfg and irq_desc

Impact: simplify code

Pass irq_desc and cfg around, instead of raw IRQ numbers - this way
we dont have to look it up again and again.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: MSI start irq numbering from nr_irqs_gsi
Yinghai Lu [Sat, 6 Dec 2008 02:58:33 +0000 (18:58 -0800)]
x86: MSI start irq numbering from nr_irqs_gsi

Impact: sanitize MSI irq number ordering from top-down to bottom-up

Increase new MSI IRQs starting from nr_irqs_gsi (which is somewhere below
256), instead of decreasing from NR_IRQS. (The latter method can result
in confusingly high IRQ numbers - if NR_CPUS is set to a high value and
NR_IRQS scales up to a high value.)

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agox86: use NR_IRQS_LEGACY
Yinghai Lu [Sat, 6 Dec 2008 02:58:32 +0000 (18:58 -0800)]
x86: use NR_IRQS_LEGACY

Impact: cleanup

Introduce NR_IRQS_LEGACY instead of hard coded number.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosparse irq_desc[] array: core kernel and x86 changes
Yinghai Lu [Sat, 6 Dec 2008 02:58:31 +0000 (18:58 -0800)]
sparse irq_desc[] array: core kernel and x86 changes

Impact: new feature

Problem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with
NR_CPUS set to large values. The goal is to be able to scale up to much
larger NR_IRQS value without impacting the (important) common case.

To solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of
irq_desc pointers.

When CONFIG_SPARSE_IRQ=y is used, we use kzalloc_node to get irq_desc,
this also makes the IRQ descriptors NUMA-local (to the site that calls
request_irq()).

This gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now
uses desc->chip_data for x86 to store irq_cfg.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoring_buffer: fix comments
Lai Jiangshan [Mon, 8 Dec 2008 02:58:08 +0000 (10:58 +0800)]
ring_buffer: fix comments

Impact: comments cleanup

fix incorrect comments for enum ring_buffer_type

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agosched: fix sd_parent_degenerate on non-numa smp machine
Ken Chen [Mon, 8 Dec 2008 02:47:37 +0000 (18:47 -0800)]
sched: fix sd_parent_degenerate on non-numa smp machine

Impact: optimize the sched domains tree some more

The addition of SD_SERIALIZE flag added to SD_NODE_INIT prevented top level
dummy numa sched_domain to be properly degenerated on non-numa smp machine.
The reason is that in sd_parent_degenerate(), it found that the child and
parent does not have comon sched_domain flags due to SD_SERIALIZE.  However,
for non-numa smp box, the top level is a dummy with a single sched_group.

Filter out SD_SERIALIZE if it is on non-numa machine to properly degenerate
top level node sched_domain.  this will cut back some of the sd domain walk
in the load balancer code.

Signed-off-by: Ken Chen <kenchen@google.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMerge branch 'sched/urgent' into sched/core
Ingo Molnar [Mon, 8 Dec 2008 12:52:00 +0000 (13:52 +0100)]
Merge branch 'sched/urgent' into sched/core

17 years agox86: change static allocation of trampoline area
Rafael J. Wysocki [Sun, 7 Dec 2008 23:50:22 +0000 (00:50 +0100)]
x86: change static allocation of trampoline area

Impact: fix trampoline sizing bug, save space

While debugging a suspend-to-RAM related issue it occured to me that
if the trampoline code had grown past 4 KB, we would have been
allocating too little memory for it, since the 4 KB size of the
trampoline is hardcoded into arch/x86/kernel/e820.c .  Change that
by making the kernel compute the trampoline size and allocate as much
memory as necessary.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agotracing/function-graph-tracer: implement a print_headers function
Frederic Weisbecker [Mon, 8 Dec 2008 00:56:06 +0000 (01:56 +0100)]
tracing/function-graph-tracer: implement a print_headers function

Impact: provide trace headers to explain a bit the output

This patch implements the print_headers callback for the function graph
tracer. These headers are output according to the current trace options.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
17 years agoMTD: tests: add mtd_subpagetest
Artem Bityutskiy [Mon, 8 Dec 2008 11:37:48 +0000 (13:37 +0200)]
MTD: tests: add mtd_subpagetest

This tests makes sure sub-pages on NAND MTD device work fine.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMTD: tests: add mtd_stresstest
Artem Bityutskiy [Mon, 8 Dec 2008 11:36:47 +0000 (13:36 +0200)]
MTD: tests: add mtd_stresstest

This test just performs random operations on random eraseblocks.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMTD: tests: add mtd_speedtest
Artem Bityutskiy [Mon, 8 Dec 2008 11:36:18 +0000 (13:36 +0200)]
MTD: tests: add mtd_speedtest

This test examines I/O speed of the flash device.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMTD: tests: add mtd_readtest
Artem Bityutskiy [Mon, 8 Dec 2008 11:34:59 +0000 (13:34 +0200)]
MTD: tests: add mtd_readtest

A simple tests which reads whole MTD device one page at a time.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMTD: tests: add mtd_pagetest
Artem Bityutskiy [Mon, 8 Dec 2008 11:34:16 +0000 (13:34 +0200)]
MTD: tests: add mtd_pagetest

This test checks that NAND pages read/write work fine.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoMTD: tests: add mtd_oobtest
Artem Bityutskiy [Mon, 8 Dec 2008 11:33:29 +0000 (13:33 +0200)]
MTD: tests: add mtd_oobtest

This test checks that OOB of a NAND MTD device works fine.

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
17 years agoALSA: hrtimer - Use hard-irq callback
Takashi Iwai [Mon, 8 Dec 2008 11:40:56 +0000 (12:40 +0100)]
ALSA: hrtimer - Use hard-irq callback

Use the hard-irq mode for the callback (for possible removal of
soft-irq mode in future).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoALSA: timer - Add comments and use ns_to_ktime()
Takashi Iwai [Mon, 8 Dec 2008 11:16:58 +0000 (12:16 +0100)]
ALSA: timer - Add comments and use ns_to_ktime()

Add the license and misc comments at the beginning of the code.
Also, use ns_to_ktime() for simplification.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agodccp ccid-2: Phase out the use of boolean Ack Vector sysctl
Gerrit Renker [Mon, 8 Dec 2008 09:19:06 +0000 (01:19 -0800)]
dccp ccid-2: Phase out the use of boolean Ack Vector sysctl

This removes the use of the sysctl and the minisock variable for the Send Ack
Vector feature, as it now is handled fully dynamically via feature negotiation
(i.e. when CCID-2 is enabled, Ack Vectors are automatically enabled as per
 RFC 4341, 4.).

Using a sysctl in parallel to this implementation would open the door to
crashes, since much of the code relies on tests of the boolean minisock /
sysctl variable. Thus, this patch replaces all tests of type

if (dccp_msk(sk)->dccpms_send_ack_vector)
/* ... */
with
if (dp->dccps_hc_rx_ackvec != NULL)
/* ... */

The dccps_hc_rx_ackvec is allocated by the dccp_hdlr_ackvec() when feature
negotiation concluded that Ack Vectors are to be used on the half-connection.
Otherwise, it is NULL (due to dccp_init_sock/dccp_create_openreq_child),
so that the test is a valid one.

The activation handler for Ack Vectors is called as soon as the feature
negotiation has concluded at the
 * server when the Ack marking the transition RESPOND => OPEN arrives;
 * client after it has sent its ACK, marking the transition REQUEST => PARTOPEN.

Adding the sequence number of the Response packet to the Ack Vector has been
removed, since
 (a) connection establishment implies that the Response has been received;
 (b) the CCIDs only look at packets received in the (PART)OPEN state, i.e.
     this entry will always be ignored;
 (c) it can not be used for anything useful - to detect loss for instance, only
     packets received after the loss can serve as pseudo-dupacks.

There was a FIXME to change the error code when dccp_ackvec_add() fails.
I removed this after finding out that:
 * the check whether ackno < ISN is already made earlier,
 * this Response is likely the 1st packet with an Ackno that the client gets,
 * so when dccp_ackvec_add() fails, the reason is likely not a packet error.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Remove manual influence on NDP Count feature
Gerrit Renker [Mon, 8 Dec 2008 09:18:37 +0000 (01:18 -0800)]
dccp: Remove manual influence on NDP Count feature

Updating the NDP count feature is handled automatically now:
 * for CCID-2 it is disabled, since the code does not use NDP counts;
 * for CCID-3 it is enabled, as NDP counts are used to determine loss lengths.

Allowing the user to change NDP values leads to unpredictable and failing
behaviour, since it is then possible to disable NDP counts even when they
are needed (e.g. in CCID-3).

This means that only those user settings are sensible that agree with the
values for Send NDP Count implied by the choice of CCID. But those settings
are already activated by the feature negotiation (CCID dependency tracking),
hence this form of support is redundant.

At startup the initialisation of the NDP count feature uses the default
value of 0, which is done implicitly by the zeroing-out of the socket when
it is allocated. If the choice of CCID or feature negotiation enables NDP
count, this will then be updated via the NDP activation handler.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Remove obsolete parts of the old CCID interface
Gerrit Renker [Mon, 8 Dec 2008 09:18:05 +0000 (01:18 -0800)]
dccp: Remove obsolete parts of the old CCID interface

The TX/RX CCIDs of the minisock are now redundant: similar to the Ack Vector
case, their value equals initially that of the sysctl, but at the end of
feature negotiation may be something different.

The old interface removed by this patch thus has been replaced by the newer
interface to dynamically query the currently loaded CCIDs.

Also removed are the constructors for the TX CCID and the RX CCID, since the
switch "rx <-> non-rx" is done by the handler in minisocks.c (and the handler
is the only place in the code where CCIDs are loaded).

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Clean up old feature-negotiation infrastructure
Gerrit Renker [Mon, 8 Dec 2008 09:17:32 +0000 (01:17 -0800)]
dccp: Clean up old feature-negotiation infrastructure

The code removed by this patch is no longer referenced or used, the added
lines update documentation and copyrights.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Integration of dynamic feature activation - part 3 (client side)
Gerrit Renker [Mon, 8 Dec 2008 09:16:27 +0000 (01:16 -0800)]
dccp: Integration of dynamic feature activation - part 3 (client side)

This integrates feature-activation in the client:

 1. When dccp_parse_options() fails, the reset code is already set; request_sent\
    _state_process() currently overrides this with `Packet Error', which is not
    intended - changed to use the reset code supplied by dccp_parse_options().

 2. When feature negotiation fails, the socket should be marked as not usable,
    so that the application is notified that an error occurred. This is achieved
    by a new label 'unable_to_proceed': generating an error code of `Aborted',
    setting the socket state to CLOSED, returning with ECOMM in sk_err.

 3. Avoids parsing the Ack twice in Respond state by not doing option processing
    again in dccp_rcv_respond_partopen_state_process (as option processing has
    already been done on the request_sock in dccp_check_req).

Since this addresses congestion-control initialisation, a corresponding
FIXME has been removed.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Integration of dynamic feature activation - part 2 (server side)
Gerrit Renker [Mon, 8 Dec 2008 09:15:55 +0000 (01:15 -0800)]
dccp: Integration of dynamic feature activation - part 2 (server side)

This patch integrates the activation of features at the end of negotiation
into the server-side code.

Note regarding the removal of 'const':
--------------------------------------
 The 'const' attribute has been removed from 'dreq' since dccp_activate_values()
 needs to operate on dreq's feature list. Part of the activation is to remove
 those options from the list that have already been confirmed, hence it is not
 purely read-only.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodccp: Integration of dynamic feature activation - part 1 (socket setup)
Gerrit Renker [Mon, 8 Dec 2008 09:15:26 +0000 (01:15 -0800)]
dccp: Integration of dynamic feature activation - part 1 (socket setup)

This first patch out of three replaces the hardcoded default settings with
initialisation code for the dynamic feature negotiation.

The patch also ensures that the client feature-negotiation queue is flushed
only when entering the OPEN state.

Since confirmed Change options are removed as soon as they are confirmed
(in the DCCP-Response), this ensures that Confirm options are retransmitted.

Note on retransmitting Confirm options:
---------------------------------------
Implementation experience showed that it is necessary to retransmit Confirm
options. Thanks to Leandro Melo de Sales who reported a bug in an earlier
revision of the patch set, resulting from not retransmitting these options.

As long as the client is in PARTOPEN, it needs to retransmit the Confirm
options for the Change options received on the DCCP-Response from the server.

Otherwise, if the packet containing the Confirm options gets dropped in the
network, the connection aborts due to undefined feature negotiation state.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonetdevice: Kill netdev->priv
Wang Chen [Mon, 8 Dec 2008 09:14:16 +0000 (01:14 -0800)]
netdevice: Kill netdev->priv

This is the last shoot of this series.
After I removing all directly reference of netdev->priv, I am killing
"priv" of "struct net_device" and fixing relative comments/docs.

Anyone will not be allowed to reference netdev->priv directly.
If you want to reference the memory of private data, use netdev_priv()
instead.
If the private data is not allocted when alloc_netdev(), use
netdev->ml_priv to point that memory after you creating that private
data.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agostaging-winbond: Kill directly reference of netdev->priv
Wang Chen [Mon, 8 Dec 2008 09:13:25 +0000 (01:13 -0800)]
staging-winbond: Kill directly reference of netdev->priv

This driver is not yet finished.
At this time, we don't know how netdev be created and how
private data be allocated.
So, simply use netdev_priv() now and leave some temp comment.

Compile test only.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: replace for_each_cpu_mask_nr with for_each_cpu
Rusty Russell [Mon, 8 Dec 2008 09:10:08 +0000 (01:10 -0800)]
sparc: replace for_each_cpu_mask_nr with for_each_cpu

Simple replacement, now the _nr is redundant.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: fix sparse warnings in irq_32.c
Sam Ravnborg [Mon, 8 Dec 2008 09:08:24 +0000 (01:08 -0800)]
sparc: fix sparse warnings in irq_32.c

Fix following sparse warnings:
symbol 'static_irqaction' was not declared. Should it be static?
symbol 'static_irq_count' was not declared. Should it be static?
symbol 'irq_action_lock' was not declared. Should it be static?
symbol 'unexpected_irq' was not declared. Should it be static?
symbol 'handler_irq' was not declared. Should it be static?
returning void-valued expression
returning void-valued expression
returning void-valued expression
symbol 'init_IRQ' was not declared. Should it be static?

Warnings were fixed by addding proper declarations
and fixing return path of a few functions.

There remains several warnings all related to the floppy driver.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: add include guards to kernel.h
Sam Ravnborg [Mon, 8 Dec 2008 09:07:47 +0000 (01:07 -0800)]
sparc: add include guards to kernel.h

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: fix sparse warnings in traps_32.c
Sam Ravnborg [Mon, 8 Dec 2008 09:04:59 +0000 (01:04 -0800)]
sparc: fix sparse warnings in traps_32.c

o add decalrations to entry.h for functions only used from assembler
o add declaratiosn to kernel.h for functions only used from .c
o removed unused functions/extern declarations

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: fix trivial style issues in kernel/pmc.c
Sam Ravnborg [Mon, 8 Dec 2008 09:02:55 +0000 (01:02 -0800)]
sparc: fix trivial style issues in kernel/pmc.c

o drop trailing whitespaces
o align a fix things properly

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: fix sparse warning in kernel/pmc.c
Sam Ravnborg [Mon, 8 Dec 2008 09:02:23 +0000 (01:02 -0800)]
sparc: fix sparse warning in kernel/pmc.c

Fix following warning:
arch/sparc/kernel/pmc.c:41:6: warning: symbol 'pmc_swift_idle'
was not declared. Should it be static?

It was not used outside this file - make it static

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Use sparc64 version of prom/printf.c
Robert Reif [Mon, 8 Dec 2008 08:59:17 +0000 (00:59 -0800)]
sparc: Use sparc64 version of prom/printf.c

Use sparc64 version of prom/printf.c.

The only differences for sparc32 is that prom_printf is no longer
exported for modules which should be OK.

Signed-off-by: Robert Reif <reif@earthlink.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agocyber2000fb: Kill the one modular sparc prom_printf call.
David S. Miller [Mon, 8 Dec 2008 09:00:08 +0000 (01:00 -0800)]
cyber2000fb: Kill the one modular sparc prom_printf call.

Noticed by Robert Reif and Sam Ravnborg.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoslub: Fix incorrect use of loose
Nick Andrew [Fri, 5 Dec 2008 03:08:08 +0000 (14:08 +1100)]
slub: Fix incorrect use of loose

It should be 'lose', not 'loose'.

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
17 years agotproxy: fixe a possible read from an invalid location in the socket match
Balazs Scheidler [Mon, 8 Dec 2008 07:53:46 +0000 (23:53 -0800)]
tproxy: fixe a possible read from an invalid location in the socket match

TIME_WAIT sockets need to be handled specially, and the socket match
casted inet_timewait_sock instances to inet_sock, which are not
compatible.

Handle this special case by checking sk->sk_state.

Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agouser namespaces: require cap_set{ug}id for CLONE_NEWUSER
Serge E. Hallyn [Wed, 3 Dec 2008 19:17:33 +0000 (13:17 -0600)]
user namespaces: require cap_set{ug}id for CLONE_NEWUSER

While ideally CLONE_NEWUSER will eventually require no
privilege, the required permission checks are currently
not there.  As a result, CLONE_NEWUSER has the same effect
as a setuid(0)+setgroups(1,"0").  While we already require
CAP_SYS_ADMIN, requiring CAP_SETUID and CAP_SETGID seems
appropriate.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agouser namespaces: let user_ns be cloned with fairsched
Serge E. Hallyn [Wed, 3 Dec 2008 19:17:06 +0000 (13:17 -0600)]
user namespaces: let user_ns be cloned with fairsched

(These two patches are in the next-unacked branch of
git://git.kernel.org/pub/scm/linux/kernel/git/sergeh/userns-2.6.
If they get some ACKs, then I hope to feed this into security-next.
After these two, I think we're ready to tackle userns+capabilities)

Fairsched creates a per-uid directory under /sys/kernel/uids/.
So when you clone(CLONE_NEWUSER), it tries to create
/sys/kernel/uids/0, which already exists, and you get back
-ENOMEM.

This was supposed to be fixed by sysfs tagging, but that
was postponed (ok, rejected until sysfs locking is fixed).
So, just as with network namespaces, we just don't create
those directories for user namespaces other than the init.

Signed-off-by: Serge E. Hallyn <serue@us.ibm.com>
Signed-off-by: James Morris <jmorris@namei.org>
17 years agoSound: hda - Restore PCI configuration space with interrupts off
Rafael J. Wysocki [Sat, 6 Dec 2008 14:09:08 +0000 (15:09 +0100)]
Sound: hda - Restore PCI configuration space with interrupts off

Move the restoration of the standard PCI configuration registers
in the snd_hda_intel driver to a ->resume_early() callback executed
with interrupts disabled, since doing that with interrupts enabled
may lead to problems in some cases.

This patch addresses the regression from 2.6.26 tracked as
http://bugzilla.kernel.org/show_bug.cgi?id=12121 .

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years ago[ARM] Fix alignment fault handling for ARMv6 and later CPUs
Russell King [Sun, 7 Dec 2008 09:44:55 +0000 (09:44 +0000)]
[ARM] Fix alignment fault handling for ARMv6 and later CPUs

On ARMv6 and later CPUs, it is possible for userspace processes to
get stuck on a misaligned load or store due to the "ignore fault"
setting; unlike previous CPUs, retrying the instruction without
the 'A' bit set does not always cause the load to succeed.

We have no real option but to default to fixing up alignment faults
on these CPUs, and having the CPU fix up those misaligned accesses
which it can.

Reported-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agosparc: unify kernel/idprom.c
Sam Ravnborg [Sun, 7 Dec 2008 08:50:29 +0000 (00:50 -0800)]
sparc: unify kernel/idprom.c

o in sparc32 variant removed prom_halt in warning situations
o ifdef out sparc32 specific code

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: idprom_32.c cleanup
Sam Ravnborg [Sun, 7 Dec 2008 08:49:53 +0000 (00:49 -0800)]
sparc: idprom_32.c cleanup

o Use C99 initializer for struct members
o fix code style issues
o Add KERN_WARNING to all printk
o Update prints to match sparc64

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: Restore irq_trans_init() call in prom_create_node().
David S. Miller [Sun, 7 Dec 2008 08:46:33 +0000 (00:46 -0800)]
sparc: Restore irq_trans_init() call in prom_create_node().

This broke sparc64 in various ways.

Add an empty dummy hook in sparc32's prom_32.c so that we
can potentially handle things on that side similarly, and
in particular avoid a prom_common.c ifdef :-)

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: unify kernel/cpu
Sam Ravnborg [Sun, 7 Dec 2008 08:04:30 +0000 (00:04 -0800)]
sparc: unify kernel/cpu

o use cpu_32.c as base
o move all sparc64 definitions to the common cpu.c
o use ifdef for the parts that differs and use cpu_32 as base
o spitfire.h required a CONFIG_SPARC64 guard to fix build on 32 bit

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: expand cpu table
Sam Ravnborg [Sun, 7 Dec 2008 08:03:26 +0000 (00:03 -0800)]
sparc: expand cpu table

Prepare cputable to include sparc64 versions
Declare it __initconst so it can be dropped after init

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agosparc: fix sparse warnings in cpu_*.c
Sam Ravnborg [Sun, 7 Dec 2008 08:02:08 +0000 (00:02 -0800)]
sparc: fix sparse warnings in cpu_*.c

o declare variables from cpu_*.c
o declare function from cpu_32.c

To do this introduce a new header "kernel.h" which is local to kernel/

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agostaging-slicoss: Kill directly reference of netdev->priv
Wang Chen [Sun, 7 Dec 2008 07:59:10 +0000 (23:59 -0800)]
staging-slicoss: Kill directly reference of netdev->priv

Simply replace netdev->priv with netdev_priv().

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agostaging-p80211: Kill directly reference of netdev->priv
Wang Chen [Sun, 7 Dec 2008 07:58:37 +0000 (23:58 -0800)]
staging-p80211: Kill directly reference of netdev->priv

In this driver, netdev's private data is wlandevice_t.  And the
wlandev(type of wlandevice_t) is exist before netdev be allocated.  So
use netdev->ml_priv to point to the private data.

I am not sure whether I should consider the kernel version older than
2.3.38.  Because in those kernels, netdevice_t is "structure dev"
instead of "structure net_device" and of course "dev->ml_priv" will
cause compile error.  But before my patch, in function wlan_setup(),
there is a ether_setup(net_device) which already broke kernels which
older than 2.3.38.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agos390_net: Kill directly reference of netdev->priv
Wang Chen [Sun, 7 Dec 2008 07:57:49 +0000 (23:57 -0800)]
s390_net: Kill directly reference of netdev->priv

The private data comes from ccwgroup_device.
So just don't allocate private data memory when do alloc_netdev()
and use netdev->ml_priv to reference private data.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agonet: Fix incorrect use of loose in spider_net.c
Nick Andrew [Sun, 7 Dec 2008 07:57:14 +0000 (23:57 -0800)]
net: Fix incorrect use of loose in spider_net.c

Fix incorrect use of loose in spider_net.c

It should be 'lose', not 'loose'.

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agowireless: Fix incorrect use of loose in wext.c
Nick Andrew [Sun, 7 Dec 2008 07:55:32 +0000 (23:55 -0800)]
wireless: Fix incorrect use of loose in wext.c

Fix incorrect use of loose in wext.c

It should be 'lose', not 'loose'.

Signed-off-by: Nick Andrew <nick@nick-andrew.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[ARM] 5340/1: fix stack placement after noexecstack changes
Lennert Buytenhek [Fri, 5 Dec 2008 02:25:47 +0000 (03:25 +0100)]
[ARM] 5340/1: fix stack placement after noexecstack changes

Commit 8ec53663d2698076468b3e1edc4e1b418bd54de3 ("[ARM] Improve
non-executable support") added support for detecting non-executable
stack binaries.  One of the things it does is to make READ_IMPLIES_EXEC
be set in ->personality if we are running on a CPU that doesn't support
the XN ("Execute Never") page table bit or if we are running a binary
that needs an executable stack.

This exposed a latent bug in ARM's asm/processor.h due to which we'll
end up placing the stack at a very low address, where it will bump into
the heap on any application that uses significant amount of stack or
heap or both, causing many interesting crashes.

Fix this by testing the ADDR_LIMIT_32BIT bit in ->personality instead
of testing for equality against PER_LINUX_32BIT.

Reviewed-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
17 years agotcp: fix tso_should_defer in 64bit
Ilpo Järvinen [Sat, 6 Dec 2008 06:49:37 +0000 (22:49 -0800)]
tcp: fix tso_should_defer in 64bit

Since jiffies is unsigned long, the types get expanded into
that and after long enough time the difference will therefore
always be > 1 (and that probably happens near boot as well as
iirc the first jiffies wrap is scheduler close after boot to
find out problems related to that early).

This was originally noted by Bill Fink in Dec'07 but nobody
never ended fixing it.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: use tcp_write_xmit also in tcp_push_one
Ilpo Järvinen [Sat, 6 Dec 2008 06:48:55 +0000 (22:48 -0800)]
tcp: use tcp_write_xmit also in tcp_push_one

tcp_minshall_update is not significant difference since it only
checks for not full-sized skb which is BUG'ed on the push_one
path anyway.

tcp_snd_test is tcp_nagle_test+tcp_cwnd_test+tcp_snd_wnd_test,
just the order changed slightly.

net/ipv4/tcp_output.c:
  tcp_snd_test              |  -89
  tcp_mss_split_point       |  -91
  tcp_may_send_now          |  +53
  tcp_cwnd_validate         |  -98
  tso_fragment              | -239
  __tcp_push_pending_frames | -1340
  tcp_push_one              | -146
 7 functions changed, 53 bytes added, 2003 bytes removed, diff: -1950

net/ipv4/tcp_output.c:
  tcp_write_xmit | +1772
 1 function changed, 1772 bytes added, diff: +1772

tcp_output.o.new:
 8 functions changed, 1825 bytes added, 2003 bytes removed, diff: -178

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Sat, 6 Dec 2008 06:54:40 +0000 (22:54 -0800)]
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-sta.c

17 years agotcp: move some parts from tcp_write_xmit
Ilpo Järvinen [Sat, 6 Dec 2008 06:43:56 +0000 (22:43 -0800)]
tcp: move some parts from tcp_write_xmit

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agotcp: share code through function, not through copy-paste. :-)
Ilpo Järvinen [Sat, 6 Dec 2008 06:43:26 +0000 (22:43 -0800)]
tcp: share code through function, not through copy-paste. :-)

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>