06 Feb, 2008

40 commits

  • It seems, that current kernel source code contains no traces of
    MAC_ADBKEYCODES and no reference to keyboard_sends_linux_keycodes any more.

    Remove them from configuration files.

    Signed-off-by: Stanislav Brabec
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stanislav Brabec
     
  • Add some new card definitions and fix a typo (from Eugen Paiuc).

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • Corrects a mistake I made in a comment.

    Signed-off-by: Finn Thain
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Finn Thain
     
  • EXPORT_SYMBOL's belong to the actual code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • EXPORT_SYMBOL's belong to the actual code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • EXPORT_SYMBOL's belong to the actual code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • It was empty.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • EXPORT_SYMBOL's belong to the actual code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • nubus: kill drivers/nubus/nubus_syms.c

    EXPORT_SYMBOL's belong to the actual code.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Signed-off-by: Roel Kluin
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • [Geert: eliminate NUMNAMES, as suggested by Richard Knutsson ]
    [akpm@linux-foundation.org: coding-syle fixes]
    Signed-off-by: Alejandro Martinez Ruiz
    Signed-off-by: Geert Uytterhoeven
    Cc: Richard Knutsson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alejandro Martinez Ruiz
     
  • Signed-off-by: Alejandro Martinez Ruiz
    Signed-off-by: Geert Uytterhoeven
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alejandro Martinez Ruiz
     
  • The cc-cross-prefix is new and developed on request from Geert Uytterhoeven.

    With cc-cross-prefix it is now much easier to have a few default cross compile
    prefixes and defaulting to none - if none of them were present. ARCH
    maintainers are expected to pick up this feature soon.

    Signed-off-by: Geert Uytterhoeven
    Cc: Andreas Schwab
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Modify the b43 driver to avoid deadlocking suspend and resume, which happens
    as a result of attempting to unregister device objects locked by the PM core
    during suspend/resume cycles. Also, make it use a suspend-safe method of
    unregistering device object in the resume error path.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Michael Buesch
    Cc: Pavel Machek
    Cc: "John W. Linville"
    Cc: Alan Stern
    Cc: Len Brown
    Cc: Greg KH
    Cc: Kay Sievers
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Make it possible to unregister a led classdev object in a safe way during a
    suspend/resume cycle.

    Signed-off-by: Rafael J. Wysocki
    Cc: Michael Buesch
    Cc: Pavel Machek
    Cc: "John W. Linville"
    Cc: Alan Stern
    Cc: Len Brown
    Cc: Greg KH
    Cc: Kay Sievers
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Make it possible to unregister a Hardware Random Number Generator
    device object in a safe way during a suspend/resume cycle.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Michael Buesch
    Cc: Michael Buesch
    Cc: Pavel Machek
    Cc: "John W. Linville"
    Cc: Alan Stern
    Cc: Len Brown
    Cc: Greg KH
    Cc: Kay Sievers
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Make it possible to unregister a misc device object in a safe way during a
    suspend/resume cycle.

    Signed-off-by: Rafael J. Wysocki
    Cc: Michael Buesch
    Cc: Pavel Machek
    Cc: "John W. Linville"
    Cc: Alan Stern
    Cc: Len Brown
    Cc: Greg KH
    Cc: Kay Sievers
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     
  • Replace latency.c use with pm_qos_params use.

    Signed-off-by: mark gross
    Cc: "John W. Linville"
    Cc: Len Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Gross
     
  • The following patch is a generalization of the latency.c implementation done
    by Arjan last year. It provides infrastructure for more than one parameter,
    and exposes a user mode interface for processes to register pm_qos
    expectations of processes.

    This interface provides a kernel and user mode interface for registering
    performance expectations by drivers, subsystems and user space applications on
    one of the parameters.

    Currently we have {cpu_dma_latency, network_latency, network_throughput} as
    the initial set of pm_qos parameters.

    The infrastructure exposes multiple misc device nodes one per implemented
    parameter. The set of parameters implement is defined by pm_qos_power_init()
    and pm_qos_params.h. This is done because having the available parameters
    being runtime configurable or changeable from a driver was seen as too easy to
    abuse.

    For each parameter a list of performance requirements is maintained along with
    an aggregated target value. The aggregated target value is updated with
    changes to the requirement list or elements of the list. Typically the
    aggregated target value is simply the max or min of the requirement values
    held in the parameter list elements.

    >From kernel mode the use of this interface is simple:

    pm_qos_add_requirement(param_id, name, target_value):

    Will insert a named element in the list for that identified PM_QOS
    parameter with the target value. Upon change to this list the new target is
    recomputed and any registered notifiers are called only if the target value
    is now different.

    pm_qos_update_requirement(param_id, name, new_target_value):

    Will search the list identified by the param_id for the named list element
    and then update its target value, calling the notification tree if the
    aggregated target is changed. with that name is already registered.

    pm_qos_remove_requirement(param_id, name):

    Will search the identified list for the named element and remove it, after
    removal it will update the aggregate target and call the notification tree
    if the target was changed as a result of removing the named requirement.

    >From user mode:

    Only processes can register a pm_qos requirement. To provide for
    automatic cleanup for process the interface requires the process to register
    its parameter requirements in the following way:

    To register the default pm_qos target for the specific parameter, the
    process must open one of /dev/[cpu_dma_latency, network_latency,
    network_throughput]

    As long as the device node is held open that process has a registered
    requirement on the parameter. The name of the requirement is
    "process_" derived from the current->pid from within the open system
    call.

    To change the requested target value the process needs to write a s32
    value to the open device node. This translates to a
    pm_qos_update_requirement call.

    To remove the user mode request for a target value simply close the device
    node.

    [akpm@linux-foundation.org: fix warnings]
    [akpm@linux-foundation.org: fix build]
    [akpm@linux-foundation.org: fix build again]
    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: mark gross
    Cc: "John W. Linville"
    Cc: Len Brown
    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Arjan van de Ven
    Cc: Venki Pallipadi
    Cc: Adam Belay
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Gross
     
  • kernel_shutdown_prepare() can now become static.

    Signed-off-by: Adrian Bunk
    Acked-by: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • resume_file[] and create_image() can become static.

    Signed-off-by: Adrian Bunk
    Acked-by: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • mm/vmalloc.c: In function 'unmap_kernel_range':
    mm/vmalloc.c:75: warning: unused variable 'start'

    Macros are so horrid.

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Convert AGP alpha driver from nopage to fault.
    NULL is NOPAGE_SIGBUS, so we aren't changing behaviour there.

    Signed-off-by: Nick Piggin
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • Alpha doesn't use socketcall and doesn't provide __NR_socketcall.

    Signed-off-by: Samuel Thibault
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Samuel Thibault
     
  • pci-noop.c doesn't use DMA mappings.

    Signed-off-by: FUJITA Tomonori
    Cc: Jens Axboe
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • Prevents stuff like

    drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int'
    drivers/crypto/hifn_795x.c:2443: warning: format '%d' expects type 'int', but argument 4 has type 'long int'

    (at least).

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Signed-off-by: Lucas Woods
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lucas Woods
     
  • One EXPORT_SYMBOL should be enough for everyone.

    Signed-off-by: Adrian Bunk
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • This builds on top of the earlier vmalloc_32_user() work introduced by
    b50731732f926d6c49fd0724616a7344c31cd5cf, as we now have places in the nommu
    allmodconfig that hit up against these missing APIs.

    As vmalloc_32_user() is already implemented, this is moved over to
    vmalloc_user() and simply made a wrapper. As all current nommu platforms are
    32-bit addressable, there's no special casing we have to do for ZONE_DMA and
    things of that nature as per GFP_VMALLOC32.

    remap_vmalloc_range() needs to check VM_USERMAP in order to figure out whether
    we permit the remap or not, which means that we also have to rework the
    vmalloc_user() code to grovel for the VMA and set the flag.

    Signed-off-by: Paul Mundt
    Acked-by: David McCullough
    Acked-by: David Howells
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     
  • Removing config variable DUMPTOFLASH, since it is not used

    Signed-off-by: Jiri Olsa
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Olsa
     
  • remove dead config symbols from m68knommu code

    Signed-off-by: Jiri Olsa
    Acked-by: Greg Ungerer
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Olsa
     
  • Use ARRAY_SIZE macroto get maximum ports in ColdFire serial driver.

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

    Greg Ungerer
     
  • The function is question gets the pid from sysctl table, so this one is a
    virtual pid, i.e. the pid of a task as it is seen from inside a namespace.

    So the find_task_by_vpid() must be used here.

    Signed-off-by: Pavel Emelyanov
    Cc: "Eric W. Biederman"
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Emelyanov
     
  • Remove dead config symbol from FRV code.

    Signed-off-by: Jiri Olsa
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Olsa
     
  • To be consistent with other architectures, these two DMA macros should
    be defined in scatterlist.h as opposed to dma-mapping.h

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

    Robert P. J. Day
     
  • Permit the memory to be located somewhere other than address 0xC0000000 in
    NOMMU mode. The configuration options are already present, it just
    requires wiring up in the linker script.

    Note that only a limited set of locations of runtime addresses are available
    because of the way the CPU protection registers work.

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

    David Howells
     
  • Smack is the Simplified Mandatory Access Control Kernel.

    Smack implements mandatory access control (MAC) using labels
    attached to tasks and data containers, including files, SVIPC,
    and other tasks. Smack is a kernel based scheme that requires
    an absolute minimum of application support and a very small
    amount of configuration data.

    Smack uses extended attributes and
    provides a set of general mount options, borrowing technics used
    elsewhere. Smack uses netlabel for CIPSO labeling. Smack provides
    a pseudo-filesystem smackfs that is used for manipulation of
    system Smack attributes.

    The patch, patches for ls and sshd, a README, a startup script,
    and x86 binaries for ls and sshd are also available on

    http://www.schaufler-ca.com

    Development has been done using Fedora Core 7 in a virtual machine
    environment and on an old Sony laptop.

    Smack provides mandatory access controls based on the label attached
    to a task and the label attached to the object it is attempting to
    access. Smack labels are deliberately short (1-23 characters) text
    strings. Single character labels using special characters are reserved
    for system use. The only operation applied to Smack labels is equality
    comparison. No wildcards or expressions, regular or otherwise, are
    used. Smack labels are composed of printable characters and may not
    include "/".

    A file always gets the Smack label of the task that created it.

    Smack defines and uses these labels:

    "*" - pronounced "star"
    "_" - pronounced "floor"
    "^" - pronounced "hat"
    "?" - pronounced "huh"

    The access rules enforced by Smack are, in order:

    1. Any access requested by a task labeled "*" is denied.
    2. A read or execute access requested by a task labeled "^"
    is permitted.
    3. A read or execute access requested on an object labeled "_"
    is permitted.
    4. Any access requested on an object labeled "*" is permitted.
    5. Any access requested by a task on an object with the same
    label is permitted.
    6. Any access requested that is explicitly defined in the loaded
    rule set is permitted.
    7. Any other access is denied.

    Rules may be explicitly defined by writing subject,object,access
    triples to /smack/load.

    Smack rule sets can be easily defined that describe Bell&LaPadula
    sensitivity, Biba integrity, and a variety of interesting
    configurations. Smack rule sets can be modified on the fly to
    accommodate changes in the operating environment or even the time
    of day.

    Some practical use cases:

    Hierarchical levels. The less common of the two usual uses
    for MLS systems is to define hierarchical levels, often
    unclassified, confidential, secret, and so on. To set up smack
    to support this, these rules could be defined:

    C Unclass rx
    S C rx
    S Unclass rx
    TS S rx
    TS C rx
    TS Unclass rx

    A TS process can read S, C, and Unclass data, but cannot write it.
    An S process can read C and Unclass. Note that specifying that
    TS can read S and S can read C does not imply TS can read C, it
    has to be explicitly stated.

    Non-hierarchical categories. This is the more common of the
    usual uses for an MLS system. Since the default rule is that a
    subject cannot access an object with a different label no
    access rules are required to implement compartmentalization.

    A case that the Bell & LaPadula policy does not allow is demonstrated
    with this Smack access rule:

    A case that Bell&LaPadula does not allow that Smack does:

    ESPN ABC r
    ABC ESPN r

    On my portable video device I have two applications, one that
    shows ABC programming and the other ESPN programming. ESPN wants
    to show me sport stories that show up as news, and ABC will
    only provide minimal information about a sports story if ESPN
    is covering it. Each side can look at the other's info, neither
    can change the other. Neither can see what FOX is up to, which
    is just as well all things considered.

    Another case that I especially like:

    SatData Guard w
    Guard Publish w

    A program running with the Guard label opens a UDP socket and
    accepts messages sent by a program running with a SatData label.
    The Guard program inspects the message to ensure it is wholesome
    and if it is sends it to a program running with the Publish label.
    This program then puts the information passed in an appropriate
    place. Note that the Guard program cannot write to a Publish
    file system object because file system semanitic require read as
    well as write.

    The four cases (categories, levels, mutual read, guardbox) here
    are all quite real, and problems I've been asked to solve over
    the years. The first two are easy to do with traditonal MLS systems
    while the last two you can't without invoking privilege, at least
    for a while.

    Signed-off-by: Casey Schaufler
    Cc: Joshua Brindle
    Cc: Paul Moore
    Cc: Stephen Smalley
    Cc: Chris Wright
    Cc: James Morris
    Cc: "Ahmed S. Darwish"
    Cc: Andrew G. Morgan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Casey Schaufler
     
  • Add a new set of configuration functions to the NetLabel/LSM API so that
    LSMs can perform their own configuration of the NetLabel subsystem without
    relying on assistance from userspace.

    Signed-off-by: Paul Moore
    Signed-off-by: Casey Schaufler
    Reviewed-by: James Morris
    Cc: Chris Wright
    Cc: Stephen Smalley
    Cc: Casey Schaufler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Moore
     
  • Root processes are considered more important when out of memory and killing
    proceses. The check for CAP_SYS_ADMIN was augmented with a check for
    uid==0 or euid==0.

    There are several possible ways to look at this:

    1. uid comparisons are unnecessary, trust CAP_SYS_ADMIN
    alone. However CAP_SYS_RESOURCE is the one that really
    means "give me extra resources" so allow for that as
    well.
    2. Any privileged code should be protected, but uid is not
    an indication of privilege. So we should check whether
    any capabilities are raised.
    3. uid==0 makes processes on the host as well as in containers
    more important, so we should keep the existing checks.
    4. uid==0 makes processes only on the host more important,
    even without any capabilities. So we should be keeping
    the (uid==0||euid==0) check but only when
    userns==&init_user_ns.

    I'm following number 1 here.

    Signed-off-by: Serge Hallyn
    Cc: Andrew Morgan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Serge E. Hallyn