29 May, 2009

1 commit

  • The flat loader uses an architecture's flat_stack_align() to align the
    stack but assumes word-alignment is enough for the data sections.

    However, on the Xtensa S6000 we have registers up to 128bit width
    which can be used from userspace and therefor need userspace stack and
    data-section alignment of at least this size.

    This patch drops flat_stack_align() and uses the same alignment that
    is required for slab caches, ARCH_SLAB_MINALIGN, or wordsize if it's
    not defined by the architecture.

    It also fixes m32r which was obviously kaput, aligning an
    uninitialized stack entry instead of the stack pointer.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Oskar Schirmer
    Cc: David Howells
    Cc: Russell King
    Cc: Bryan Wu
    Cc: Geert Uytterhoeven
    Acked-by: Paul Mundt
    Cc: Greg Ungerer
    Signed-off-by: Johannes Weiner
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oskar Schirmer
     

18 Apr, 2009

1 commit

  • This renames include/asm-h8300/timer.h into arch/h8300/include/asm: it
    was left over just because that file had been created in the -mm tree
    before the whole h8300 header subdirectory had been moved, and then got
    merged in the old location afterwards.

    (See commits e0b0f9e4ead2468f84c26332ec42b118e76af572: "h8300: update
    timer handler - new files" and 758db3f2118703a1e36374dae5d58bed963e7e0d:
    "[h8300] move include/asm-h8300 to arch/h8300/include/asm" for details).

    This also removes a left-over .gitignore file in include/asm-arm that
    became stale when the ARM header files were moved (which happened in
    multiple commits, just see "git log -- include/asm-arm" for details).

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

06 Apr, 2009

1 commit

  • * 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)
    tracing, net: fix net tree and tracing tree merge interaction
    tracing, powerpc: fix powerpc tree and tracing tree interaction
    ring-buffer: do not remove reader page from list on ring buffer free
    function-graph: allow unregistering twice
    trace: make argument 'mem' of trace_seq_putmem() const
    tracing: add missing 'extern' keywords to trace_output.h
    tracing: provide trace_seq_reserve()
    blktrace: print out BLK_TN_MESSAGE properly
    blktrace: extract duplidate code
    blktrace: fix memory leak when freeing struct blk_io_trace
    blktrace: fix blk_probes_ref chaos
    blktrace: make classic output more classic
    blktrace: fix off-by-one bug
    blktrace: fix the original blktrace
    blktrace: fix a race when creating blk_tree_root in debugfs
    blktrace: fix timestamp in binary output
    tracing, Text Edit Lock: cleanup
    tracing: filter fix for TRACE_EVENT_FORMAT events
    ftrace: Using FTRACE_WARN_ON() to check "freed record" in ftrace_release()
    x86: kretprobe-booster interrupt emulation code fix
    ...

    Fix up trivial conflicts in
    arch/parisc/include/asm/ftrace.h
    include/linux/memory.h
    kernel/extable.c
    kernel/module.c

    Linus Torvalds
     

04 Apr, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (28 commits)
    trivial: Update my email address
    trivial: NULL noise: drivers/mtd/tests/mtd_*test.c
    trivial: NULL noise: drivers/media/dvb/frontends/drx397xD_fw.h
    trivial: Fix misspelling of "Celsius".
    trivial: remove unused variable 'path' in alloc_file()
    trivial: fix a pdlfush -> pdflush typo in comment
    trivial: jbd header comment typo fix for JBD_PARANOID_IOFAIL
    trivial: wusb: Storage class should be before const qualifier
    trivial: drivers/char/bsr.c: Storage class should be before const qualifier
    trivial: h8300: Storage class should be before const qualifier
    trivial: fix where cgroup documentation is not correctly referred to
    trivial: Give the right path in Documentation example
    trivial: MTD: remove EOL from MODULE_DESCRIPTION
    trivial: Fix typo in bio_split()'s documentation
    trivial: PWM: fix of #endif comment
    trivial: fix typos/grammar errors in Kconfig texts
    trivial: Fix misspelling of firmware
    trivial: cgroups: documentation typo and spelling corrections
    trivial: Update contact info for Jochen Hein
    trivial: fix typo "resgister" -> "register"
    ...

    Linus Torvalds
     

03 Apr, 2009

1 commit


02 Apr, 2009

1 commit


30 Mar, 2009

2 commits


27 Mar, 2009

2 commits

  • …el/git/tip/linux-2.6-tip

    * 'header-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (50 commits)
    x86: headers cleanup - setup.h
    emu101k1.h: fix duplicate include of <linux/types.h>
    compiler-gcc4: conditionalize #error on __KERNEL__
    remove __KERNEL_STRICT_NAMES
    make netfilter use strict integer types
    make drm headers use strict integer types
    make MTD headers use strict integer types
    make most exported headers use strict integer types
    make exported headers use strict posix types
    unconditionally include asm/types.h from linux/types.h
    make linux/types.h as assembly safe
    Neither asm/types.h nor linux/types.h is required for arch/ia64/include/asm/fpu.h
    headers_check fix cleanup: linux/reiserfs_fs.h
    headers_check fix cleanup: linux/nubus.h
    headers_check fix cleanup: linux/coda_psdev.h
    headers_check fix: x86, setup.h
    headers_check fix: x86, prctl.h
    headers_check fix: linux/reinserfs_fs.h
    headers_check fix: linux/socket.h
    headers_check fix: linux/nubus.h
    ...

    Manually fix trivial conflicts in:
    include/linux/netfilter/xt_limit.h
    include/linux/netfilter/xt_statistic.h

    Linus Torvalds
     
  • * 'irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits)
    x86: disable __do_IRQ support
    sparseirq, powerpc/cell: fix unused variable warning in interrupt.c
    genirq: deprecate obsolete typedefs and defines
    genirq: deprecate __do_IRQ
    genirq: add doc to struct irqaction
    genirq: use kzalloc instead of explicit zero initialization
    genirq: make irqreturn_t an enum
    genirq: remove redundant if condition
    genirq: remove unused hw_irq_controller typedef
    irq: export remove_irq() and setup_irq() symbols
    irq: match remove_irq() args with setup_irq()
    irq: add remove_irq() for freeing of setup_irq() irqs
    genirq: assert that irq handlers are indeed running in hardirq context
    irq: name 'p' variables a bit better
    irq: further clean up the free_irq() code flow
    irq: refactor and clean up the free_irq() code flow
    irq: clean up manage.c
    irq: use GFP_KERNEL for action allocation in request_irq()
    kernel/irq: fix sparse warning: make symbol static
    irq: optimize init_kstat_irqs/init_copy_kstat_irqs
    ...

    Linus Torvalds
     

06 Mar, 2009

1 commit


03 Mar, 2009

1 commit

  • The current definition of CALLER_ADDRx isn't suitable for all platforms.
    E.g. for ARM __builtin_return_address(N) doesn't work for N > 0 and
    AFAIK for powerpc there are no frame pointers needed to have a working
    __builtin_return_address. This patch allows defining the CALLER_ADDRx
    macros in and let these take precedence.

    Because now is included unconditionally in
    all archs that don't already had this include get an
    empty one for free.

    Signed-off-by: Uwe Kleine-Koenig
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Reviewed-by: KOSAKI Motohiro
    Signed-off-by: Steven Rostedt

    Uwe Kleine-Koenig
     

16 Feb, 2009

1 commit

  • User space can request hardware and/or software time stamping.
    Reporting of the result(s) via a new control message is enabled
    separately for each field in the message because some of the
    fields may require additional computation and thus cause overhead.
    User space can tell the different kinds of time stamps apart
    and choose what suits its needs.

    When a TX timestamp operation is requested, the TX skb will be cloned
    and the clone will be time stamped (in hardware or software) and added
    to the socket error queue of the skb, if the skb has a socket
    associated with it.

    The actual TX timestamp will reach userspace as a RX timestamp on the
    cloned packet. If timestamping is requested and no timestamping is
    done in the device driver (potentially this may use hardware
    timestamping), it will be done in software after the device's
    start_hard_xmit routine.

    Signed-off-by: Patrick Ohly
    Signed-off-by: David S. Miller

    Patrick Ohly
     

13 Feb, 2009

1 commit


01 Feb, 2009

1 commit


15 Jan, 2009

2 commits

  • * 'syscalls' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (44 commits)
    [CVE-2009-0029] s390 specific system call wrappers
    [CVE-2009-0029] System call wrappers part 33
    [CVE-2009-0029] System call wrappers part 32
    [CVE-2009-0029] System call wrappers part 31
    [CVE-2009-0029] System call wrappers part 30
    [CVE-2009-0029] System call wrappers part 29
    [CVE-2009-0029] System call wrappers part 28
    [CVE-2009-0029] System call wrappers part 27
    [CVE-2009-0029] System call wrappers part 26
    [CVE-2009-0029] System call wrappers part 25
    [CVE-2009-0029] System call wrappers part 24
    [CVE-2009-0029] System call wrappers part 23
    [CVE-2009-0029] System call wrappers part 22
    [CVE-2009-0029] System call wrappers part 21
    [CVE-2009-0029] System call wrappers part 20
    [CVE-2009-0029] System call wrappers part 19
    [CVE-2009-0029] System call wrappers part 18
    [CVE-2009-0029] System call wrappers part 17
    [CVE-2009-0029] System call wrappers part 16
    [CVE-2009-0029] System call wrappers part 15
    ...

    Linus Torvalds
     
  • Add swab.h to kbuild.asm and remove the individual entries from
    each arch, mark as unifdef as some arches have some kernel-only
    bits inside.

    Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     

14 Jan, 2009

1 commit


11 Jan, 2009

1 commit

  • Impact: build fix

    Ingo Molnar wrote:

    > tip/arch/blackfin/kernel/irqchip.c: In function 'show_interrupts':
    > tip/arch/blackfin/kernel/irqchip.c:85: error: 'struct kernel_stat' has no member named 'irqs'
    > make[2]: *** [arch/blackfin/kernel/irqchip.o] Error 1
    > make[2]: *** Waiting for unfinished jobs....
    >

    So could move kstat_irqs array to irq_desc struct.

    (s390, m68k, sparc) are not touched yet, because they don't support genirq

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     

08 Jan, 2009

1 commit

  • Make VMAs per mm_struct as for MMU-mode linux. This solves two problems:

    (1) In SYSV SHM where nattch for a segment does not reflect the number of
    shmat's (and forks) done.

    (2) In mmap() where the VMA's vm_mm is set to point to the parent mm by an
    exec'ing process when VM_EXECUTABLE is specified, regardless of the fact
    that a VMA might be shared and already have its vm_mm assigned to another
    process or a dead process.

    A new struct (vm_region) is introduced to track a mapped region and to remember
    the circumstances under which it may be shared and the vm_list_struct structure
    is discarded as it's no longer required.

    This patch makes the following additional changes:

    (1) Regions are now allocated with alloc_pages() rather than kmalloc() and
    with no recourse to __GFP_COMP, so the pages are not composite. Instead,
    each page has a reference on it held by the region. Anything else that is
    interested in such a page will have to get a reference on it to retain it.
    When the pages are released due to unmapping, each page is passed to
    put_page() and will be freed when the page usage count reaches zero.

    (2) Excess pages are trimmed after an allocation as the allocation must be
    made as a power-of-2 quantity of pages.

    (3) VMAs are added to the parent MM's R/B tree and mmap lists. As an MM may
    end up with overlapping VMAs within the tree, the VMA struct address is
    appended to the sort key.

    (4) Non-anonymous VMAs are now added to the backing inode's prio list.

    (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of
    the backing region. The VMA and region structs will be split if
    necessary.

    (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory
    segment instead of all the attachments at that addresss. Multiple
    shmat()'s return the same address under NOMMU-mode instead of different
    virtual addresses as under MMU-mode.

    (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode.

    (8) /proc/maps is now the global list of mapped regions, and may list bits
    that aren't actually mapped anywhere.

    (9) /proc/meminfo gains a line (tagged "MmapCopy") that indicates the amount
    of RAM currently allocated by mmap to hold mappable regions that can't be
    mapped directly. These are copies of the backing device or file if not
    anonymous.

    These changes make NOMMU mode more similar to MMU mode. The downside is that
    NOMMU mode requires some extra memory to track things over NOMMU without this
    patch (VMAs are no longer shared, and there are now region structs).

    Signed-off-by: David Howells
    Tested-by: Mike Frysinger
    Acked-by: Paul Mundt

    David Howells
     

07 Jan, 2009

4 commits

  • Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (237 commits)
    Staging: android: binder: fix build errors
    Staging: android: add lowmemorykiller driver
    Staging: android: remove dummy android.c driver
    Staging: android: timed_gpio: Rename android_timed_gpio to timed_gpio
    Staging: android: add timed_gpio driver
    Staging: android: add ram_console driver
    Staging: android: add logging driver
    staging: android: binder: Fix use of euid
    Staging: android: binder: Fix gcc warnings about improper format specifiers for size_t in printk
    Staging: android: add binder driver
    Staging: add android framework
    Staging: epl: fix netdev->priv b0rkage
    Staging: epl: hr timers all run in hard irq context now
    Staging: epl: run Lindent on *.c files
    Staging: epl: run Lindent on *.h files
    Staging: epl: run Lindent on all user/*.h files
    Staging: epl: run Lindent on all kernel/*.h files
    Staging: add epl stack
    Staging: frontier: fix compiler warnings
    Staging: frontier: remove unused alphatrack_sysfs.c file
    ...

    Linus Torvalds
     
  • The atomic_t type cannot currently be used in some header files because it
    would create an include loop with asm/atomic.h. Move the type definition
    to linux/types.h to break the loop.

    Signed-off-by: Matthew Wilcox
    Cc: Huang Ying
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     
  • The new Kconfig option to build "staging" drivers (code in
    drivers/staging/) is seen in all except three architectures (arm, h8300,
    cris), because in these cases arch/$ARCH/Kconfig does NOT source
    drivers/Kconfig.

    This patch adds the source "drivers/staging/Kconfig" to
    arch/$ARCH/Kconfig for these three exceptional cases.

    Signed-off-by: Duncan Haldane
    Signed-off-by: Greg Kroah-Hartman

    F. Duncan M. Haldane
     

04 Jan, 2009

1 commit

  • …/git/tip/linux-2.6-tip

    * 'cpus4096-for-linus-3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (77 commits)
    x86: setup_per_cpu_areas() cleanup
    cpumask: fix compile error when CONFIG_NR_CPUS is not defined
    cpumask: use alloc_cpumask_var_node where appropriate
    cpumask: convert shared_cpu_map in acpi_processor* structs to cpumask_var_t
    x86: use cpumask_var_t in acpi/boot.c
    x86: cleanup some remaining usages of NR_CPUS where s/b nr_cpu_ids
    sched: put back some stack hog changes that were undone in kernel/sched.c
    x86: enable cpus display of kernel_max and offlined cpus
    ia64: cpumask fix for is_affinity_mask_valid()
    cpumask: convert RCU implementations, fix
    xtensa: define __fls
    mn10300: define __fls
    m32r: define __fls
    h8300: define __fls
    frv: define __fls
    cris: define __fls
    cpumask: CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
    cpumask: zero extra bits in alloc_cpumask_var_node
    cpumask: replace for_each_cpu_mask_nr with for_each_cpu in kernel/time/
    cpumask: convert mm/
    ...

    Linus Torvalds
     

03 Jan, 2009

1 commit


01 Jan, 2009

1 commit


23 Oct, 2008

1 commit

  • * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: (47 commits)
    uwb: wrong sizeof argument in mac address compare
    uwb: don't use printk_ratelimit() so often
    uwb: use kcalloc where appropriate
    uwb: use time_after() when purging stale beacons
    uwb: add credits for the original developers of the UWB/WUSB/WLP subsystems
    uwb: add entries in the MAINTAINERS file
    uwb: depend on EXPERIMENTAL
    wusb: wusb-cbaf (CBA driver) sysfs ABI simplification
    uwb: document UWB and WUSB sysfs files
    uwb: add symlinks in sysfs between radio controllers and PALs
    uwb: dont tranmit identification IEs
    uwb: i1480/GUWA100U: fix firmware download issues
    uwb: i1480: remove MAC/PHY information checking function
    uwb: add Intel i1480 HWA to the UWB RC quirk table
    uwb: disable command/event filtering for D-Link DUB-1210
    uwb: initialize the debug sub-system
    uwb: Fix handling IEs with empty IE data in uwb_est_get_size()
    wusb: fix bmRequestType for Abort RPipe request
    wusb: fix error path for wusb_set_dev_addr()
    wusb: add HWA host controller driver
    ...

    Linus Torvalds
     

20 Oct, 2008

3 commits

  • This patch implements a new freezer subsystem in the control groups
    framework. It provides a way to stop and resume execution of all tasks in
    a cgroup by writing in the cgroup filesystem.

    The freezer subsystem in the container filesystem defines a file named
    freezer.state. Writing "FROZEN" to the state file will freeze all tasks
    in the cgroup. Subsequently writing "RUNNING" will unfreeze the tasks in
    the cgroup. Reading will return the current state.

    * Examples of usage :

    # mkdir /containers/freezer
    # mount -t cgroup -ofreezer freezer /containers
    # mkdir /containers/0
    # echo $some_pid > /containers/0/tasks

    to get status of the freezer subsystem :

    # cat /containers/0/freezer.state
    RUNNING

    to freeze all tasks in the container :

    # echo FROZEN > /containers/0/freezer.state
    # cat /containers/0/freezer.state
    FREEZING
    # cat /containers/0/freezer.state
    FROZEN

    to unfreeze all tasks in the container :

    # echo RUNNING > /containers/0/freezer.state
    # cat /containers/0/freezer.state
    RUNNING

    This is the basic mechanism which should do the right thing for user space
    task in a simple scenario.

    It's important to note that freezing can be incomplete. In that case we
    return EBUSY. This means that some tasks in the cgroup are busy doing
    something that prevents us from completely freezing the cgroup at this
    time. After EBUSY, the cgroup will remain partially frozen -- reflected
    by freezer.state reporting "FREEZING" when read. The state will remain
    "FREEZING" until one of these things happens:

    1) Userspace cancels the freezing operation by writing "RUNNING" to
    the freezer.state file
    2) Userspace retries the freezing operation by writing "FROZEN" to
    the freezer.state file (writing "FREEZING" is not legal
    and returns EIO)
    3) The tasks that blocked the cgroup from entering the "FROZEN"
    state disappear from the cgroup's set of tasks.

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: export thaw_process]
    Signed-off-by: Cedric Le Goater
    Signed-off-by: Matt Helsley
    Acked-by: Serge E. Hallyn
    Tested-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley
     
  • This patch series introduces a cgroup subsystem that utilizes the swsusp
    freezer to freeze a group of tasks. It's immediately useful for batch job
    management scripts. It should also be useful in the future for
    implementing container checkpoint/restart.

    The freezer subsystem in the container filesystem defines a cgroup file
    named freezer.state. Reading freezer.state will return the current state
    of the cgroup. Writing "FROZEN" to the state file will freeze all tasks
    in the cgroup. Subsequently writing "RUNNING" will unfreeze the tasks in
    the cgroup.

    * Examples of usage :

    # mkdir /containers/freezer
    # mount -t cgroup -ofreezer freezer /containers
    # mkdir /containers/0
    # echo $some_pid > /containers/0/tasks

    to get status of the freezer subsystem :

    # cat /containers/0/freezer.state
    RUNNING

    to freeze all tasks in the container :

    # echo FROZEN > /containers/0/freezer.state
    # cat /containers/0/freezer.state
    FREEZING
    # cat /containers/0/freezer.state
    FROZEN

    to unfreeze all tasks in the container :

    # echo RUNNING > /containers/0/freezer.state
    # cat /containers/0/freezer.state
    RUNNING

    This patch:

    The first step in making the refrigerator() available to all
    architectures, even for those without power management.

    The purpose of such a change is to be able to use the refrigerator() in a
    new control group subsystem which will implement a control group freezer.

    [akpm@linux-foundation.org: fix sparc]
    Signed-off-by: Cedric Le Goater
    Signed-off-by: Matt Helsley
    Acked-by: Pavel Machek
    Acked-by: Serge E. Hallyn
    Acked-by: Rafael J. Wysocki
    Acked-by: Nigel Cunningham
    Tested-by: Matt Helsley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Helsley
     
  • Conflicts:

    Documentation/ABI/testing/sysfs-bus-usb
    drivers/Makefile

    David Vrabel
     

17 Oct, 2008

6 commits


16 Oct, 2008

1 commit


17 Sep, 2008

1 commit


07 Sep, 2008

1 commit