07 Jan, 2009

40 commits

  • …git/tip/linux-2.6-tip

    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: provide irq_to_desc() to non-genirq architectures too

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    rcu: fix rcutorture bug
    rcu: eliminate synchronize_rcu_xxx macro
    rcu: make treercu safe for suspend and resume
    rcu: fix rcutree grace-period-latency bug on small systems
    futex: catch certain assymetric (get|put)_futex_key calls
    futex: make futex_(get|put)_key() calls symmetric
    locking, percpu counters: introduce separate lock classes
    swiotlb: clean up EXPORT_SYMBOL usage
    swiotlb: remove unnecessary declaration
    swiotlb: replace architecture-specific swiotlb.h with linux/swiotlb.h
    swiotlb: add support for systems with highmem
    swiotlb: store phys address in io_tlb_orig_addr array
    swiotlb: add hwdev to swiotlb_phys_to_bus() / swiotlb_sg_to_bus()

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ASoC: Fix SND_SOC_ALL_CODECS handling of dual SPI and I2C control buses
    ASoC: Use snd_soc_dapm_nc_pin() in at91sam9g20ek
    ASoC: TWL4030: Convert the bitfield enums to VALUE_ENUM type
    ASoC: New enum type: value_enum
    pxa2xx-ac97: switch AC unit to correct state before probing
    ASoC: Clocking fixes for davinci-evm.c
    ASoC: Mark non-connected TWL4030 pins for pandora
    ASoC: OMAP: Select OMAP pin multiplexing when using Nokia N810 ASoC drivers

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (237 commits)
    Staging: android: binder: fix build errors
    Staging: android: add lowmemorykiller driver
    Staging: android: remove dummy android.c driver
    Staging: android: timed_gpio: Rename android_timed_gpio to timed_gpio
    Staging: android: add timed_gpio driver
    Staging: android: add ram_console driver
    Staging: android: add logging driver
    staging: android: binder: Fix use of euid
    Staging: android: binder: Fix gcc warnings about improper format specifiers for size_t in printk
    Staging: android: add binder driver
    Staging: add android framework
    Staging: epl: fix netdev->priv b0rkage
    Staging: epl: hr timers all run in hard irq context now
    Staging: epl: run Lindent on *.c files
    Staging: epl: run Lindent on *.h files
    Staging: epl: run Lindent on all user/*.h files
    Staging: epl: run Lindent on all kernel/*.h files
    Staging: add epl stack
    Staging: frontier: fix compiler warnings
    Staging: frontier: remove unused alphatrack_sysfs.c file
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (60 commits)
    uio: make uio_info's name and version const
    UIO: Documentation for UIO ioport info handling
    UIO: Pass information about ioports to userspace (V2)
    UIO: uio_pdrv_genirq: allow custom irq_flags
    UIO: use pci_ioremap_bar() in drivers/uio
    arm: struct device - replace bus_id with dev_name(), dev_set_name()
    libata: struct device - replace bus_id with dev_name(), dev_set_name()
    avr: struct device - replace bus_id with dev_name(), dev_set_name()
    block: struct device - replace bus_id with dev_name(), dev_set_name()
    chris: struct device - replace bus_id with dev_name(), dev_set_name()
    dmi: struct device - replace bus_id with dev_name(), dev_set_name()
    gadget: struct device - replace bus_id with dev_name(), dev_set_name()
    gpio: struct device - replace bus_id with dev_name(), dev_set_name()
    gpu: struct device - replace bus_id with dev_name(), dev_set_name()
    hwmon: struct device - replace bus_id with dev_name(), dev_set_name()
    i2o: struct device - replace bus_id with dev_name(), dev_set_name()
    IA64: struct device - replace bus_id with dev_name(), dev_set_name()
    i7300_idle: struct device - replace bus_id with dev_name(), dev_set_name()
    infiniband: struct device - replace bus_id with dev_name(), dev_set_name()
    ISDN: struct device - replace bus_id with dev_name(), dev_set_name()
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
    fuse: clean up annotations of fc->lock
    fuse: fix sparse warning in ioctl
    fuse: update interface version
    fuse: add fuse_conn->release()
    fuse: separate out fuse_conn_init() from new_conn()
    fuse: add fuse_ prefix to several functions
    fuse: implement poll support
    fuse: implement unsolicited notification
    fuse: add file kernel handle
    fuse: implement ioctl support
    fuse: don't let fuse_req->end() put the base reference
    fuse: move FUSE_MINOR to miscdevice.h
    fuse: style fixes

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (41 commits)
    scc_pata: make use of scc_dma_sff_read_status()
    ide-dma-sff: factor out ide_dma_sff_write_status()
    ide: move read_sff_dma_status() method to 'struct ide_dma_ops'
    ide: don't set hwif->dma_ops in init_dma() method
    Resurrect IT8172 IDE controller driver
    piix: sync ich_laptop[] with ata_piix.c
    ide: update warm-plug HOWTO
    ide: fix ide_port_scan() to do ACPI setup after initializing request queues
    ide: remove now redundant ->cur_dev checks
    ide: remove unused ide_hwif_t.sg_mapped field
    ide: struct ide_atapi_pc - remove unused fields and update documentation
    ide: remove superfluous hwif variable assignment from ide_timer_expiry()
    ide: use ide_pci_is_in_compatibility_mode() helper in setup-pci.c
    ide: make "paranoia" ->handler check in ide_intr() more strict
    ide-cd: convert to ide-atapi facilities
    ide-cd: start DMA before sending the actual packet command
    ide-cd: wait for DRQ to get set per default
    ide: Fix drive's DWORD-IO handling
    ide: add port and host iterators
    ide: dynamic allocation of device structures
    ...

    Linus Torvalds
     
  • Use del_timer_sync() instead of del_timer() to make sure the timer won't
    be running when we return from parport_wait_event(), because this would
    crash due to destruction of timer_list.

    This is untested and just based on a code review. Just think about the
    following sequence of events:

    - add_timer()

    - down_interruptible() is interrupted by a signal.

    - we enter the timer callback handler on another CPU.

    - del_timer(), but the timer callback is still running.

    - eturn from parport_wait_even, which destroys the automatic variable
    "timer" while the callback is running on another CPU.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Michael Buesch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael Buesch
     
  • Since all sanity checks rely on the validity of s_start which gets only
    checked to be smaller than s_end, we should also check if s_end is sane.
    Now we also try to retrieve the last block of the filesystem, which is
    computed by s_end. If this fails, something is bogus.

    Signed-off-by: Eric Sesterhenn
    Acked-by: Tigran Aivazian

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • bfs_fill_super() already touches all inodes, so we can easily add some
    cheap sanity checks and check if the inode start and end blocks are
    smaller than the maximum number of blocks, the inode start block lies
    behind the end block or the file end offset is behind the end of the
    filesystem. Also check if the start of data offset in the super block
    fits the filesystem.

    The added sanity checks catch softlockup issues early when we try to
    sb_bread() lots of blocks in a loop in bfs_readdir() and bfs_find_entry().
    In addition an oom issue in bfs_fill_super() is prevented by this when
    s_start is corrupted, which influences imap_len and we try to allocate a
    huge info->si_imap.

    Signed-off-by: Eric Sesterhenn
    Acked-by: Tigran Aivazian

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sesterhenn
     
  • Prevent passing an order to bitmap_find_free_region() that is larger than
    the actual bitmap can represent.

    These requests can come from device drivers that have no idea how big the
    dma region is and need to rely on dma_alloc_from_coherent() to sort it out
    for them.

    Reported-by: Guennadi Liakhovetski
    Signed-off-by: Johannes Weiner
    Cc: Pekka Enberg
    Cc: Dmitry Baryshkov
    Cc: Jesse Barnes
    Cc: Tetsuo Handa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • This thing was rather stupidly coded. Rework it all prior to making
    changes.

    Also, rename local variable `page': kernel readers expect something called
    `page' to have type `struct page *'.

    Cc: Guennadi Liakhovetski
    Cc: Johannes Weiner
    Cc: Pekka Enberg
    Cc: Dmitry Baryshkov
    Cc: Jesse Barnes
    Cc: Tetsuo Handa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • If bitmap_find_free_region() fails and DMA_MEMORY_EXCLUSIVE is not set,
    the function will fail to write anything to *ret and will return 1. This will cause dma_alloc_coherent() to return an uninitialised value,
    crashing the kernel, perhaps via DMA to a random address.

    Fix that by changing it to return zero in this case, so the caller will
    proceed to allocate the memory from the generic memory allocator.

    Cc: Tetsuo Handa
    Cc: Dmitry Baryshkov
    Cc: Ingo Molnar
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Signed-off-by: Ben Woodard
    Signed-off-by: Mauro Carvalho Chehab
    Cc: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab
     
  • EDAC driver for i5400 MCH (Seaburg)

    This driver adds support for i5400 MCH chipset.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Ben Woodard
    Cc: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mauro Carvalho Chehab
     
  • All other compatibles that are uniquely identifying the processor use a
    prefix of the form fsl,mpc85...'. We add support for it so we can
    deprecate the older 'fsl,85...' that was improperly used here.

    Additionally added mpc8536 & mpc8560 to the compatible lists.

    This patch is based on Nate's 8572 patch.

    Signed-off-by: Kumar Gala
    Signed-off-by: Doug Thompson
    Acked-by: Dave Jiang
    Cc: Nate Case
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • This patch is part of a larger patch series which will remove the "char
    bus_id[20]" name string from struct device. The device name is managed in
    the kobject anyway, and without any size limitation, and just needlessly
    copied into "struct device".

    [akpm@linux-foundation.org: coding-style fixes]
    Acked-by: Greg Kroah-Hartman
    Acked-by: Doug Thompson
    Signed-off-by: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kay Sievers
     
  • Use the newly introduced pci_ioremap_bar() function in drivers/edac.
    pci_ioremap_bar() just takes a pci device and a bar number, with the goal
    of making it really hard to get wrong, while also having a central place
    to stick sanity checks.

    Signed-off-by: Arjan van de Ven
    Acked-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • As a non-atomic value, it's only safe to look at entropy_count when the
    pool lock is held, so we move the BUG_ON inside the lock for correctness.

    Also remove the spurious comment. It's ok for entropy_count to
    temporarily exceed POOLBITS so long as it's left in a consistent state
    when the lock is released.

    This is a more correct, simple, and idiomatic fix for the bug in
    8b76f46a2db. I've left the reorderings introduced by that patch in place
    as they're harmless, even though they don't properly deal with potential
    atomicity issues.

    Signed-off-by: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Mackall
     
  • Signed-off-by: Ilpo Järvinen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ilpo Järvinen
     
  • Make firmware/dsp56k/bootstrap.asm buildable on a56, the free Motorola
    DSP56001 assembler (http://www.zdomain.com/a56.html).

    Summary of changes:

    - Remove '' candy (they specify explicit addressing modes,
    which a56 don't grok, but uses implicitly anyway).

    - Replace 'move' with 'movem' when accessing program memory.

    - Rename a few labels to avoid duplicates (which a56 can't handle).

    Signed-off-by: Robert Millan
    Cc: Jaswinder Singh
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert Millan
     
  • proc_ipcauto_dointvec_minmax() is the only user of ipc_auto_callback(),
    since the former function is protected by CONFIG_PROC_FS, so should be the
    latter one.

    Just move its definition down.

    Signed-off-by: WANG Cong
    Cc: Eric Biederman
    Cc: Nadia Derbey
    Cc: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@linux-foundation.org
     
  • Signed-off-by: Denis V. Lunev
    Reviewed-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis V. Lunev
     
  • Use the macro shm_ids().

    Remove useless check for a userspace pointer, because copy_to_user()
    will check it.

    Some style cleanups.

    Signed-off-by: WANG Cong
    Cc: Nadia Derbey
    Cc: Pierre Peiffer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • No one cares do_coredump()'s return value, and also it seems that it
    is also not necessary. So make it void.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: WANG Cong
    Cc: Alexander Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    WANG Cong
     
  • Introduce a new kernel parameter `coredump_filter'. Setting a value to
    this parameter causes the default bitmask of coredump_filter to be
    changed.

    It is useful for users to change coredump_filter settings for the whole
    system at boot time. Without this parameter, users have to change
    coredump_filter settings for each /proc// in an initializing script.

    Signed-off-by: Hidehiro Kawai
    Cc: Roland McGrath
    Cc: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hidehiro Kawai
     
  • POSIX requires the si_pid to be the process id of the sender, so ->si_pid
    should really be set to 'tgid'. This change does have following changes
    in behavior:

    - When sending pdeath_signal on re-parent to a sub-thread, ->si_pid
    cannot be used to identify the thread that did the re-parent since
    it will now show the tgid instead of thread id.

    - A multi-threaded application that expects to find the specific
    thread that encountered a SIGPIPE using the ->si_pid will now
    break.

    Signed-off-by: Sukadev Bhattiprolu
    Acked-By: Roland McGrath
    Cc: "Eric W. Biederman"
    Cc: Oleg Nesterov
    Cc: Pavel Emelyanov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sukadev Bhattiprolu
     
  • For SEND_SIG_NOINFO, si_pid is currently set to the pid of sender
    in sender's active pid namespace. But if the receiver is in a
    Eg: when parent sends the 'pdeath_signal' to a child that is in
    a descendant pid namespace, we should set si_pid 0.

    Signed-off-by: Sukadev Bhattiprolu
    Acked-By: Roland McGrath
    Cc: "Eric W. Biederman"
    Cc: Oleg Nesterov
    Cc: Pavel Emelyanov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sukadev Bhattiprolu
     
  • Reformat text to (mostly) stay within 80 columns of text.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add some (more) early_param boot options to kernel-parameters.txt.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add info on how to use DOC: sections in kernel-doc. DOC: sections enable
    the addition of inline source file comments that are general in nature
    instead of being specific to a function, struct, union, enum, or typedef.

    Signed-off-by: Randy Dunlap
    Cc: Johannes Berg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Update Documentation/s390/ files to reflect changed header files
    locations.

    Signed-off-by: Randy Dunlap
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Update several Documentation/ files and a few sub-dir files (only one
    change in each) to reflect changed header files locations.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Remove excess kernel-doc notation from rio header and driver:

    Warning(include/linux/rio_drv.h:399): Excess function parameter or struct member 'buffer' description in 'rio_get_inb_message'

    Signed-off-by: Randy Dunlap
    Cc: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Add documentation on how to use kernel-doc for function parameters
    that are "..." (varargs).

    Signed-off-by: Randy Dunlap
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix varargs kernel-doc format in kmod.c:
    Use @... instead of @varargs.

    Warning(kernel/kmod.c:67): Excess function parameter or struct member 'varargs' description in 'request_module'

    Signed-off-by: Randy Dunlap
    Acked-by: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix the add link method. The oosition in the directory was calculated in
    wrong way - it had the incorrect shift direction.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Evgeniy Dushistov
    Cc: Nick Piggin
    Cc: [2.6.lots]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Evgeniy Dushistov
     
  • The code to draw penguin logos always uses some properties of the main logo.
    This is incorrect if additional logos (CONFIG_FB_LOGO_EXTRA=y) have different
    types than the main logo, which causes corrupted logo images.

    http://bugzilla.kernel.org/show_bug.cgi?id=12181

    Hence skip additional logos that are not compatible with the main logo.

    Technically, it's possible to draw multiple logos of different types on
    truecolor displays, but this would complicate the (already quite
    complicated) logo drawing code even more.

    This patch fixes a problem with Debian's linux-image-2.6.26-1-powerpc64
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=508173

    Signed-off-by: Geert Uytterhoeven
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • unsigned ptr cannot be negative

    Signed-off-by: Roel Kluin
    Cc: Krzysztof Helt
    Cc: Ben Dooks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    roel kluin
     
  • Fix this sparse warnings:

    drivers/video/intelfb/intelfbdrv.c:1497:3: warning: returning void-valued expression
    drivers/video/intelfb/intelfbdrv.c:1525:3: warning: returning void-valued expression
    drivers/video/intelfb/intelfbdrv.c:1544:3: warning: returning void-valued expression
    drivers/video/intelfb/intelfbdrv.c:1558:3: warning: returning void-valued expression

    Signed-off-by: Hannes Eder
    Cc: Krzysztof Helt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hannes Eder