12 Sep, 2009

12 commits

  • * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits)
    rcu: Move end of special early-boot RCU operation earlier
    rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments
    rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees
    rcu: Remove lockdep annotations from RCU's _notrace() API members
    rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds
    rcu: Add CPU-offline processing for single-node configurations
    rcu: Add "notrace" to RCU function headers used by ftrace
    rcu: Remove CONFIG_PREEMPT_RCU
    rcu: Merge preemptable-RCU functionality into hierarchical RCU
    rcu: Simplify rcu_pending()/rcu_check_callbacks() API
    rcu: Use debugfs_remove_recursive() simplify code.
    rcu: Merge per-RCU-flavor initialization into pre-existing macro
    rcu: Fix online/offline indication for rcudata.csv trace file
    rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h
    rcu: Renamings to increase RCU clarity
    rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h
    rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP
    rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation.
    rcu: Fix typo in rcu_irq_exit() comment header
    rcu: Make rcupreempt_trace.c look at offline CPUs
    ...

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)"
    printk: Restore previous console_loglevel when re-enabling logging
    printk: Ensure that "console enabled" messages are printed on the console
    printk: Enable the use of more than one CON_BOOT (early console)

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

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits)
    locking, m68k/asm-offsets: Rename signal defines
    locking: Inline spinlock code for all locking variants on s390
    locking: Simplify spinlock inlining
    locking: Allow arch-inlined spinlocks
    locking: Move spinlock function bodies to header file
    locking, m68k: Calculate thread_info offset with asm offset
    locking, m68k/asm-offsets: Rename pt_regs offset defines
    locking, sparc: Rename __spin_try_lock() and friends
    locking, powerpc: Rename __spin_try_lock() and friends
    lockdep: Remove recursion stattistics
    lockdep: Simplify lock_stat seqfile code
    lockdep: Simplify lockdep_chains seqfile code
    lockdep: Simplify lockdep seqfile code
    lockdep: Fix missing entries in /proc/lock_chains
    lockdep: Fix missing entry in /proc/lock_stat
    lockdep: Fix memory usage info of BFS
    lockdep: Reintroduce generation count to make BFS faster
    lockdep: Deal with many similar locks
    lockdep: Introduce lockdep_assert_held()
    lockdep: Fix style nits
    ...

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

    * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (59 commits)
    x86/gart: Do not select AGP for GART_IOMMU
    x86/amd-iommu: Initialize passthrough mode when requested
    x86/amd-iommu: Don't detach device from pt domain on driver unbind
    x86/amd-iommu: Make sure a device is assigned in passthrough mode
    x86/amd-iommu: Align locking between attach_device and detach_device
    x86/amd-iommu: Fix device table write order
    x86/amd-iommu: Add passthrough mode initialization functions
    x86/amd-iommu: Add core functions for pd allocation/freeing
    x86/dma: Mark iommu_pass_through as __read_mostly
    x86/amd-iommu: Change iommu_map_page to support multiple page sizes
    x86/amd-iommu: Support higher level PTEs in iommu_page_unmap
    x86/amd-iommu: Remove old page table handling macros
    x86/amd-iommu: Use 2-level page tables for dma_ops domains
    x86/amd-iommu: Remove bus_addr check in iommu_map_page
    x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX
    x86/amd-iommu: Change alloc_pte to support 64 bit address space
    x86/amd-iommu: Introduce increase_address_space function
    x86/amd-iommu: Flush domains if address space size was increased
    x86/amd-iommu: Introduce set_dte_entry function
    x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices
    ...

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

    * 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    futex: Detect mismatched requeue targets
    futex: Correct futex_wait_requeue_pi() commentary

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

    * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debug lockups: Improve lockup detection, fix generic arch fallback
    debug lockups: Improve lockup detection

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    workqueues: Improve schedule_work() documentation

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits)
    crypto: sha-s390 - Fix warnings in import function
    crypto: vmac - New hash algorithm for intel_txt support
    crypto: api - Do not displace newly registered algorithms
    crypto: ansi_cprng - Fix module initialization
    crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx
    crypto: fips - Depend on ansi_cprng
    crypto: blkcipher - Do not use eseqiv on stream ciphers
    crypto: ctr - Use chainiv on raw counter mode
    Revert crypto: fips - Select CPRNG
    crypto: rng - Fix typo
    crypto: talitos - add support for 36 bit addressing
    crypto: talitos - align locks on cache lines
    crypto: talitos - simplify hmac data size calculation
    crypto: mv_cesa - Add support for Orion5X crypto engine
    crypto: cryptd - Add support to access underlaying shash
    crypto: gcm - Use GHASH digest algorithm
    crypto: ghash - Add GHASH digest algorithm for GCM
    crypto: authenc - Convert to ahash
    crypto: api - Fix aligned ctx helper
    crypto: hmac - Prehash ipad/opad
    ...

    Linus Torvalds
     
  • * '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

28 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