07 Feb, 2008

1 commit

  • This patch contains the scheduled removal of OSS drivers whose config
    options have been removed in 2.6.23.

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

    Adrian Bunk
     

06 Feb, 2008

10 commits

  • with module_param macro, the __setup code can be killed now:
    const __setup("all-generic-ide", ide_generic_all_on);

    and the module name "generic.ko" is not descriptive to its functionality,
    can be changed in Makefile, the "ide-pci-generic.ko" is better.

    the ide-pci-generic.all-generic-ide parameter also documented
    in Documentation/kernel-parameters.txt

    Signed-off-by: Denis Cheng
    Cc: Greg Kroah-Hartman
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Denis Cheng
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] make pfm_get_task work with virtual pids
    [IA64] honor notify_die() returning NOTIFY_STOP
    [IA64] remove dead code: __cpu_{down,die} from !HOTPLUG_CPU
    [IA64] Appoint kvm/ia64 Maintainers
    [IA64] ia64_set_psr should use srlz.i
    [IA64] Export three symbols for module use
    [IA64] mca style cleanup
    [IA64] sn_hwperf semaphore to mutex
    [IA64] generalize attribute of fsyscall_gtod_data
    [IA64] efi.c Add /* never reached */ annotation
    [IA64] efi.c Spelling/punctuation fixes
    [IA64] Make efi.c mostly fit in 80 columns
    [IA64] aliasing-test: fix gcc warnings on non-ia64
    [IA64] Slim-down __clear_bit_unlock
    [IA64] Fix the order of atomic operations in restore_previous_kprobes on ia64
    [IA64] constify function pointer tables
    [IA64] fix userspace compile error in gcc_intrin.h

    Linus Torvalds
     
  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] dcss: Initialize workqueue before using it.
    [S390] Remove BUILD_BUG_ON() in vmem code.
    [S390] sclp_tty/sclp_vt220: Fix scheduling while atomic
    [S390] dasd: fix panic caused by alias device offline
    [S390] dasd: add ifcc handling
    [S390] latencytop s390 support.
    [S390] Implement ext2_find_next_bit.
    [S390] Cleanup & optimize bitops.
    [S390] Define GENERIC_LOCKBREAK.
    [S390] console: allow vt220 console to be the only console
    [S390] Fix couple of section mismatches.
    [S390] Fix smp_call_function_mask semantics.
    [S390] Fix linker script.
    [S390] DEBUG_PAGEALLOC support for s390.
    [S390] cio: Add shutdown callback for ccwgroup.
    [S390] cio: Update documentation.
    [S390] cio: Clean up chsc response code handling.
    [S390] cio: make sense id procedure work with partial hardware response

    Linus Torvalds
     
  • 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
     
  • 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
     
  • Though the lower_zone_protection was changed to lowmem_reserve_ratio, the
    document has been not changed. The lowmem_reserve_ratio seems quite hard
    to estimate, but there is no guidance. This patch is to change document
    for it.

    Signed-off-by: Yasunori Goto
    Cc: Andrea Arcangeli
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     
  • Add vm.highmem_is_dirtyable toggle

    A 32 bit machine with HIGHMEM64 enabled running DCC has an MMAPed file of
    approximately 2Gb size which contains a hash format that is written
    randomly by the dbclean process. On 2.6.16 this process took a few
    minutes. With lowmem only accounting of dirty ratios, this takes about 12
    hours of 100% disk IO, all random writes.

    Include a toggle in /proc/sys/vm/highmem_is_dirtyable which can be set to 1 to
    add the highmem back to the total available memory count.

    [akpm@linux-foundation.org: Fix the CONFIG_DETECT_SOFTLOCKUP=y build]
    Signed-off-by: Bron Gondwana
    Cc: Ethan Solomita
    Cc: Peter Zijlstra
    Cc: WU Fengguang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bron Gondwana
     
  • Use drivers/gpio/pca9539.c instead.

    Signed-off-by: eric miao
    Acked-by: Ben Gardner
    Acked-by: Jean Delvare
    Signed-off-by: David Brownell
    Cc: Sam Ravnborg
    Cc: Haavard Skinnemoen
    Cc: Philipp Zabel
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    eric miao
     
  • Update Documentation/gpio.txt, primarily to include the new "gpiolib"
    infrastructure.

    Signed-off-by: David Brownell
    Cc: Jean Delvare
    Cc: Eric Miao
    Cc: Sam Ravnborg
    Cc: Haavard Skinnemoen
    Cc: Philipp Zabel
    Cc: Russell King
    Cc: Ben Gardner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Brownell
     
  • Remove kio_addr_t, and replace it with unsigned int. No known architecture
    needs more than 32 bits for IO addresses and ports and having a separate type
    for it is just messy.

    Signed-off-by: Olof Johansson
    Cc: Christoph Hellwig
    Cc: Matthew Wilcox
    Cc: Alan Cox
    Cc: Dominik Brodowski
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olof Johansson
     

05 Feb, 2008

4 commits

  • Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     
  • Eliminate all build warnings. OK, these build warnings are from
    a build on x86_64. When I build on ia64, I don't see warnings.

    Now builds cleanly on ia64 and x86_64.

    Documentation/ia64/aliasing-test.c: In function 'map_mem':
    Documentation/ia64/aliasing-test.c:39: warning: implicit declaration of function 'ioctl'
    Documentation/ia64/aliasing-test.c: In function 'scan_rom':
    Documentation/ia64/aliasing-test.c:183: warning: format '%ld' expects type 'long int', but argument 4 has type 'int'
    Documentation/ia64/aliasing-test.c: At top level:
    Documentation/ia64/aliasing-test.c:208: warning: function declaration isn't a prototype
    Documentation/ia64/aliasing-test.c: In function 'main':
    Documentation/ia64/aliasing-test.c:259: warning: control reaches end of non-void function
    Documentation/ia64/aliasing-test.c: In function 'scan_rom':
    Documentation/ia64/aliasing-test.c:152: warning: 'rc' may be used uninitialized in this function
    Documentation/ia64/aliasing-test.c: In function 'scan_tree':
    Documentation/ia64/aliasing-test.c:68: warning: 'rc' may be used uninitialized in this function

    Signed-off-by: Randy Dunlap
    Acked-by: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Tony Luck

    Randy Dunlap
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (78 commits)
    x86: fix RTC lockdep warning: potential hardirq recursion
    x86: cpa, micro-optimization
    x86: cpa, clean up code flow
    x86: cpa, eliminate CPA_ enum
    x86: cpa, cleanups
    x86: implement gbpages support in change_page_attr()
    x86: support gbpages in pagetable dump
    x86: add gbpages support to lookup_address
    x86: add pgtable accessor functions for gbpages
    x86: add PUD_PAGE_SIZE
    x86: add feature macros for the gbpages cpuid bit
    x86: switch direct mapping setup over to set_pte
    x86: fix page-present check in cpa_flush_range
    x86: remove cpa warning
    x86: remove now unused clear_kernel_mapping
    x86: switch pci-gart over to using set_memory_np() instead of clear_kernel_mapping()
    x86: cpa selftest, skip non present entries
    x86: CPA fix pagetable split
    x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE
    x86: cpa, fix lookup_address
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (25 commits)
    virtio: balloon driver
    virtio: Use PCI revision field to indicate virtio PCI ABI version
    virtio: PCI device
    virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz
    virtio_blk: Dont waste major numbers
    virtio_blk: provide getgeo
    virtio_net: parametrize the napi_weight for virtio receive queue.
    virtio: free transmit skbs when notified, not on next xmit.
    virtio: flush buffers on open
    virtnet: remove double ether_setup
    virtio: Allow virtio to be modular and used by modules
    virtio: Use the sg_phys convenience function.
    virtio: Put the virtio under the virtualization menu
    virtio: handle interrupts after callbacks turned off
    virtio: reset function
    virtio: populate network rings in the probe routine, not open
    virtio: Tweak virtio_net defines
    virtio: Net header needs hdr_len
    virtio: remove unused id field from struct virtio_blk_outhdr
    virtio: clarify NO_NOTIFY flag usage
    ...

    Linus Torvalds
     

04 Feb, 2008

7 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)
    Jesper Juhl is the new trivial patches maintainer
    Documentation: mention email-clients.txt in SubmittingPatches
    fs/binfmt_elf.c: spello fix
    do_invalidatepage() comment typo fix
    Documentation/filesystems/porting fixes
    typo fixes in net/core/net_namespace.c
    typo fix in net/rfkill/rfkill.c
    typo fixes in net/sctp/sm_statefuns.c
    lib/: Spelling fixes
    kernel/: Spelling fixes
    include/scsi/: Spelling fixes
    include/linux/: Spelling fixes
    include/asm-m68knommu/: Spelling fixes
    include/asm-frv/: Spelling fixes
    fs/: Spelling fixes
    drivers/watchdog/: Spelling fixes
    drivers/video/: Spelling fixes
    drivers/ssb/: Spelling fixes
    drivers/serial/: Spelling fixes
    drivers/scsi/: Spelling fixes
    ...

    Linus Torvalds
     
  • Signed-off-by: Rob Landley
    Cc: Vojtech Pavlik
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Rob Landley
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
    Driver core: Remove unneeded get_{device,driver}() calls.
    Driver core: Update some prototypes in platform.txt
    driver core: convert to use class_find_device api
    PM: Export device_pm_schedule_removal
    nozomi: finish constification
    nozomi: constify driver
    nozomi driver update
    Add ja_JP translation of stable_kernel_rules.txt
    kobject: kerneldoc comment fix
    kobject: Always build in kernel/ksysfs.o.

    Linus Torvalds
     
  • A reset function solves three problems:

    1) It allows us to renegotiate features, eg. if we want to upgrade a
    guest driver without rebooting the guest.

    2) It gives us a clean way of shutting down virtqueues: after a reset,
    we know that the buffers won't be used by the host, and

    3) It helps the guest recover from messed-up drivers.

    So we remove the ->shutdown hook, and the only way we now remove
    feature bits is via reset.

    We leave it to the driver to do the reset before it deletes queues:
    the balloon driver, for example, needs to chat to the host in its
    remove function.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • The other side (host) can set the NO_NOTIFY flag as an optimization,
    to say "no need to kick me when you add things". Make it clear that
    this is advisory only; especially that we should always notify when
    the ring is full.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • Previously we used a type/len pair within the config space, but this
    seems overkill. We now simply define a structure which represents the
    layout in the config space: the config space can now only be extended
    at the end.

    The main driver-visible changes:
    1) We indicate what fields are present with an explicit feature bit.
    2) Virtqueues are explicitly numbered, and not in the config space.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • I was struggling to get my email-client no to mangle my patch files,
    and I didn't find enough information in the SubmittingPatches file.
    By looking for more information on the web, I eventually found the
    email-clients.txt file, and it answered all my needs

    This patch adds a reference to email-clients.txt in SubmittingPatches,
    and Mozilla related information which is no longer accurate
    (as opposed to the details found in email-clients.txt).

    This should be helpful for people sending their first patches,
    or not sending patches on a frequent basis.

    Signed-off-by: Michael Opdenacker
    Acked-by: Randy Dunlap
    Acked-by: Jeff Garzik
    Signed-off-by: Adrian Bunk

    Michael Opdenacker
     

03 Feb, 2008

17 commits


02 Feb, 2008

1 commit

  • * git://git.infradead.org/battery-2.6:
    apm_power: check I.intval for zero value, we use it as the divisor
    MAINTAINERS: remove kernel-discuss@handhelds.org list
    pda_power: implement polling
    pda_power: various cleanups
    apm_power: support using VOLTAGE_* properties for apm calculations
    pda_power: add suspend/resume support
    power_supply: add few more values and props
    pda_power: only register available psu
    power: fix incorrect unregistration in power_supply_create_attrs error path
    power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL
    [BATTERY] power_supply_leds: use kasprintf
    [BATTERY] Every file should include the headers containing the prototypes for its global functions.

    Linus Torvalds