13 May, 2008

40 commits

  • PA-RISC to aid debugging prints out the zonelists setup by the system. A
    bad call to node_zonelist() breaks at compile-time. This patch fixes it.

    Signed-off-by: Mel Gorman
    Cc: Christoph Lameter
    Cc: Lee Schermerhorn
    Cc: Kyle McMartin
    Cc: Grant Grundler
    Cc: James Bottomley
    Cc: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • We have to set the ISAPNP register index when setting an IRQ via the sysfs
    interface. We already do it for IO, MEM, and DMA resources; I just missed the
    IRQ one.

    Signed-off-by: Bjorn Helgaas
    Cc: Len Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • This would appear to be the last reference to TOPDIR in the entire tree, after
    which i'm guessing that variable can be dropped.

    Signed-off-by: Robert P. J. Day
    Acked-by: David Howells
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • The function framebuffer_release just calls kfree, so calling kfree
    subsequently on the same argument represents a double free. The comments with
    the definition of framebuffer_release in drivers/video/fbsysfs.c suggest that
    a more elaborate definition of this function is planned, such that the
    splitting up of framebuffer_release and kfree as done in the second instance
    might someday make sense, but it does not make sense now.

    This was found using the following semantic match.
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@
    expression E;
    @@

    * kfree(E);
    ...
    * framebuffer_release(E);

    @@
    expression E;
    @@

    * framebuffer_release(E);
    ...
    * kfree(E);
    //

    Signed-off-by: Julia Lawall
    Cc: Vitaly Wool
    Cc: Krzysztof Helt
    Cc: Grigory Tolstolytkin
    Cc: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Julia Lawall
     
  • Signed-off-by: Denis Cheng
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis Cheng
     
  • Add a sentence about when fan speed increases to maximum.

    Signed-off-by: Darrick J. Wong
    Acked-by: Jean Delvare
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Darrick J. Wong
     
  • There is currently no way to query the bounding set of another task. As there
    appears to be no security reason not to, and as Michael Kerrisk points out the
    following valid reasons to do so exist:

    * consistency (I can see all of the other per-thread/process sets in
    /proc/.../status)

    * debugging -- I could imagine that it would make the job of debugging an
    application that uses capabilities a little simpler.

    this patch adds the bounding set to /proc/self/status right after the
    effective set.

    Signed-off-by: Serge E. Hallyn
    Acked-by: Michael Kerrisk
    Acked-by: Andrew G. Morgan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn
     
  • commit bd2ab67030e9116f1e4aae1289220255412b37fd "md: close a livelock window
    in handle_parity_checks5" introduced a bug in handling 'repair' operations.
    After a repair operation completes we clear the state bits tracking this
    operation. However, they are cleared too early and this results in the code
    deciding to re-run the parity check operation. Since we have done the repair
    in memory the second check does not find a mismatch and thus does not do a
    writeback.

    Test results:
    $ echo repair > /sys/block/md0/md/sync_action
    $ cat /sys/block/md0/md/mismatch_cnt
    51072
    $ echo repair > /sys/block/md0/md/sync_action
    $ cat /sys/block/md0/md/mismatch_cnt
    0

    (also fix incorrect indentation)

    Cc:
    Tested-by: George Spelvin
    Acked-by: NeilBrown
    Signed-off-by: Dan Williams
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Williams
     
  • Improve clock calculation precision (to kHz from MHz) and removes parameter
    field vclk from the tridentfb_par structure.

    Signed-off-by: Krzysztof Helt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Remove redundant enable_mmio() call as the mmio mode is enabled in the probe
    function earlier.

    Signed-off-by: Krzysztof Helt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Krzysztof Helt
     
  • Otherwise it can only take the values 0/-1 which doesn't seem to
    have been intended.

    drivers/mmc/host/sdhci.h:190:20: error: dubious one-bit signed bitfield

    Signed-off-by: Harvey Harrison
    Acked-by: Pierre Ossman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • Sometimes, vfs_quota_off() is called on a partially set up super block (for
    example when fill_super() fails for some reason). In such cases we cannot
    call ->sync_fs() because it can Oops because of not properly filled in super
    block. So in case we find there's not quota to turn off, we just skip
    everything and return which fixes the above problem.

    [akpm@linux-foundation.org: fxi tpyo]
    Signed-off-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • Signed-off-by: Christoph Hellwig
    Acked-by: Evgeniy Dushistov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • When accessing cpu_online_map, we should prevent dynamic changing
    of cpu_online_map by get_online_cpus().

    Unfortunately, all_vm_events() doesn't do that.

    Signed-off-by: KOSAKI Motohiro
    Acked-by: Christoph Lameter
    Cc: Gautham R Shenoy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • As the subject says this patch adds the support for kernel preemption on
    m68knommu Coldfire. I thing the same changes could be applied to 68360 &
    68328 but since I don't have the HW, I don't touch it. Kconfig enables the
    preemption item only on coldfire.

    This is a missing chunk from Sebastian's original patch that I lost from the
    first submission.

    Signed-off-by: Sebastian Siewior
    Signed-off-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sebastian Siewior
     
  • dget(dentry->d_parent) --> dget_parent(dentry)

    unlock_parent() is racy and unnecessary. Replace single caller with
    unlock_dir().

    There are several other suspect uses of ->d_parent in ecryptfs...

    Signed-off-by: Miklos Szeredi
    Cc: Michael Halcrow
    Cc: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • In preparation for supporting greater than 64 partitions replace partid_t by
    short in drivers/misc/sgi-xp.

    Signed-off-by: Dean Nelson
    Acked-by: Robin Holt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dean Nelson
     
  • Make XP return values more generic to XP and not so tied to XPC by changing
    enum xpc_retval to xp_retval, along with changing return value prefixes from
    xpc to xp. Also, cleanup a comment block that referenced some of these return
    values as well as the handling of BTE related return values.

    Signed-off-by: Dean Nelson
    Acked-by: Robin Holt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dean Nelson
     
  • There is a typo in pxa2xx_spi.c, comment says "Enable the SSP clock", code
    says: clk_disable ... so after resume, the SSP is dead.

    Signed-off-by: David Brownell
    Cc: Ned Forrester
    Cc: Stephen Street
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric BENARD
     
  • Alarm delivery could be noticably late in the !CONFIG_NOHZ case because lost
    ticks weren't being taken into account. This is now treated more carefully,
    with the time between ticks being calculated and the appropriate number of
    ticks delivered to the timekeeping system.

    Cc: Nix
    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Give random.c a style workover while I'm changing it.

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

    Jeff Dike
     
  • The random driver would essentially hang if the host's /dev/random returned
    -EAGAIN. There was a test of need_resched followed by a schedule inside the
    loop, but that didn't help and it's the wrong way to work anyway.

    The right way is to ask for an interrupt when there is input available from
    the host and handle it then rather than polling.

    Now, when the host's /dev/random returns -EAGAIN, the driver asks for a wakeup
    when there's randomness available again and sleeps. The interrupt routine
    just wakes up whatever processes are sleeping on host_read_wait.

    There is an atomic_t, host_sleep_count, which counts the number of processes
    waiting for randomness. When this reaches zero, the interrupt is disabled.

    An added complication is that async I/O notification was only recently added
    to /dev/random (by me), so essentially all hosts will lack it. So, we use the
    sigio workaround here, which is to have a separate thread poll on the
    descriptor and send an interrupt when there is input on it. This mechanism is
    activated when a process gets -EAGAIN (activating this multiple times is
    harmless, if a bit wasteful) and deactivated by the last process still
    waiting.

    The module name was changed from "random" to "hw_random" in order for udev to
    recognize it.

    The sigio workaround needed some changes. sigio_broken was added for cases
    when we know that async notification doesn't work. This is now called from
    maybe_sigio_broken, which deals with pts devices.

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

    Jeff Dike
     
  • The top of physical memory should be below the initial process stack, not the
    top of the address space, at least for as long as the stack isn't known to the
    kernel VM system and appropriately reserved.

    Cc: "Christopher S. Aker"
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • This patch includes page.h header into linker scripts that allow us to
    use PAGE_SIZE macro instead of numeric constant.

    To be able to include page.h into linker scripts page.h is needed for
    some modification - i.e. we need to use __ASSEMBLY__ and _AC macro

    [jdike@linux.intel.com - fixed conflict with as-layout.h]
    Signed-off-by: Cyrill Gorcunov
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cyrill Gorcunov
     
  • I just saw similar patches in the janitor kernel's list, and spotted place it
    fits.

    Signed-off-by: Jiri Olsa
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Olsa
     
  • Add the BLOCK dependency for RAW_DRIVER, to match what's in
    drivers/char/Kconfig. Also, while we're there, update the alleged
    obsolesence of RAW_DRIVER since it doesn't seem to be going away any
    time soon.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • From: Robert P. J. Day

    Use newer, non-deprecated __SPIN_LOCK_UNLOCKED macro.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • UML's supposed nanosecond clock interacts badly with NTP when NTP
    decides that the clock has drifted ahead and needs to be slowed down.
    Slowing down the clock is done by decrementing the cycle-to-nanosecond
    multiplier, which is 1. Decrementing that gives you 0 and time is
    stopped.

    This is fixed by switching to a microsecond clock, with a multiplier
    of 1000.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • From: Adrian Bunk

    This patch removes the unused and broken (the normal asm/keyboard.h
    files no longer exists) include/asm-um/keyboard.h

    Signed-off-by: Adrian Bunk
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Reintroduce uml_kmalloc for the benefit of UML libc code. The
    previous tactic of declaring __kmalloc so it could be called directly
    from the libc side of the house turned out to be getting too intimate
    with slab, and it doesn't work with slob.

    So, the uml_kmalloc wrapper is back. It calls kmalloc or whatever
    that translates into, and libc code calls it.

    kfree is left alone since that still works, leaving a somewhat
    inconsistent API.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Error returns are negative.

    Signed-off-by: Johann Felix Soden
    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johann Felix Soden
     
  • Tidy the ptrace interface code. Removed a bunch of unused macros.
    Started converting register sets from arrays of longs to structures.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • There's no reason for the _kern in hppfs_kern.c, so move it to hppfs.c.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • hppfs tidying and fixes noticed during hch's get_inode work -
    style fixes
    a copy_to_user got its return value checked
    hppfs_write no longer fiddles file->f_pos because it gets and
    returns pos in its arguments
    hppfs_delete_inode dputs the underlyng procfs dentry stored in
    its private data and mntputs the vfsmnt stashed in s_fs_info
    hppfs_put_super no longer needs to mntput the s_fs_info, so it
    no longer needs to exist
    hppfs_readlink and hppfs_follow_link were doing a bunch of stuff
    with a struct file which they didn't use
    there is now a ->permission which calls generic_permission
    get_inode was always returning 0 for some reason - it now
    returns an inode if nothing bad happened

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • A few random style fixes.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Redo how host capabilities are recorded at startup and disabled on the
    command line.

    There are now explicit variables saying what's been disabled by the
    command line rather than the implicitness of the have_* variable being
    zero. The capability variables now start at zero and are set to one
    as their capabilities are found to be present on the host.

    Signed-off-by: Jeff Dike
    Cc: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Because it's not correct with a non-preemptable BKL and just causes
    PREEMPT kernels to have longer latencies than non-PREEMPT ones (which is
    obviously not the point of it at all).

    Of course, that config option actually got removed as an option earlier,
    so for now this basically disables it entirely, but if BKL preemption is
    ever resurrected it will be a meaningful optimization. And in the
    meantime, it at least documents the intent of the code, while not doing
    the wrong thing.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [CIFS] don't allow demultiplex thread to exit until kthread_stop is called
    [CIFS] when not using unix extensions, check for and set ATTR_READONLY on create and mkdir
    [CIFS] add local struct inode pointer to cifs_setattr
    [CIFS] cifs_find_tcp_session cleanup

    Linus Torvalds
     
  • We should not go through the task pointer to get at the thread info,
    since it's usually cheaper to just access the thread info directly.

    So don't make the code look up 'current', when we can just use the
    thread info accessor functions directly. This generally avoids one
    level of indirection and tends to work better together with code that
    also looks at other thread flags (eg preempt_count).

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-inttypes:
    types: s390: fix #ifdef reversal in

    Linus Torvalds