31 Dec, 2006

22 commits

  • (akpm: macros are wonderful)

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

    Al Viro
     
  • RAID_UNKNOWN is used even when PROC_FS=n, so move it outside of the
    CONFIG_PROC_FS block.

    drivers/block/cciss.c:1910: error: 'RAID_UNKNOWN' undeclared (first use in this function)

    Signed-off-by: Randy Dunlap
    Cc:
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Recent cleanup of slab.h broke SLOB allocator: the routine kmem_cache_init
    has now the __init attribute for both slab.c and slob.c. This routine
    cannot be removed after init in the case of slob.c -- it serves as a timer
    callback.

    Provide a separate timer callback routine, call it once from kmem_cache_init,
    keep the __init attribute on the latter.

    Signed-off-by: Dimitri Gorokhovik
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dimitri Gorokhovik
     
  • ramfs doesn't provide the .set_dirty_page a_op, and when the BLOCK layer is
    not configured in, 'set_page_dirty' makes a call via a NULL pointer.

    Signed-off-by: Dimitri Gorokhovik
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dimitri Gorokhovik
     
  • mod_sysfs_setup() doesn't return error when kobject_add_dir() failed.

    Signed-off-by: Akinobu Mita
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Signed-off-by: Andreas Schwab
    Cc: "Yu, Luming"
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andreas Schwab
     
  • Remove the __resched_legal() check: it is conceptually broken. The biggest
    problem it had is that it can mask buggy cond_resched() calls. A
    cond_resched() call is only legal if we are not in an atomic context, with
    two narrow exceptions:

    - if the system is booting
    - a reacquire_kernel_lock() down() done while PREEMPT_ACTIVE is set

    But __resched_legal() hid this and just silently returned whenever
    these primitives were called from invalid contexts. (Same goes for
    cond_resched_locked() and cond_resched_softirq()).

    Furthermore, the __legal_resched(0) call was buggy in that it caused
    unnecessarily long softirq latencies via cond_resched_softirq(). (which is
    only called from softirq-off sections, hence the code did nothing.)

    The fix is to resurrect the efficiency of the might_sleep checks and to
    only allow the narrow exceptions.

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

    Ingo Molnar
     
  • include/linux/utsrelease.h and include/linux/version.h aren't removed any
    more by mrproper in kernel 2.6.20-rc2. The patch below fixes this.

    The definition of MRPROPER_FILES looks weird: generated-headers looks like
    a misspelling of generated_headers, but that one is a Makefile target, not
    a variable or a file, so I don't see how including it in MRPROPER_FILES
    could have any effect.

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

    Mikael Pettersson
     
  • While trying to develop a line discipline I found a couple of things worth
    mentioning in Documentation/tty.txt which weren't, so I decided to add
    them. It would be nice if someone more knowledgeable than me in that area
    would look over them, in case I got something wrong.

    Signed-off-by: Tilman Schmidt
    Cc: Alan Cox
    Cc: Theodore Ts'o
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tilman Schmidt
     
  • Many spinlock recursion was in the isicom driver. Eliminate it.

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

    Jiri Slaby
     
  • The apple fn keys don't work anymore with 2.6.20-rc1.

    The reason is that USB_HID_POWERBOOK appears in several files although
    USB_HIDINPUT_POWERBOOK is the thing to be used.

    The patch fixes this.

    Cc: Greg KH
    Cc: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Cc: Jiri Kosina
    Cc: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Soeren Sonnenburg
     
  • Update to maintainers list.
    My employer has changed the domain from lsil to lsi.

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

    Eric Moore
     
  • Commit bed8bdfd ("IB: kmemdup() cleanup") introduced one bad conversion to
    kmemdup() in mthca_alloc_fmr(), where the structure allocated and the
    structure copied are not the same size. Revert this back to the original
    kmalloc()/memcpy() code.

    Reported-by: Dotan Barak .
    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Roland Dreier
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michael S. Tsirkin
     
  • tty_driver->owner is not set, so if somebody remove mxser_module, it might
    oops (and doesn't tell the user: no way, it's in use). Set the .owner value.

    Cc:
    Signed-off-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Don't have macros between a function's kernel-doc block and the function
    definition. This is not valid for kernel-doc.

    Warning(/var/linsrc/linux-2.6.20-rc1-git8//drivers/pci/probe.c:653): No description found for parameter 'IORESOURCE_PCI_FIXED'

    Signed-off-by: Randy Dunlap
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Due to the changes to make the kernel relocateable a new file is created
    during the build process.

    [jirislaby@gmail.com: The .gitigonre was intended to be in arch/ subtree]
    Signed-off-by: Thomas Meyer
    Signed-off-by: Jiri Slaby
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Meyer
     
  • constrained_alloc(), which is called to detect where oom is from, checks
    passed zone_list(). If zone_list doesn't include all nodes, it thinks oom
    is from mempolicy.

    But there is memory-less-node. memory-less-node's zones are never included
    in zonelist[].

    contstrained_alloc() should get memory_less_node into count. Otherwise, it
    always thinks 'oom is from mempolicy'. This means that current process
    dies at any time. This patch fix it.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: Paul Jackson
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • Fix suspend hang: rcutorture threads need to be nofreeze.

    Signed-off-by: Ingo Molnar
    Acked-by: Paul E. McKenney
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • WARN_ON() ever triggering is a kernel bug. Do not try to paper over this
    fact by suggesting to the user that this is 'only' a warning, as the
    following recent commit does:

    commit 30e25b71e725b150585e17888b130e3324f8cf7c
    Author: Jeremy Fitzhardinge
    Date: Fri Dec 8 02:36:24 2006 -0800

    [PATCH] Fix generic WARN_ON message

    A warning is a warning, not a BUG.

    ( it might make sense to rename BUG() to CRASH() and BUG_ON() to
    CRASH_ON(), but that does not change the fact that WARN_ON()
    signals a kernel bug. )

    i and others objected to this change during lkml review:

    http://marc.theaimsgroup.com/?l=linux-kernel&m=116115160710533&w=2

    still the change slipped upstream - grumble :)

    Also, use the standard "BUG: " format to make it easier to grep logs and
    to make it easier to google for kernel bugs.

    Signed-off-by: Ingo Molnar
    Cc: Jeremy Fitzhardinge
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     
  • Choose rpa_vscsi.c over iseries_vscsi.c when building both pseries and
    iseries. This fixes a link error.

    Signed-off-by: Judith Lebzelter
    Acked-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Judith Lebzelter
     
  • lockdep found a AB BC CA lock inversion in retry-based AIO:

    1) The task struct's alloc_lock (A) is acquired in process context with
    interrupts enabled. An interrupt might arrive and call wake_up() which
    grabs the wait queue's q->lock (B).

    2) When performing retry-based AIO the AIO core registers
    aio_wake_function() as the wake funtion for iocb->ki_wait. It is called
    with the wait queue's q->lock (B) held and then tries to add the iocb to
    the run list after acquiring the ctx_lock (C).

    3) aio_kick_handler() holds the ctx_lock (C) while acquiring the
    alloc_lock (A) via lock_task() and unuse_mm(). Lockdep emits a warning
    saying that we're trying to connect the irq-safe q->lock to the
    irq-unsafe alloc_lock via ctx_lock.

    This fixes the inversion by calling unuse_mm() in the AIO kick handing path
    after we've released the ctx_lock. As Ben LaHaise pointed out __put_ioctx
    could set ctx->mm to NULL, so we must only access ctx->mm while we have the
    lock.

    Signed-off-by: Zach Brown
    Signed-off-by: Suparna Bhattacharya
    Acked-by: Benjamin LaHaise
    Cc: "Chen, Kenneth W"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zach Brown
     
  • set_param_str() cannot use kstrdup() to duplicate the parameter. That's
    fine when the driver is compiled as a module but it sure is not when built
    into the kernel as the kernel parameters are parsed before the kmalloc
    slabs are setup.

    Signed-off-by: Sebastien Dugué
    Acked-by: Corey Minyard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sebastien Dugué
     

30 Dec, 2006

5 commits

  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] cio: fix stsch_reset.
    [S390] Change max. buffer size for monwriter device.

    Linus Torvalds
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (28 commits)
    V4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging
    V4L/DVB (5012): Usbvision fix: It was using "&&" instead "&"
    V4L/DVB (5001): Add two required headers on kernel 2.6.20-rc1
    V4L/DVB (5014): Allyesconfig build fixes on some non x86 arch
    V4L/DVB (4997): Bttv: delete duplicated ioremap()
    V4L/DVB (4996): Msp3400: fix kthread_run error check
    V4L/DVB (4995): Vivi: fix kthread_run() error check
    V4L/DVB (4994): Vivi: fix use after free in list_for_each()
    V4L/DVB (4992): Fix typo in saa7134-dvb.c
    V4L/DVB (4991): Cafe_ccic.c: fix NULL dereference
    V4L/DVB (4990): Cpia2/cpia2_usb.c: fix error-path leak
    V4L/DVB (4988): Cx2341x audio_properties is an u16, not u8
    V4L/DVB (4984): LOG_STATUS should show the real temporal filter value.
    V4L/DVB (4983): Force temporal filter to 0 when scaling to prevent ghosting.
    V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400.
    V4L/DVB (4980): Fixes bug 7267: PAL/60 is not working
    V4L/DVB (4979): Fixes compilation when CONFIG_V4L1_COMPAT is not selected
    V4L/DVB (4973): Dvb-core: fix printk type warning
    V4L/DVB (4972): Dvb-core: fix bug in CRC-32 checking on 64-bit systems
    V4L/DVB (4970): Usbvision memory fixes
    ...

    Linus Torvalds
     
  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (42 commits)
    r8169: extraneous Cmd{Tx/Rx}Enb write
    forcedeth: modified comment header
    NetXen: Reducing ring sizes for IOMMU issue.
    NetXen: Fix for PPC machines.
    NetXen: work queue fixes.
    NetXen: Link status message correction for quad port cards.
    NetXen: Multiple adapter fix.
    NetXen: Using correct CHECKSUM flag.
    NetXen: driver reload fix for newer firmware.
    NetXen: Adding new device ids.
    PHY probe not working properly for ibm_emac (PPC4xx)
    ep93xx: some minor cleanups to the ep93xx eth driver
    sky2: phy power down needs PCI config write enabled
    sky2: power management/MSI workaround
    sky2: dual port NAPI problem
    via-velocity uses INET interfaces
    e1000: Do not truncate TSO TCP header with 82544 workaround
    myri10ge: handle failures in suspend and resume
    myri10ge: no need to save MSI and PCIe state in the driver
    myri10ge: make msi configurable at runtime through sysfs
    ...

    Linus Torvalds
     
  • * 'netxen-ioctl' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
    netxen: remove private ioctl

    Linus Torvalds
     
  • The VM layer (on the face of it, fairly reasonably) expected that when
    it does a ->writepage() call to the filesystem, it would write out the
    full page at that point in time. Especially since it had earlier marked
    the whole page dirty with "set_page_dirty()".

    But that isn't actually the case: ->writepage() does not actually write
    a page, it writes the parts of the page that have been explicitly marked
    dirty before, *and* that had not got written out for other reasons since
    the last time we told it they were dirty.

    That last caveat is the important one.

    Which _most_ of the time ends up being the whole page (since we had
    called "set_page_dirty()" on the page earlier), but if the filesystem
    had done any dirty flushing of its own (for example, to honor some
    internal write ordering guarantees), it might end up doing only a
    partial page IO (or none at all) when ->writepage() is actually called.

    That is the correct thing in general (since we actually often _want_
    only the known-dirty parts of the page to be written out), but the
    shared dirty page handling had implicitly forgotten about these details,
    and had a number of cases where it was doing just the "->writepage()"
    part, without telling the low-level filesystem that the whole page might
    have been re-dirtied as part of being mapped writably into user space.

    Since most of the time the FS did actually write out the full page, we
    didn't notice this for a loong time, and this needed some really odd
    patterns to trigger. But it caused occasional corruption with rtorrent
    and with the Debian "apt" database, because both use shared mmaps to
    update the end result.

    This fixes it. Finally. After way too much hair-pulling.

    Acked-by: Nick Piggin
    Acked-by: Martin J. Bligh
    Acked-by: Martin Michlmayr
    Acked-by: Martin Johansson
    Acked-by: Ingo Molnar
    Acked-by: Andrei Popa
    Cc: High Dickins
    Cc: Andrew Morton ,
    Cc: Peter Zijlstra
    Cc: Segher Boessenkool
    Cc: David Miller
    Cc: Arjan van de Ven
    Cc: Gordon Farquharson
    Cc: Guillaume Chazarain
    Cc: Theodore Tso
    Cc: Kenneth Cheng
    Cc: Tobias Diedrich
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

28 Dec, 2006

13 commits