15 Feb, 2007

40 commits

  • Since the binary sysctl numbers are unique putting the registered sysctls at
    the head of the sysctl list where they can override existing sysctls serves no
    useful purpose.

    Signed-off-by: Eric W. Biederman
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • With unique binary numbers setting insert_at_head to insert yourself at the
    head of sysctl list and thus override existing sysctl entries serves no point.

    Signed-off-by: Eric W. Biederman
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • There is no need for open files in /proc/sys/XXX to hold a reference count on
    the module that provides the file to prevent module unload races. While there
    is code active in the module p->used in the sysctl_table_header is
    incremented, preventing the sysctl from being unregisted. Once the sysctl is
    unregistered it cannot be found. Open files are also not a problem as they
    revalidate the sysctl information and bump p->used before accessing module
    code.

    So setting de->owner is unnecessary, makes for a bad example and gets in my
    way of removing ctl_table->de.

    Signed-off-by: Eric W. Biederman
    Acked-by: Jens Axboe
    Acked-by: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • With unique binary sysctl numbers setting insert_at_head to override other
    sysctl entries is pointless.

    Signed-off-by: Eric W. Biederman
    Acked-by: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • With unique sysctl binary numbers setting insert_at_head is pointless.

    Signed-off-by: Eric W. Biederman
    Cc: Corey Minyard
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • With unique sysctl binary numbers setting insert_at_head is pointless.

    Signed-off-by: Eric W. Biederman
    Cc: Jiri Kosina
    Cc: Benjamin Herrenschmidt
    Cc: Dmitry Torokhov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The sysctls used by the md driver are have unique binary numbers so remove the
    insert_at_head flag as it serves no useful purpose.

    Signed-off-by: Eric W. Biederman
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Acked-by: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Acked-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The sysctl numbers used are unique so setting the insert_at_head flag does not
    succeed in overriding any sysctls, and is just confusing because it doesn't.
    Clear the flag.

    Signed-off-by: Eric W. Biederman
    Cc: Patrick Caulfield
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The sysctl numbers used are unique so setting the insert_at_head flag servers
    no semantic purpose and is just confusing.

    Signed-off-by: Eric W. Biederman
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The sysctl numbers used are unique so setting the insert_at_head flag serves
    no semantis purpose, and is just confusing.

    Signed-off-by: Eric W. Biederman
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The sysctl numbers used are unique so setting the insert_at_head flag serves
    no semantic purpose, so it is just confusing.

    Signed-off-by: Eric W. Biederman
    Acked-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • The sysctl numbers used are unique so setting the insert_at_head flag serves
    no semantic purpose.

    Signed-off-by: Eric W. Biederman
    Acked-by: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • We don't need this to prevent module unload races so remove the unnecessary
    code.

    Signed-off-by: Eric W. Biederman
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Because the sunrpc sysctls don't conflict with any other sysctls the setting
    the insert at head flag to register_sysctl has no semantic meaning.

    Signed-off-by: Eric W. Biederman
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • Signed-off-by: Eric W. Biederman
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • There has not been much maintenance on sysctl in years, and as a result is
    there is a lot to do to allow future interesting work to happen, and being
    ambitious I'm trying to do it all at once :)

    The patches in this series fall into several general categories.

    - Removal of useless attempts to override the standard sysctls

    - Registers of sysctl numbers in sysctl.h so someone else does not use
    the magic number and conflict.

    - C99 conversions so it becomes possible to change the layout of
    struct ctl_table without breaking everything.

    - Removal of useless claims of module ownership, in the proc dir entries

    - Removal of sys_sysctl support where people had used conflicting sysctl
    numbers. Trying to break glibc or other applications by changing the
    ABI is not cool. 9 instances of this in the kernel seems a little
    extreme.

    - General enhancements when I got the junk I could see out.

    This patch:

    Since x25 uses unique binary numbers inserting yourself at the head of the
    search list for sysctls so you can override already registered sysctls is
    pointless.

    Signed-off-by: Eric W. Biederman
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     
  • SA_SHIRQ is going away.

    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The obsolete SA_xxx interrupt flags have been used despite the scheduled
    removal. Fixup the remaining users in -mm.

    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • The obsolete SA_xxx interrupt flags have been used despite the scheduled
    removal. Fixup the remaining users.

    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Cc: "Luck, Tony"
    Cc: Roman Zippel
    Cc: Geert Uytterhoeven
    Cc: Jeff Garzik
    Cc: Wim Van Sebroeck
    Cc: Roland Dreier
    Cc: Alessandro Zummo
    Cc: James Bottomley
    Cc: Greg KH
    Cc: Dave Airlie
    Cc: James Simmons
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Replace kmalloc() + memset() pairs with the appropriate kzalloc() calls.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Robert P. J. Day
     
  • After Al Viro (finally) succeeded in removing the sched.h #include in module.h
    recently, it makes sense again to remove other superfluous sched.h includes.
    There are quite a lot of files which include it but don't actually need
    anything defined in there. Presumably these includes were once needed for
    macros that used to live in sched.h, but moved to other header files in the
    course of cleaning it up.

    To ease the pain, this time I did not fiddle with any header files and only
    removed #includes from .c-files, which tend to cause less trouble.

    Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
    arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
    allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
    configs in arch/arm/configs on arm. I also checked that no new warnings were
    introduced by the patch (actually, some warnings are removed that were emitted
    by unnecessarily included header files).

    Signed-off-by: Tim Schmielau
    Acked-by: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     
  • AUTH_UNIX authentication (the standard with NFS) has a limit of 16 groups ids.
    This causes problems for people in more than 16 groups.

    So allow the server to map a uid into a list of group ids based on local
    knowledge rather depending on the (possibly truncated) list from the client.

    If there is no process on the server responding to upcalls, the gidlist in the
    request will still be used.

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

    NeilBrown
     
  • Add support for using a filesystem UUID to identify and export point in the
    filehandle.

    For NFSv2, this UUID is xor-ed down to 4 or 8 bytes so that it doesn't take up
    too much room. For NFSv3+, we use the full 16 bytes, and possibly also a
    64bit inode number for exports beneath the root of a filesystem.

    When generating an fsid to return in 'stat' information, use the UUID (hashed
    down to size) if it is available and a small 'fsid' was not specifically
    provided.

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

    NeilBrown
     
  • If we are using the same version/fsid as a current filehandle, then there is
    no need to verify the the numbers are valid for this export, and they must be
    (we used them to find this export).

    This allows us to simplify the fsid selection code.

    Also change "ref_fh_version" and "ref_fh_fsid_type" to "version" and
    "fsid_type", as the important thing isn't that they are the version/type of
    the reference filehandle, but they are the chosen type for the new filehandle.

    And tidy up some indenting.

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

    NeilBrown
     
  • Most files in the 'nfsd' filesystem are transactional. When you write, a
    reply is generated that can be read back only on the same 'file'.

    If the reply has zero length, the 'write' will incorrectly return a value of
    '0' instead of the length that was written. This causes 'rpc.nfsd' to give an
    annoying warning.

    This patch fixes the test.

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

    NeilBrown
     
  • Driver for the Atmel on-chip SPI master controller.

    Tested primarily on AVR32/AT32AP7000/ATSTK1000 using mtd_dataflash and the
    jffs2 filesystem. Should also work fine on various AT91 ARM-based chips
    like AT91SAM926x and AT91RM9200.

    Hardware documentation can be found in the AT32AP7000 data sheet, or its
    AT91 siblings, which can be downloaded from

    http://www.atmel.com/dyn/products/datasheets.asp?family_id=682

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Add UART support for PNX8330/8550/8950 Philips MIPS-based SoCs.

    Signed-off-by: Vitaly Wool
    Cc: Russell King
    Cc: Alan Cox
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vitaly Wool
     
  • Fix the serial header breakage for the PNX8550 MIPS platform.

    Signed-off-by: Vitaly Wool
    Cc: Ralf Baechle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vitaly Wool
     
  • Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Burman Yan
     
  • Since serial devices are powered down when not in use and some of those
    devices cannot be accessed when powered down, we need to enable power
    around calls to get_mcrtl() when dumping port state via uart_line_info().
    This resolves hangs observed on some machines while reading serial device
    registers when a port is powered off.

    Signed-off-by: George G. Davis
    Cc: Russell King
    Cc: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    George G. Davis
     
  • Return failure immediately, so we don't have to test it twice.

    Signed-off-by: Bjorn Helgaas
    Cc: Adam Belay
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     
  • The patch below works around a minor bug found in the UART of the remote
    management card used in many HP ia64 and parisc servers (aka the Diva
    UARTs). The problem is that the UART does not reassert the THRE interrupt
    if it has been previously cleared and the IIR THRI bit is re-enabled. This
    can produce a very annoying failure mode when used as a serial console,
    allowing a boot/reboot to hang indefinitely until an RX interrupt kicks it
    into working again (ie. an unattended reboot could stall).

    To solve this problem, a backup timer is introduced that runs alongside the
    standard interrupt driven mechanism. This timer wakes up periodically,
    checks for a hang condition and gets characters moving again. This backup
    mechanism is only enabled if the UART is detected as having this problem,
    so systems without these UARTs will have no additional overhead.

    This version of the patch incorporates previous comments from Pavel and
    removes races in the bug detection code. The test is now done before the
    irq linking to prevent races with interrupt handler clearing the THRE
    interrupt. Short delays and syncs are also added to ensure the device is
    able to update register state before the result is tested.

    Aristeu says:

    this was tested on the following HP machines and solved the problem:
    rx2600, rx2620, rx1600 and rx1620s.

    hpa says:

    I have seen this same bug in soft UART IP from "a major vendor."

    Signed-off-by: Alex Williamson
    Cc: "H. Peter Anvin"
    Cc: Russell King
    Acked-by: Aristeu Sergio Rozanski Filho
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alex Williamson
     
  • This patch fixes showing empty config list items if "Option/Show All
    Options" is turned on. For example empty items appears on list of 'Block
    Layer' menu.

    Signed-off-by: Cyrill V. Gorcunov
    Cc: Roman Zippel
    Cc: Sam Ravnborg
    Cc: Oleg Verych
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cyrill V. Gorcunov
     
  • Add new headers_check_all target for checking all arches in one go.

    Useful for distros (and people with too much time on their hands) that support
    a ton of architectures, headers_check_all is to headers_check as
    headers_install_all is to headers_install

    Signed-off-by: Mike Frysinger
    Cc: David Woodhouse
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger