12 Sep, 2009

4 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (377 commits)
    ASoC: au1x: PSC-AC97 bugfixes
    ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128
    ALSA: dummy - Add debug proc file
    ALSA: Add const prefix to proc helper functions
    ALSA: Re-export snd_pcm_format_name() function
    ALSA: hda - Use auto model for HP laptops with ALC268 codec
    ALSA: cs46xx - Fix minimum period size
    ASoC: Fix WM835x Out4 capture enumeration
    ALSA: Remove unneeded ifdef from sound/core.h
    ALSA: Remove struct snd_monitor_file from public sound/core.h
    ASoC: Remove unuused hw_read_t
    sound: oxygen: work around MCE when changing volume
    ALSA: dummy - Fake buffer allocations
    ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital
    ASoC: fix pxa2xx-ac97.c breakage
    ALSA: dummy - Fix the timer calculation in systimer mode
    ALSA: dummy - Add more description
    ALSA: dummy - Better jiffies handling
    ALSA: dummy - Support high-res timer mode
    ALSA: Release v1.0.21
    ...

    Linus Torvalds
     
  • * 'writeback' of git://git.kernel.dk/linux-2.6-block:
    writeback: check for registered bdi in flusher add and inode dirty
    writeback: add name to backing_dev_info
    writeback: add some debug inode list counters to bdi stats
    writeback: get rid of pdflush completely
    writeback: switch to per-bdi threads for flushing data
    writeback: move dirty inodes from super_block to backing_dev_info
    writeback: get rid of generic_sync_sb_inodes() export

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (54 commits)
    [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code
    [S390] Wire up page fault events for software perf counters.
    [S390] Remove smp_cpu_not_running.
    [S390] Get rid of cpuid.h header file.
    [S390] Limit cpu detection to 256 physical cpus.
    [S390] tape: Fix device online messages
    [S390] Enable guest page hinting by default.
    [S390] use generic scatterlist.h
    [S390] s390dbf: Add description for usage of "%s" in sprintf events
    [S390] Initialize __LC_THREAD_INFO early.
    [S390] fix recursive locking on page_table_lock
    [S390] kvm: use console_initcall() to initialize s390 virtio console
    [S390] tape: reversed order of labels
    [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf
    [S390] kernel: Print an error message if kernel NSS cannot be defined
    [S390] zcrypt: Free ap_device if dev_set_name fails.
    [S390] zcrypt: Use spin_lock_bh in suspend callback
    [S390] xpram: Remove checksum validation for suspend/resume
    [S390] vmur: Invalid allocation sequence for vmur class
    [S390] hypfs: remove useless variable qname
    ...

    Linus Torvalds
     
  • * 'kmemleak' of git://linux-arm.org/linux-2.6:
    kmemleak: Improve the "Early log buffer exceeded" error message
    kmemleak: fix sparse warning for static declarations
    kmemleak: fix sparse warning over overshadowed flags
    kmemleak: move common painting code together
    kmemleak: add clear command support
    kmemleak: use bool for true/false questions
    kmemleak: Do no create the clean-up thread during kmemleak_disable()
    kmemleak: Scan all thread stacks
    kmemleak: Don't scan uninitialized memory when kmemcheck is enabled
    kmemleak: Ignore the aperture memory hole on x86_64
    kmemleak: Printing of the objects hex dump
    kmemleak: Do not report alloc_bootmem blocks as leaks
    kmemleak: Save the stack trace for early allocations
    kmemleak: Mark the early log buffer as __initdata
    kmemleak: Dump object information on request
    kmemleak: Allow rescheduling during an object scanning

    Linus Torvalds
     

11 Sep, 2009

36 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (48 commits)
    RDMA/iwcm: Reject the connection when the cm_id is destroyed
    RDMA/cxgb3: Clean up properly on FW mismatch failures
    RDMA/cxgb3: Don't ignore insert_handle() failures
    MAINTAINERS: InfiniBand/RDMA mailing list transition to vger
    IB/mad: Allow tuning of QP0 and QP1 sizes
    IB/mad: Fix possible lock-lock-timer deadlock
    RDMA/nes: Map MTU to IB_MTU_* and correctly report link state
    RDMA/nes: Rework the disconn routine for terminate and flushing
    RDMA/nes: Use the flush code to fill in cqe error
    RDMA/nes: Make poll_cq return correct number of wqes during flush
    RDMA/nes: Use flush mechanism to set status for wqe in error
    RDMA/nes: Implement Terminate Packet
    RDMA/nes: Add CQ error handling
    RDMA/nes: Clean out CQ completions when QP is destroyed
    RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC
    RDMA/nes: Allocate work item for disconnect event handling
    RDMA/nes: Update refcnt during disconnect
    IB/mthca: Don't allow userspace open while recovering from catastrophic error
    IB/mthca: Distinguish multiple devices in /proc/interrupts
    IB/mthca: Annotate CQ locking
    ...

    Linus Torvalds
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (57 commits)
    binfmt_elf: fix PT_INTERP bss handling
    TPM: Fixup boot probe timeout for tpm_tis driver
    sysfs: Add labeling support for sysfs
    LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information.
    VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx.
    KEYS: Add missing linux/tracehook.h #inclusions
    KEYS: Fix default security_session_to_parent()
    Security/SELinux: includecheck fix kernel/sysctl.c
    KEYS: security_cred_alloc_blank() should return int under all circumstances
    IMA: open new file for read
    KEYS: Add a keyctl to install a process's session keyring on its parent [try #6]
    KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6]
    KEYS: Do some whitespace cleanups [try #6]
    KEYS: Make /proc/keys use keyid not numread as file position [try #6]
    KEYS: Add garbage collection for dead, revoked and expired keys. [try #6]
    KEYS: Flag dead keys to induce EKEYREVOKED [try #6]
    KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6]
    KEYS: Deal with dead-type keys appropriately [try #6]
    CRED: Add some configurable debugging [try #6]
    selinux: Support for the new TUN LSM hooks
    ...

    Linus Torvalds
     
  • Based on a suggestion from Jaswinder, clarify what the user would need
    to do to avoid this error message from kmemleak.

    Reported-by: Jaswinder Singh Rajput
    Signed-off-by: Catalin Marinas

    Catalin Marinas
     
  • For messages from the tape core that is shared between the 3590 and 34xx
    tape disciplines, we want to have the "tape" prefix instead of "tape_3590"
    or "tape_34xx". In order to fix this, we now use the pr_xxx printk macros.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • smp_cpu_not_running() and cpu_stopped() are doing the same.
    Remove one and also get rid of the last hard_smp_processor_id() leftover.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Merge cpuid.h header file into cpu.h.
    While at it convert from typedef to struct declaration and also
    convert cio code to use proper lowcore structure instead of casts.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Saves us more than 65k pointless IPIs.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Currently, when a tape device is set online and no cartridge is loaded, we
    get the messages "The tape cartridge has been successfully unloaded" and
    "Determining the size of the recorded area". These messages are not correct.
    To fix this, we now print the "cartridge loaded/unloaded" messages only,
    when the load/unload event really occurs. In addition to that, the message
    "Determining the size of the recorded area" is only printed, if a cartridge
    is loaded.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • Get rid of the PAGE_STATES config option and enable guest page hinting
    by default.
    It can be disabled by specifying "cmma=off" at the command line.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Using "%s" in sprintf event functions is dangerous. This patch adds a short
    description for this issue to the s390 debug feature documentation.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • "lockdep: Fix backtraces" reveales a bug in early setup code: when
    lockdep tries to save a stack backtrace before setup_arch has been
    called the lowcore pointer for the current thread info pointer isn't
    initialized yet.
    However our save stack backtrace code relies on it. If the pointer
    isn't initialized the saved backtrace will have zero entries.
    lockdep however relies (correctly) on the fact that that cannot
    happen.
    A write access to some random memory region is the result.

    Fix this by initializing the thread info pointer early.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Suzuki Poulose reported the following recursive locking bug on s390:

    Here is the stack trace : (see Appendix I for more info)

    [] _spin_lock+0x52/0x94
    [] crst_table_free+0x14e/0x1a4
    [] __pmd_alloc+0x114/0x1ec
    [] handle_mm_fault+0x2cc/0xb80
    [] do_dat_exception+0x2b6/0x3a0
    [] sysc_return+0x0/0x8
    [] 0x200001642b2

    The page_table_lock is already acquired in __pmd_alloc (mm/memory.c) and
    it tries to populate the pud/pgd with a new pmd allocated. If another
    thread populates it before we get a chance, we free the pmd using
    pmd_free().

    On s390x, pmd_free(even pud_free ) is #defined to crst_table_free(),
    which acquires the page_table_lock to protect the crst_table index updates.

    Hence this ends up in a recursive locking of the page_table_lock.

    The solution suggested by Dave Hansen is to use a new spin lock in the mmu
    context to protect the access to the crst_list and the pgtable_list.

    Reported-by: Suzuki Poulose
    Cc: Dave Hansen
    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Use a console_initcall() to initialize the s390 virtio console and
    clean up s390 console initialization in setup.c.

    Signed-off-by: Hendrik Brueckner
    Tested-by: Christian Borntraeger
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Fix the order of goto labels in tape_generic_online.

    Signed-off-by: Roel Kluin

    Roel Kluin
     
  • For printing unsigned integers hypfs uses "%d" in snprintf(). This is wrong.
    With this patch "%u" is used instead.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • If a named saved system (NSS) cannot be defined or saved, print out an
    error message with the return code of the underlying z/VM CP command.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • If dev_set_name fails during scanning the AP bus, the reserved memory
    has to be freed.

    Signed-off-by: Felix Beck
    Signed-off-by: Martin Schwidefsky

    Felix Beck
     
  • Fix lock dependency warning.

    inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.
    bash/1442 [HC0[0]:SC0[0]:HE1:SE1] takes:
    (&ap_dev->lock){+.?...}, at: [] __ap_poll_device+0x40/0x3e8 [ap]
    {IN-SOFTIRQ-W} state was registered at:
    [] __lock_acquire+0xb78/0x182c
    [] lock_acquire+0x146/0x178
    [] _spin_lock+0x5a/0x98
    [] __ap_poll_device+0x40/0x3e8 [ap]
    [] ap_poll_all+0xaa/0x1a4 [ap]
    [] tasklet_action+0xfe/0x1f4
    [] __do_softirq+0x116/0x284
    [] do_softirq+0xe4/0xe8
    [] irq_exit+0xba/0xd8
    [] do_IRQ+0x176/0x1fc
    [] io_return+0x0/0x8
    [] 0x4bfbfd2c0e

    Signed-off-by: Felix Beck
    Signed-off-by: Martin Schwidefsky

    Felix Beck
     
  • Currently in the suspend process checksums for the XPRAM partitions are
    created and stored. During the resume process it is checked,
    if the checksums are still the same. If this is not the case, a kernel panic
    is triggered. Unfortunately this prevents XPRAM from beeing used as suspend
    device, because in this case after the checksum has been created, the
    memory image is written to XPRAM and therefore the contents of the suspend
    partition is changed. In order to allow XPRAM to be used as suspend device,
    this patch removes the checksum validation.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • The vmur class is allocated after the CCW driver is registered
    and it is destroyed before the CCW driver is unregistered.
    This is not the correct sequence, because the vmur class can be used
    via driver core callbacks that are triggered during the CCW driver
    deregistration. For Example:

    1. vmur device is online
    2. vmur module is unloaded

    This leads to the following function call stack:

    [] device_destroy+0x36/0x5c
    [] ur_set_offline_force+0x9c/0x10c [vmur]
    [] ur_remove+0x64/0xbc [vmur]
    [] ccw_device_remove+0x42/0x1ac
    [] __device_release_driver+0x9a/0xe4
    [] driver_detach+0xe6/0xec
    [] bus_remove_driver+0xc0/0x108
    [] ur_exit+0x52/0x84 [vmur]

    In device_destroy() the vmur class is used. Since it is already freed,
    this can lead to a kernel panic.

    To fix the problem, the vmur class has to be allocated before the CCW
    driver is registered and destroyed after the CCW driver has ben unregistered.

    Signed-off-by: Michael Holzheu
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     
  • Local variable 'qname' in the function hypfs_create_file() really is not
    used for any purpose.

    Signed-off-by: Vitaliy Gusev
    Cc: Michael Holzheu
    Signed-off-by: Andrew Morton
    Signed-off-by: Martin Schwidefsky

    Vitaliy Gusev
     
  • Signed-off-by: Hans-Joachim Picht
    Signed-off-by: Martin Schwidefsky

    Hans-Joachim Picht
     
  • No need to defined a irq_cpustat_t type if __ARCH_IRQ_STAT is defined.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Martin Schwidefsky

    Christoph Hellwig
     
  • Eleminate the local variable machine_flags and always change machine
    flags directly in the lowcore.
    This avoids confusion about when and why the two variables have to be
    synchronized.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Note that this patch moves .data.init_task inside _edata. In
    addition, the alignment of .init.ramfs changes: It is now PAGE_ALIGNED
    and __initramfs_end is arbitrarily aligned; Previously it was
    only aligned to a 0x100-byte boundary, and always ended on an even
    byte.

    This change results in fewer output sections and in some data being
    reordered, but should have no functional effect.

    Signed-off-by: Nelson Elhage
    Signed-off-by: Tim Abbott
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Cc: linux-s390@vger.kernel.org
    Signed-off-by: Martin Schwidefsky

    Nelson Elhage
     
  • .data.page_aligned should not need a separate output section, so as
    part of this cleanup I moved into the .data output section in the
    linker scripts in order to eliminate unnecessary references to the
    section name.

    Remove the reference to .data.idt, since nothing is put into the
    .data.idt section on the s390 architecture. It looks like Cyrill
    Gorcunov posted a patch to remove the .data.idt code on s390
    previously:

    CCing him and the people who acked that patch in case there's a reason
    it wasn't applied.

    Signed-off-by: Tim Abbott
    Cc: Martin Schwidefsky
    Acked-by: Cyrill Gorcunov
    Cc: Sam Ravnborg
    Signed-off-by: Martin Schwidefsky

    Tim Abbott
     
  • The sysc_restore_trace_psw and io_restore_trace_psw storage locations
    are created in the .text section. When creating and IPLing from a named
    saved system (NSS), writing to these locations causes a protection exception
    (because the .text section is mapped as shared read-only in the NSS).

    To permit write access, move the storage locations into the .data section.

    The problem occurs only when CONFIG_TRACE_IRQFLAGS is set.
    The git commmit that has introduced these variables is:
    411788ea7fca01ee803af8225ac35807b4d02050

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • If the CP SET LOADDEV on the 3215 console has been used to specify
    SCPdata, all data is converted to upper case letters.

    When scpdata contains upper case letters only, convert all letters
    to lower case.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Append scpdata to the kernel boot command line. If scpdata starts
    with the equal sign (=), the kernel boot command line is replaced.
    (For consistency with zIPL and IPL PARM parameters.)

    To use scpdata for the kernel boot command line, scpdata must consist
    of ascii characters only. If scpdata contains other characters,
    scpdata is not appended to the kernel boot command line.
    In addition, re-IPL is extended for setting scpdata for the next
    Linux reboot.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • With CONFIG_DEBUG_OBJECTS_TIMERS=y "chccwdev --online" for a tape device
    will fail with message "ODEBUG: object is on stack, but not annotated".
    We now use init_timer_on_stack.

    Signed-off-by: Frank Munzert
    Signed-off-by: Martin Schwidefsky

    Frank Munzert
     
  • Don't use kfree directly after device registration started.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Merge the nearly empty C files and move everything from power/ to
    kernel/. That way the files are easier to handle.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • There is no caller of do_after_copyback() anywhere. Remove it.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Couple of coding style fixes, replace __inline__ with inline and
    remove #ifdef __KERNEL_- since the header file isn't exported.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens