30 Apr, 2013

11 commits

  • "k->vfork_done != NULL" with a barrier() after to_kthread(k) in
    task_get_live_kthread(k) looks unclear, and sub-optimal because we load
    ->vfork_done twice.

    All we need is to ensure that we do not return to_kthread(NULL). Add a
    new trivial helper which loads/checks ->vfork_done once, this also looks
    more understandable.

    Signed-off-by: Oleg Nesterov
    Cc: Thomas Gleixner
    Cc: Namhyung Kim
    Cc: "Paul E. McKenney"
    Cc: Peter Zijlstra
    Cc: Rusty Russell
    Cc: "Srivatsa S. Bhat"
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Pull USB patches from Greg Kroah-Hartman:
    "Here's the big USB pull request for 3.10-rc1.

    Lots of USB patches here, the majority being USB gadget changes and
    USB-serial driver cleanups, the rest being ARM build fixes / cleanups,
    and individual driver updates. We also finally got some chipidea
    fixes, which have been delayed for a number of kernel releases, as the
    maintainer has now reappeared.

    All of these have been in linux-next for a while"

    * tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits)
    USB: ehci-msm: USB_MSM_OTG needs USB_PHY
    USB: OHCI: avoid conflicting platform drivers
    USB: OMAP: ISP1301 needs USB_PHY
    USB: lpc32xx: ISP1301 needs USB_PHY
    USB: ftdi_sio: enable two UART ports on ST Microconnect Lite
    usb: phy: tegra: don't call into tegra-ehci directly
    usb: phy: phy core cannot yet be a module
    USB: Fix initconst in ehci driver
    usb-storage: CY7C68300A chips do not support Cypress ATACB
    USB: serial: option: Added support Olivetti Olicard 145
    USB: ftdi_sio: correct ST Micro Connect Lite PIDs
    ARM: mxs_defconfig: add CONFIG_USB_PHY
    ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY
    usb: phy: remove exported function from __init section
    usb: gadget: zero: put function instances on unbind
    usb: gadget: f_sourcesink.c: correct a copy-paste misnomer
    usb: gadget: cdc2: fix error return code in cdc_do_config()
    usb: gadget: multi: fix error return code in rndis_do_config()
    usb: gadget: f_obex: fix error return code in obex_bind()
    USB: storage: convert to use module_usb_driver()
    ...

    Linus Torvalds
     
  • Pull tty/serial driver update from Greg Kroah-Hartman:
    "Here's the big tty/serial driver merge request for 3.10-rc1

    Once again, Jiri has a number of TTY driver fixes and cleanups, and
    Peter Hurley came through with a bunch of ldisc fixes that resolve a
    number of reported issues. There are some other serial driver
    cleanups as well.

    All of these have been in the linux-next tree for a while"

    * tag 'tty-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (117 commits)
    tty/serial/sirf: fix MODULE_DEVICE_TABLE
    serial: mxs: drop superfluous {get|put}_device
    serial: mxs: fix buffer overflow
    ARM: PL011: add support for extended FIFO-size of PL011-r1p5
    serial_core.c: add put_device() after device_find_child()
    tty: Fix unsafe bit ops in tty_throttle_safe/unthrottle_safe
    serial: sccnxp: Replace pdata.init/exit with regulator API
    serial: sccnxp: Do not override device name
    TTY: pty, fix compilation warning
    TTY: rocket, fix compilation warning
    TTY: ircomm: fix DTR being raised on hang up
    TTY: synclinkmp: fix DTR being raised on hang up
    TTY: synclink_gt: fix DTR being raised on hang up
    TTY: synclink: fix DTR being raised on hang up
    serial: 8250_dw: Fix the stub for dw8250_probe_acpi()
    serial: 8250_dw: Convert to devm_ioremap()
    serial: 8250_dw: Set port capabilities based on CPR register
    serial: 8250_dw: Let ACPI code extract the DMA client info
    serial: 8250_dw: Support clk framework also with ACPI
    serial: 8250_dw: Enable runtime PM
    ...

    Linus Torvalds
     
  • Pull staging driver tree update from Greg Kroah-Hartman:
    "Here's the big staging driver tree update for 3.10-rc1

    This update contains loads of comedi driver cleanups and fixes in
    here, iio updates, android driver changes, and other various staging
    driver cleanups.

    Thanks to some drivers being removed, and the comedi driver cleanups,
    we have removed more code than we added:

    627 files changed, 65145 insertions(+), 76321 deletions(-)

    which is always nice to see.

    All of these have been in linux-next for a while."

    * tag 'staging-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (940 commits)
    staging: comedi: ni_labpc: fix legacy driver build
    staging: comedi: das800: cleanup the cio-das802/16 fifo comments
    staging: comedi: das800: rename CamelCase vars in das800_ai_do_cmd()
    staging: comedi: das800: tidy up the private data
    staging: comedi: das800: tidy up das800_interrupt()
    staging: comedi: das800: tidy up das800_ai_insn_read()
    staging: comedi: das800: tidy up das800_di_insn_bits()
    staging: comedi: das800: tidy up das800_do_insn_bits()
    staging: comedi: das800: remove extra divisor calculation call
    staging: comedi: das800: rename {enable,disable}_das800
    staging: comedi: das800: tidy up subdevice init
    staging: comedi: das800: allow attaching without interrupt support
    staging: comedi: das800: interrupts are required for async command support
    staging: comedi: das800: tidy up das800_ai_do_cmdtest()
    staging: comedi: das800: remove 'volatile' on private data variables
    staging: comedi: das800: cleanup the boardinfo
    staging: comedi: das800: cleanup range table declarations
    staging: comedi: das800: introduce das800_ind_{write, read}()
    staging: comedi: das800: remove forward declarations
    staging: comedi: das800: move das800_set_frequency()
    ...

    Linus Torvalds
     
  • Pull driver core update from Greg Kroah-Hartman:
    "Here's the merge request for the driver core tree for 3.10-rc1

    It's pretty small, just a number of driver core and sysfs updates and
    fixes, all of which have been in linux-next for a while now.

    Signed-off-by: Greg Kroah-Hartman "

    Fixed conflict in kernel/rtmutex-tester.c, the locking tree had a better
    fix for the same sysfs file mode problem.

    * tag 'driver-core-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    PM / Runtime: Idle devices asynchronously after probe|release
    driver core: handle user namespaces properly with the uid/gid devtmpfs change
    driver core: devtmpfs: fix compile failure with CONFIG_UIDGID_STRICT_TYPE_CHECKS
    devtmpfs: add base.h include
    driver core: add uid and gid to devtmpfs
    sysfs: check if one entry has been removed before freeing
    sysfs: fix crash_notes_size build warning
    sysfs: fix use after free in case of concurrent read/write and readdir
    rtmutex-tester: fix mode of sysfs files
    Documentation: Add ABI entry for crash_notes and crash_notes_size
    sysfs: Add crash_notes_size to export percpu note size
    driver core: platform_device.h: fix checkpatch errors and warnings
    driver core: platform.c: fix checkpatch errors and warnings
    driver core: warn that platform_driver_probe can not use deferred probing
    sysfs: use atomic_inc_unless_negative in sysfs_get_active
    base: core: WARN() about bogus permissions on device attributes
    device: separate all subsys mutexes

    Linus Torvalds
     
  • Pull char/misc driver update from Greg Kroah-Hartman:
    "Here's the big char / misc driver update for 3.10-rc1

    A number of various driver updates, the majority being new
    functionality in the MEI driver subsystem (it's now a subsystem, it
    started out just a single driver), extcon updates, memory updates,
    hyper-v updates, and a bunch of other small stuff that doesn't fit in
    any other tree.

    All of these have been in linux-next for a while"

    * tag 'char-misc-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (148 commits)
    Tools: hv: Fix a checkpatch warning
    tools: hv: skip iso9660 mounts in hv_vss_daemon
    tools: hv: use FIFREEZE/FITHAW in hv_vss_daemon
    tools: hv: use getmntent in hv_vss_daemon
    Tools: hv: Fix a checkpatch warning
    tools: hv: fix checks for origin of netlink message in hv_vss_daemon
    Tools: hv: fix warnings in hv_vss_daemon
    misc: mark spear13xx-pcie-gadget as broken
    mei: fix krealloc() misuse in in mei_cl_irq_read_msg()
    mei: reduce flow control only for completed messages
    mei: reseting -> resetting
    mei: fix reading large reposnes
    mei: revamp mei_irq_read_client_message function
    mei: revamp mei_amthif_irq_read_message
    mei: revamp hbm state machine
    Revert "drivers/scsi: use module_pcmcia_driver() in pcmcia drivers"
    Revert "scsi: pcmcia: nsp_cs: remove module init/exit function prototypes"
    scsi: pcmcia: nsp_cs: remove module init/exit function prototypes
    mei: wd: fix line over 80 characters
    misc: tsl2550: Use dev_pm_ops
    ...

    Linus Torvalds
     
  • Pull hwmon update from Guenter Roeck:

    - New drivers for NCT6775, NCT6776, NCT6779, and LM95234.

    - Added support for LTC2974, LTC3883, LM25056, TMP431, TMP432, ADT7310,
    and ADT7320 to existing drivers.

    - Various code cleanups and minor improvements.

    * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (54 commits)
    hwmon: (nct6775) Fix coding style problems
    hwmon: (nct6775) Constify strings
    hwmon: (tmp401) Add support for TMP432
    hwmon: (tmp401) Add support for update_interval attribute
    hwmon: (tmp401) Reset valid flag when resetting temperature history
    hwmon: (tmp401) Simplification and cleanup
    hwmon: (tmp401) Use sysfs_create_group / sysfs_remove_group
    hwmon: (tmp401) Drop unused defines, use BIT for bit masks
    hwmon: (nct6775) Use ARRAY_SIZE for loops where possible
    documentation: hwmon: Fix typo in documentation/hwmon
    hwmon: (nct6775) Enable both AUXTIN and VIN3 on NCT6776
    hwmon: (ad7314) use spi_get_drvdata() and spi_set_drvdata()
    MAINTAINERS: Add myself as maintainer for the NCT6775 driver
    hwmon: (nct6775) Expand scope of supported chips
    hwmon: (gpio-fan) Use is_visible to determine if attributes should be created
    hwmon: (tmp401) Fix device detection for TMP411B and TMP411C
    hwmon: Add driver for LM95234
    hwmon: (tmp401) Add support for TMP431
    hwmon: (pmbus/lm25066) Add support for LM25056
    hwmon: (pmbus/lm25066) Refactor device specific coefficients
    ...

    Linus Torvalds
     
  • Pull pinctrl update from Linus Walleij:
    "These are the pinctrl changes for v3.10:

    - Patrice Chotard contributed a new configuration debugfs interface
    and reintroduced fine-grained locking into the core: instead of
    having a "big pinctrl lock" we have a per-controller lock and
    specialized locks for the global controller and pinctrl handle
    lists.

    - Haoijan Zhuang deleted all the PXA and MMP2 pinctrl drivers and
    replaced them with pinctrl-single (which is also used by other
    SoCs) so we are gaining consolidation. The platform particulars
    now come in through the device tree.

    - Haoijan also added support for generic pin config into the
    pinctrl-single driver which is another big consolidation win.

    - Finally also GPIO ranges are now supported by the pinctrl-single
    driver.

    - Tomasz Figa contributed a new Samsung S3C pinctrl driver, bringing
    more of the older Samsung platforms under the pinctrl umbrella and
    out of arch/arm.

    - Maxime Ripard contributed new Allwinner A10/A13 drivers.

    - Sachin Kamat, Wei Yongjun and Axel Lin did a lot of cleanups."

    * tag 'pinctrl-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (66 commits)
    pinctrl: move subsystem mutex to pinctrl_dev struct
    pinctrl/pinconfig: fix misplaced goto
    pinctrl: s3c64xx: Fix build error caused by undefined chained_irq_enter
    pinctrl/pinconfig: add debug interface
    pinctrl: abx500: fix issue when no pdata
    pinctrl: pinctrl-single: add missing double quote
    pinctrl: sunxi: Rename wemac functions to emac
    pinctrl: exynos5440: add gpio interrupt support
    pinctrl: exynos5440: fix probe failure due to missing pin-list in config nodes
    pinctrl: ab8505: Staticize some symbols
    pinctrl: ab8540: Staticize some symbols
    pinctrl: ab9540: Staticize some symbols
    pinctrl: ab8500: Staticize some symbols
    pinctrl: abx500: Staticize some symbols
    pinctrl: Add pinctrl-s3c64xx driver
    pinctrl: samsung: Handle banks with two configuration registers
    pinctrl: samsung: Remove hardcoded register offsets
    pinctrl: samsung: Split pin bank description into two structures
    pinctrl: samsung: Include pinctrl-exynos driver data conditionally
    pinctrl: samsung: Protect bank registers with a spinlock
    ...

    Linus Torvalds
     
  • Pull fbdev updates from Tomi Valkeinen:

    - use vm_iomap_memory() in various fb drivers to map the fb memory to
    userspace

    - Cleanups for the videomode and display_timing features

    - Updates to vt8500, wm8505 and auo-k190x fb drivers

    * tag 'fbdev-for-3.10' of git://gitorious.org/linux-omap-dss2/linux: (36 commits)
    fbdev: fix check for fb_mmap's mmio availability
    fbdev: improve fb_mmap bounds checks
    fbdev/ps3fb: use vm_iomap_memory()
    fbdev/sgivwfb: use vm_iomap_memory()
    fbdev/vermillion: use vm_iomap_memory()
    fbdev/sa1100fb: use vm_iomap_memory()
    fbdev/fb-puv3: use vm_iomap_memory()
    fbdev/controlfb: use vm_iomap_memory()
    fbdev/omapfb: use vm_iomap_memory()
    video: vt8500: fix Kconfig for videomode
    video/s3c: move platform_data out of arch/arm
    video/exynos: remove unnecessary header inclusions
    drivers/video: fsl-diu-fb: add hardware cursor support
    drivers: video: use module_platform_driver_probe()
    ARM: OMAP: remove "config FB_OMAP_CONSISTENT_DMA_SIZE"
    video: wm8505fb: Convert to devm_ioremap_resource()
    AUO-K190x: Add resolutions for portrait displays
    AUO-K190x: add framebuffer rotation support
    AUO-K190x: add a 16bit truecolor mode
    AUO-K190x: make color handling more flexible
    ...

    Linus Torvalds
     
  • Pull PCI updates from Bjorn Helgaas:
    "PCI changes for the v3.10 merge window:

    PCI device hotplug
    - Remove ACPI PCI subdrivers (Jiang Liu, Myron Stowe)
    - Make acpiphp builtin only, not modular (Jiang Liu)
    - Add acpiphp mutual exclusion (Jiang Liu)

    Power management
    - Skip "PME enabled/disabled" messages when not supported (Rafael
    Wysocki)
    - Fix fallback to PCI_D0 (Rafael Wysocki)

    Miscellaneous
    - Factor quirk_io_region (Yinghai Lu)
    - Cache MSI capability offsets & cleanup (Gavin Shan, Bjorn Helgaas)
    - Clean up EISA resource initialization and logging (Bjorn Helgaas)
    - Fix prototype warnings (Andy Shevchenko, Bjorn Helgaas)
    - MIPS: Initialize of_node before scanning bus (Gabor Juhos)
    - Fix pcibios_get_phb_of_node() declaration "weak" annotation (Gabor
    Juhos)
    - Add MSI INTX_DISABLE quirks for AR8161/AR8162/etc (Xiong Huang)
    - Fix aer_inject return values (Prarit Bhargava)
    - Remove PME/ACPI dependency (Andrew Murray)
    - Use shared PCI_BUS_NUM() and PCI_DEVID() (Shuah Khan)"

    * tag 'pci-v3.10-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (63 commits)
    vfio-pci: Use cached MSI/MSI-X capabilities
    vfio-pci: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK
    PCI: Remove "extern" from function declarations
    PCI: Use PCI_MSIX_TABLE_BIR, not PCI_MSIX_FLAGS_BIRMASK
    PCI: Drop msi_mask_reg() and remove drivers/pci/msi.h
    PCI: Use msix_table_size() directly, drop multi_msix_capable()
    PCI: Drop msix_table_offset_reg() and msix_pba_offset_reg() macros
    PCI: Drop is_64bit_address() and is_mask_bit_support() macros
    PCI: Drop msi_data_reg() macro
    PCI: Drop msi_lower_address_reg() and msi_upper_address_reg() macros
    PCI: Drop msi_control_reg() macro and use PCI_MSI_FLAGS directly
    PCI: Use cached MSI/MSI-X offsets from dev, not from msi_desc
    PCI: Clean up MSI/MSI-X capability #defines
    PCI: Use cached MSI-X cap while enabling MSI-X
    PCI: Use cached MSI cap while enabling MSI interrupts
    PCI: Remove MSI/MSI-X cap check in pci_msi_check_device()
    PCI: Cache MSI/MSI-X capability offsets in struct pci_dev
    PCI: Use u8, not int, for PM capability offset
    [SCSI] megaraid_sas: Use correct #define for MSI-X capability
    PCI: Remove "extern" from function declarations
    ...

    Linus Torvalds
     
  • Pull ia64 fixes from Tony Luck:
    "Bundle of miscellaneous ia64 fixes for 3.10 merge window."

    * tag 'please-pull-misc-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    Add size restriction to the kdump documentation
    Fix example error_injection_tool
    Fix build error for numa_clear_node() under IA64
    Fix initialization of CMCI/CMCP interrupts
    Change "select DMAR" to "select INTEL_IOMMU"
    Wrong asm register contraints in the kvm implementation
    Wrong asm register contraints in the futex implementation
    Remove cast for kmalloc return value
    Fix kexec oops when iosapic was removed
    iosapic: fix a minor typo in comments
    Add WB/UC check for early_ioremap
    Fix broken fsys_getppid()
    tiocx: check retval from bus_register()

    Linus Torvalds
     

29 Apr, 2013

4 commits

  • Pull locking changes from Ingo Molnar:
    "The most noticeable change are mutex speedups from Waiman Long, for
    higher loads. These scalability changes should be most noticeable on
    larger server systems.

    There are also cleanups, fixes and debuggability improvements."

    * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    lockdep: Consolidate bug messages into a single print_lockdep_off() function
    lockdep: Print out additional debugging advice when we hit lockdep BUGs
    mutex: Back out architecture specific check for negative mutex count
    mutex: Queue mutex spinners with MCS lock to reduce cacheline contention
    mutex: Make more scalable by doing less atomic operations
    mutex: Move mutex spinning code from sched/core.c back to mutex.c
    locking/rtmutex/tester: Set correct permissions on sysfs files
    lockdep: Remove unnecessary 'hlock_next' variable

    Linus Torvalds
     
  • Pull s390 update from Martin Schwidefsky:
    "This is the first batch of s390 patches for the 3.10 merge window.

    Included are some performance enhancements: storage key
    initialization, zero page cache synonyms, system call micro
    optimization and the speedup patches for dasdfmt. Sebastian managed
    to get rid of the special casing for the console device in the cio
    layer. And the usual bunch of bug fixes."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (59 commits)
    s390/pci: use pci_scan_root_bus
    s390/scm_blk: fix memleak in init function
    s390/scm_blk: allow more cluster size values
    s390/cio: fix irq statistics
    s390/memory hotplug: prevent offline of active memory increments
    s390: remove small stack config option
    s390: system call path micro optimization
    s390: lowcore stack pointer offsets
    s390/uapi: change struct statfs[64] member types to unsigned values
    s390/pci: return correct dma address for offset > PAGE_SIZE
    s390/ptrace: remove empty ifdefs
    s390/compat: remove ptrace compat definitions from uapi header file
    s390/compat: fix compile error for !COMPAT
    s390/compat: fix compat_sys_statfs() memory corruption
    s390/zcore: Fix HSA copy length for last block
    s390/mm,gmap: segment mapping race
    s390/mm,gmap: implement gmap_translate()
    s390/pci: remove disable_device implementation
    s390/pci: disable per default
    s390/pci: return error after failed pci ops
    ...

    Linus Torvalds
     
  • …kernel/git/konrad/xen

    Pull Xen updates from Konrad Rzeszutek Wilk:
    "Features:
    - Populate the boot_params with EDD data.
    - Cleanups in the IRQ code.
    Bug-fixes:
    - CPU hotplug offline/online in PVHVM mode.
    - Re-upload processor PM data after ACPI S3 suspend/resume cycle."

    And Konrad gets a gold star for sending the pull request early when he
    thought he'd be away for the first week of the merge window (but because
    of 3.9 dragging out to -rc8 he then re-sent the reminder on the first
    day of the merge window anyway)

    * tag 'stable/for-linus-3.10-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: resolve section mismatch warnings in xen-acpi-processor
    xen: Re-upload processor PM data to hypervisor after S3 resume (v2)
    xen/smp: Unifiy some of the PVs and PVHVM offline CPU path
    xen/smp/pvhvm: Don't initialize IRQ_WORKER as we are using the native one.
    xen/spinlock: Disable IRQ spinlock (PV) allocation on PVHVM
    xen/spinlock: Check against default value of -1 for IRQ line.
    xen/time: Add default value of -1 for IRQ and check for that.
    xen/events: Check that IRQ value passed in is valid.
    xen/time: Fix kasprintf splat when allocating timer%d IRQ line.
    xen/smp/spinlock: Fix leakage of the spinlock interrupt line for every CPU online/offline
    xen/smp: Fix leakage of timer interrupt line for every CPU online/offline.
    xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND
    xen: drop tracking of IRQ vector
    x86/xen: populate boot_params with EDD data

    Linus Torvalds
     
  • Linus Torvalds
     

28 Apr, 2013

3 commits


27 Apr, 2013

1 commit


26 Apr, 2013

21 commits

  • Pull media fixes from Mauro Carvalho Chehab:
    "Two driver fixes.

    One avoids reading any file at a system with a cx25821 board
    (fortunately, this is not a common device). The other one prevents
    reading after a buffer with ISDB-T devices based on mb86a20s."

    * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] cx25821: do not expose broken video output streams
    [media] mb86a20s: Fix estimate_rate setting

    Linus Torvalds
     
  • Pull late parisc fixes from Helge Deller:
    "I know it's *very* late in the 3.9 release cycle, but since there
    aren't that many people testing the parisc linux kernel, a few (for
    our port) critical issues just showed up a few days back for the first
    time.

    What's in it?
    - add missing __ucmpdi2 symbol, which is required for btrfs on 32bit
    kernel.
    - change kunmap() macro to static inline function. This fixes a
    debian/gcc-4.4 build error.
    - add locking when doing PTE updates. This fixes random userspace
    crashes.
    - disable (optional) -mlong-calls compiler option for modules, else
    modules can't be loaded at runtime.
    - a smart patch by Will Deacon which fixes 64bit put_user() warnings
    on 32bit kernel."

    * 'fixes-3.9-late' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: use spin_lock_irqsave/spin_unlock_irqrestore for PTE updates
    parisc: disable -mlong-calls compiler option for kernel modules
    parisc: uaccess: fix compiler warnings caused by __put_user casting
    parisc: Change kunmap macro to static inline function
    parisc: Provide __ucmpdi2 to resolve undefined references in 32 bit builds.

    Linus Torvalds
     
  • variable_is_present() accesses '__efivars' directly, but when called via
    gsmi_init() Michel reports observing the following crash,

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: variable_is_present+0x55/0x170
    Call Trace:
    register_efivars+0x106/0x370
    gsmi_init+0x2ad/0x3da
    do_one_initcall+0x3f/0x170

    The reason for the crash is that '__efivars' hasn't been initialised nor
    has it been registered with register_efivars() by the time the google
    EFI SMI driver runs. The gsmi code uses its own struct efivars, and
    therefore, a different variable list. Fix the above crash by passing
    the registered struct efivars to variable_is_present(), so that we
    traverse the correct list.

    Reported-by: Michel Lespinasse
    Tested-by: Michel Lespinasse
    Cc: Mike Waychison
    Cc: Matthew Garrett
    Cc: Seiji Aguchi
    Signed-off-by: Matt Fleming
    Signed-off-by: Linus Torvalds

    Matt Fleming
     
  • This mutex avoids deadlock in case of use of multiple pin
    controllers. Before this modification, by using a global
    mutex, deadlock appeared when, for example, a call to
    pinctrl_pins_show() locked the pinctrl_mutex, called the
    ops->pin_dbg_show of a particular pin controller. If this
    pin controller needs I2C access to retrieve configuration
    information and I2C driver is using pinctrl to drive its
    pins, a call to pinctrl_select_state() try to lock again
    pinctrl_mutex which leads to a deadlock.

    Notice that the mutex grab from the two direction functions
    was moved into pinctrl_gpio_direction().

    For several cases, we can't replace pinctrl_mutex by
    pctldev->mutex, because at this stage, pctldev is
    not accessible :
    - pinctrl_get()/pinctrl_put()
    - pinctrl_register_maps()

    So add respectively pinctrl_list_mutex and
    pinctrl_maps_mutex in order to protect
    pinctrl_list and pinctrl_maps list instead.

    Reintroduce pinctrldev_list_mutex in
    find_pinctrl_by_of_node(),
    pinctrl_find_and_add_gpio_range()
    pinctrl_request_gpio(), pinctrl_free_gpio(),
    pinctrl_gpio_direction(), pinctrl_devices_show(),
    pinctrl_register() and pinctrl_unregister() to
    protect pinctrldev_list.

    Changes v2->v3:
    - Fix a missing EXPORT_SYMBOL_GPL() for pinctrl_select_state().

    Changes v1->v2:
    - pinctrl_select_state_locked() is removed, all lock mechanism
    is located inside pinctrl_select_state(). When parsing
    the state->setting list, take the per-pin-controller driver
    lock. (Patrice).
    - Introduce pinctrldev_list_mutex to protect pinctrldev_list
    in all functions which parse or modify pictrldev_list.
    (Patrice).
    - move find_pinctrl_by_of_node() from pinctrl/devicetree.c to
    pinctrl/core.c in order to protect pinctrldev_list.
    (Patrice).
    - Sink mutex:es into some functions and remove some _locked
    variants down to where the lists are actually accessed to
    make things simpler. (Linus)
    - Drop *all* mutexes completely from pinctrl_lookup_state()
    and pinctrl_select_state() - no relevant mutex was taken
    and it was unclear what this was protecting against. (Linus)

    Reported by : Seraphin Bonnaffe
    Signed-off-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Patrice Chotard
     
  • This update contains a basic fix that went unseen through
    test and review.

    Signed-off-by: Laurent Meunier
    Reviewed-by: Patrice Chotard
    Signed-off-by: Linus Walleij

    Laurent Meunier
     
  • In commit b0de59b5733d ("TTY: do not update atime/mtime on read/write")
    we removed timestamps from tty inodes to fix a security issue and waited
    if something breaks. Well, 'w', the utility to find out logged users
    and their inactivity time broke. It shows that users are inactive since
    the time they logged in.

    To revert to the old behaviour while still preventing attackers to
    guess the password length, we update the timestamps in one-minute
    intervals by this patch.

    Signed-off-by: Jiri Slaby
    Cc: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • dprintk() shouldn't access @ring after it's unmapped.

    Signed-off-by: Zhao Hongjiang
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Zhao Hongjiang
     
  • The pci config space accessors on s390 are (now) smart enough to
    figure out if a pci function is available. So instead of calling
    pci_create_root_bus and then pci_scan_single_device for each
    available function just call pci_scan_root_bus and let the pci core
    do the scanning (via config reads on all possible functions) and
    device creation.

    Reviewed-by: Gerald Schaefer
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • If the allocation of a single request fails the already allocated
    requests will not be freed.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Allow 0 and powers of 2 between 2 and 128 for write_cluster_size.

    Reviewed-by: Peter Oberparleiter
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • When we fetch an interrupt on the CCW console using tsch (via
    ccw_device_wait_idle formerly known as wait_cons_dev) we increment
    the irq count for the affected interruption class but it is not
    accounted as an IO interrupt.

    This is broken since commit b603d258a43b4e7339660bdd3b5c25eacd603e54
    "s390: remove superfluous tpi from wait_cons_dev"

    Fix it so that the sum of the individual interrupts per class matches
    the number of IO interrupts again.

    Reported-by: Gerald Schaefer
    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • In case a machine supports memory hotplug all active memory increments
    present at IPL time have been initialized with a "usecount" of 1.
    This is wrong if the memory increment size is larger than the memory
    section size of the memory hotplug code. If that is the case the
    usecount must be initialized with the number of memory sections that
    fit into one memory increment.
    Otherwise it is possible to put a memory increment into standby state
    even if there are still active sections.
    Afterwards addressing exceptions might happen which cause the kernel
    to panic.
    However even worse, if a memory increment was put into standby state
    and afterwards into active state again, it's contents would have been
    zeroed, leading to memory corruption.

    This was only an issue for machines that support standby memory and
    have at least 256GB memory.

    This is broken since commit fdb1bb15 "[S390] sclp/memory hotplug: fix
    initial usecount of increments".

    Signed-off-by: Heiko Carstens
    Reviewed-by: Gerald Schaefer
    Cc: stable@vger.kernel.org # 2.6.39+
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • We've seen repeatedly that 8KB stack size on 64 bit kernels
    is not sufficient.
    So simply remove the config option.

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

    Heiko Carstens
     
  • Add a pointer to the system call table to the thread_info structure.
    The TIF_31BIT bit is set or cleared by SET_PERSONALITY exactly once
    for the lifetime of a process. With the pointer to the correct system
    call table in thread_info the system call code in entry64.S path can
    drop the check for TIF_31BIT which saves a couple of instructions.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Store the stack pointers in the lowcore for the kernel stack, the async
    stack and the panic stack with the offset required for the first user.
    This avoids an unnecessary add instruction on the system call path.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     
  • Also add some missing printk levels.

    Signed-off-by: Dave Jones
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20130425174002.GA26769@redhat.com
    [ Tweaked the messages a bit. ]
    Signed-off-by: Ingo Molnar

    Dave Jones
     
  • We occasionally get reports of these BUGs being hit, and the
    stack trace doesn't necessarily always tell us what we need to
    know about why we are hitting those limits.

    If users start attaching /proc/lock_stats to reports we may have
    more of a clue what's going on.

    Signed-off-by: Dave Jones
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20130423163403.GA12839@redhat.com
    Signed-off-by: Ingo Molnar

    Dave Jones
     
  • Merge topic branch to get vm_iomap_memory into use.

    Conflicts:
    drivers/video/fbmon.c

    Tomi Valkeinen
     
  • Commit fc9bbca8f650e5f738af8806317c0a041a48ae4a (vm: convert fb_mmap to
    vm_iomap_memory() helper) made fbmem.c use vm_iomap_memory, but also
    accidentally removed the check for mmio's availability.

    Add the check back.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • Improve fb_mmap bounds checks in gbefb, smscufx, udlfb and vfb drivers to
    prevent possible uint overflows.

    Signed-off-by: Tomi Valkeinen
    Cc: Steve Glendinning
    Cc: Bernie Thompson

    Tomi Valkeinen
     
  • Use vm_iomap_memory() instead of [io_]remap_pfn_range().
    vm_iomap_memory() gives us much simpler API to map memory to userspace,
    and reduces possibilities for bugs.

    Signed-off-by: Tomi Valkeinen
    Cc: Geert Uytterhoeven

    Tomi Valkeinen