19 Apr, 2014

12 commits

  • shiraz.hashim@st.com email-id doesn't exist anymore as he has left the
    company. Replace ST's id with shiraz.linux.kernel@gmail.com.

    It also updates .mailmap file to fix address for 'git shortlog'.

    Signed-off-by: Viresh Kumar
    Cc: Shiraz Hashim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Viresh Kumar
     
  • In document numa_memory_policy.txt, the following examples for flag
    MPOL_F_RELATIVE_NODES are incorrect.

    For example, consider a task that is attached to a cpuset with
    mems 2-5 that sets an Interleave policy over the same set with
    MPOL_F_RELATIVE_NODES. If the cpuset's mems change to 3-7, the
    interleave now occurs over nodes 3,5-6. If the cpuset's mems
    then change to 0,2-3,5, then the interleave occurs over nodes
    0,3,5.

    According to the comment of the patch adding flag MPOL_F_RELATIVE_NODES,
    the nodemasks the user specifies should be considered relative to the
    current task's mems_allowed.

    (https://lkml.org/lkml/2008/2/29/428)

    And according to numa_memory_policy.txt, if the user's nodemask includes
    nodes that are outside the range of the new set of allowed nodes, then
    the remap wraps around to the beginning of the nodemask and, if not
    already set, sets the node in the mempolicy nodemask.

    So in the example, if the user specifies 2-5, for a task whose
    mems_allowed is 3-7, the nodemasks should be remapped the third, fourth,
    fifth, sixth node in mems_allowed. like the following:

    mems_allowed: 3 4 5 6 7

    relative index: 0 1 2 3 4
    5

    So the nodemasks should be remapped to 3,5-7, but not 3,5-6.

    And for a task whose mems_allowed is 0,2-3,5, the nodemasks should be
    remapped to 0,2-3,5, but not 0,3,5.

    mems_allowed: 0 2 3 5

    relative index: 0 1 2 3
    4 5

    Signed-off-by: Tang Chen
    Cc: Randy Dunlap
    Acked-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tang Chen
     
  • CHK include/config/kernel.release
    CHK include/generated/uapi/linux/version.h
    CHK include/generated/utsrelease.h
    ...
    Building modules, stage 2.
    WARNING: 1 bad relocations
    c0000000013d6a30 R_PPC64_ADDR64 uprobes_fetch_type_table
    WRAP arch/powerpc/boot/zImage.pseries
    WRAP arch/powerpc/boot/zImage.epapr
    MODPOST 1849 modules
    ERROR: ".__node_distance" [drivers/block/nvme.ko] undefined!
    make[1]: *** [__modpost] Error 1
    make: *** [modules] Error 2
    make: *** Waiting for unfinished jobs....

    The reason is symbol "__node_distance" not been exported in powerpc.

    Signed-off-by: Mike Qiu
    Acked-by: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Nathan Fontenot
    Cc: Stephen Rothwell
    Cc: Srivatsa S. Bhat
    Cc: Jesse Larrew
    Cc: Robert Jennings
    Cc: Alistair Popple
    Cc: Mike Qiu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Qiu
     
  • Fix:

    BUG: using __this_cpu_write() in preemptible [00000000] code: systemd-udevd/497
    caller is __this_cpu_preempt_check+0x13/0x20
    CPU: 3 PID: 497 Comm: systemd-udevd Tainted: G W 3.15.0-rc1 #9
    Hardware name: Hewlett-Packard HP EliteBook 8470p/179B, BIOS 68ICF Ver. F.02 04/27/2012
    Call Trace:
    check_preemption_disabled+0xe1/0xf0
    __this_cpu_preempt_check+0x13/0x20
    touch_nmi_watchdog+0x28/0x40

    Reported-by: Luis Henriques
    Tested-by: Luis Henriques
    Cc: Eric Piel
    Cc: Robert Moore
    Cc: Lv Zheng
    Cc: "Rafael J. Wysocki"
    Cc: Len Brown
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • The SYSTEM_TRUSTED_KEYRING config option is not in any menu, causing it
    to show up in the toplevel of the kernel configuration. Fix this by
    moving it under the General Setup menu.

    Signed-off-by: Peter Foley
    Cc: David Howells
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Foley
     
  • Seems to be called with preemption enabled. Therefore it must use
    mod_zone_page_state instead.

    Signed-off-by: Christoph Lameter
    Reported-by: Grygorii Strashko
    Tested-by: Grygorii Strashko
    Cc: Tejun Heo
    Cc: Santosh Shilimkar
    Cc: Ingo Molnar
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     
  • Pull PCI updates from Bjorn Helgaas:
    "These are fixes for a powerpc NULL pointer dereference, an OF
    interrupt mapping issue on some of the new host bridges, and a
    DesignWare iATU issue.

    Host bridge drivers
    - Fix OF interrupt mapping for DesignWare, R-Car, Tegra (Lucas Stach)
    - Fix DesignWare iATU programming (Mohit Kumar)

    Miscellaneous
    - Fix powerpc NULL dereference from list_for_each_entry() update (Mike Qiu)"

    * tag 'pci-v3.15-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
    PCI: tegra: Use new OF interrupt mapping when possible
    PCI: rcar: Use new OF interrupt mapping when possible
    PCI: designware: Use new OF interrupt mapping when possible
    PCI: designware: Fix iATU programming for cfg1, io and mem viewport
    PCI: designware: Fix comment for setting number of lanes
    powerpc/PCI: Fix NULL dereference in sys_pciconfig_iobase() list traversal

    Linus Torvalds
     
  • Pull HID fixes from Jiri Kosina:
    - fix for merge window mismerge in hid-sony, from Frank Praznik
    - fix for Surface Type/Touch Cover 2 device, from Benjamin Tissoires
    - quirk for ThinkPad Helix sensor hub from Stephen Chandler Paul

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
    HID: core: do not scan constant input report
    Revert "HID: microsoft: Add ID's for Surface Type/Touch Cover 2"
    HID: sensor-hub: add sensor hub quirk for ThinkPad Helix
    HID: sony: Fix cancel_work_sync mismerge

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "Just a copule of HD-audio device/codec-specific quirks, and a trivial
    replacement of udelay() with mdelay() in the old es18xx driver code.
    All should be safe to apply"

    * tag 'sound-3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda/realtek - Add headset Mic support for Dell machine
    ALSA: hda - add headset mic detect quirk for a Dell laptop
    ALSA: es18xx driver should use udelay error
    ALSA: hda/realtek - Add support of ALC288 codec

    Linus Torvalds
     
  • Pull devicetree fixes from Rob Herring:
    - fix error handling in of_update_property
    - fix section mismatch warnings in __reserved_mem_check_root
    - add empty of_find_node_by_path for !OF builds
    - add various missing binding documentation

    * tag 'dt-fixes-for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    of: add empty of_find_node_by_path() for !OF
    of: Clean up of_update_property
    DT: add vendor prefix for EBV Elektronik
    of: Fix the section mismatch warnings.
    of: Add vendor prefix for Digi International Inc.
    DT: I2C: Add trivial bindings used by kirkwood boards
    DT: Vendor: Add prefixes used by Kirkwood devices
    DT: bindings: add missing Marvell Kirkwood SoC documentation
    dt-bindings: add vendor-prefix for Newhaven Display
    of: add vendor prefix for I2SE GmbH
    of: add vendor prefix for ISEE 2007 S.L.

    Linus Torvalds
     
  • Pull xfs bug fixes from Dave Chinner:
    "The fixes are for data corruption issues, memory corruption and
    regressions for changes merged in -rc1.

    Data corruption fixes:
    - fix a bunch of delayed allocation state mismatches
    - fix collapse/zero range bugs
    - fix a direct IO block mapping bug @ EOF

    Other fixes:
    - fix a use after free on metadata IO error
    - fix a use after free on IO error during unmount
    - fix an incorrect error sign on direct IO write errors
    - add missing O_TMPFILE inode security context initialisation"

    * tag 'xfs-for-linus-3.15-rc2' of git://oss.sgi.com/xfs/xfs:
    xfs: fix tmpfile/selinux deadlock and initialize security
    xfs: fix buffer use after free on IO error
    xfs: wrong error sign conversion during failed DIO writes
    xfs: unmount does not wait for shutdown during unmount
    xfs: collapse range is delalloc challenged
    xfs: don't map ranges that span EOF for direct IO
    xfs: zeroing space needs to punch delalloc blocks
    xfs: xfs_vm_write_end truncates too much on failure
    xfs: write failure beyond EOF truncates too much data
    xfs: kill buffers over failed write ranges properly

    Linus Torvalds
     
  • …it/rostedt/linux-trace

    Pull tracing fixes from Steven Rostedt:
    "This contains two fixes.

    The first is to remove a duplication of creating debugfs files that
    already exist and causes an error report to be printed due to the
    failure of the second creation.

    The second is a memory leak fix that was introduced in 3.14"

    * tag 'trace-fixes-v3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing/uprobes: Fix uprobe_cpu_buffer memory leak
    tracing: Do not try to recreated toplevel set_ftrace_* files

    Linus Torvalds
     

18 Apr, 2014

13 commits

  • Add an empty version of of_find_node_by_path().
    This fixes following build error for asoc tree:
    sound/soc/fsl/fsl_ssi.c: In function 'fsl_ssi_probe':
    sound/soc/fsl/fsl_ssi.c:1471:2: error: implicit declaration of function 'of_find_node_by_path' [-Werror=implicit-function-declaration]
    sprop = of_get_property(of_find_node_by_path("/"), "compatible", NULL);

    Reported-by: Stephen Rothwell
    Signed-off-by: Alexander Shiyan
    Signed-off-by: Rob Herring

    Alexander Shiyan
     
  • Pull timer fixes from Thomas Gleixner:
    "Viresh unearthed the following three hickups in the timer/timekeeping
    code:

    - Negated check for the result of a clock event selection

    - A missing early exit in the jiffies update path which causes
    update_wall_time to be called for nothing causing lock contention
    and wasted cycles in the timer interrupt

    - Checking a variable in the NOHZ code enable code for true which can
    only be set by that very code after the check succeeds. That
    results in a rock solid runtime disablement of that feature"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tick-sched: Check tick_nohz_enabled in tick_nohz_switch_to_nohz()
    tick-sched: Don't call update_wall_time() when delta is lesser than tick_period
    tick-common: Fix wrong check in tick_check_replacement()

    Linus Torvalds
     
  • Pull parisc updates from Helge Deller:
    "There are two major changes in this patchset:

    The major fix is that the epoll_pwait() syscall for 32bit userspace
    was not using the compat wrapper on a 64bit kernel.

    Secondly we changed the value of SHMLBA from 4MB to PAGE_SIZE to
    reflect that we can actually mmap to any multiple of PAGE_SIZE. The
    only thing which needs care is that shared mmaps need to be mapped at
    the same offset inside the 4MB cache window"

    * 'parisc-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: fix epoll_pwait syscall on compat kernel
    parisc: change value of SHMLBA from 0x00400000 to PAGE_SIZE
    parisc: Replace __get_cpu_var uses for address calculation

    Linus Torvalds
     
  • Merge ipmi fixes from Corey Minyard:
    "Things collected since last kernel release.

    Some of these are pretty important. The first three are bug fixes.
    The next two are to hopefully make everyone happy about allowing
    ACPI to be on all the time and not have IPMI have an effect on the
    system when not in use. The last is a little cleanup"

    * emailed patches from Corey Minyard :
    ipmi: boolify some things
    ipmi: Turn off all activity on an idle ipmi interface
    ipmi: Turn off default probing of interfaces
    ipmi: Reset the KCS timeout when starting error recovery
    ipmi: Fix a race restarting the timer
    Char: ipmi_bt_sm, fix infinite loop

    Linus Torvalds
     
  • Convert some ints to bools.

    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The IPMI driver would wake up periodically looking for events and
    watchdog pretimeouts. If there is nothing waiting for these events,
    it's really kind of pointless to be checking for them. So modify the
    driver so the message handler can pass down if it needs the lower layer
    to be waiting for these. Modify the system interface lower layer to
    turn off all timer and thread activity if the upper layer doesn't need
    anything and it is not currently handling messages. And modify the
    message handler to not restart the timer if its timer is not needed.

    The timers and kthread will still be enabled if:
    - the SI interface is handling a message.
    - a user has enabled watching for events.
    - the IPMI watchdog timer is in use (since it uses pretimeouts).
    - the message handler is waiting on a remote response.
    - a user has registered to receive commands.

    This mostly affects interfaces without interrupts. Interfaces with
    interrupts already don't use CPU in the system interface when the
    interface is idle.

    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The default probing can cause problems with some system, slow booting,
    extra CPU usages, etc. Turn it off by default and give a config option
    to enable it.

    From: Matthew Garrett
    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • The OBF timer in KCS was not reset in one situation when error recovery
    was started, resulting in an immediate timeout.

    Reported-by: Bodo Stroesser
    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Corey Minyard
     
  • With recent changes it is possible for the timer handler to detect an
    idle interface and not start the timer, but the thread to start an
    operation at the same time. The thread will not start the timer in that
    instance, resulting in the timer not running.

    Instead, move all timer operations under the lock and start the timer in
    the thread if it detect non-idle and the timer is not already running.
    Moving under locks allows the last timeout to be set in both the thread
    and the timer. 'Timer is not running' means that the timer is not
    pending and smi_timeout() is not running. So we need a flag to detect
    this correctly.

    Also fix a few other timeout bugs: setting the last timeout when the
    interrupt has to be disabled and the timer started, and setting the last
    timeout in check_start_timer_thread possibly racing with the timer

    Signed-off-by: Corey Minyard
    Signed-off-by: Bodo Stroesser
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     
  • In read_all_bytes, we do

    unsigned char i;
    ...
    bt->read_data[0] = BMC2HOST;
    bt->read_count = bt->read_data[0];
    ...
    for (i = 1; i read_count; i++)
    bt->read_data[i] = BMC2HOST;

    If bt->read_data[0] == bt->read_count == 255, we loop infinitely in the
    'for' loop. Make 'i' an 'int' instead of 'char' to get rid of the
    overflow and finish the loop after 255 iterations every time.

    Signed-off-by: Jiri Slaby
    Reported-and-debugged-by: Rui Hui Dian
    Cc: Tomas Cech
    Cc: Corey Minyard
    Cc:
    Signed-off-by: Corey Minyard
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Pull Xen fixes from David Vrabel:
    "Xen regression and bug fixes for 3.15-rc1:

    - fix completely broken 32-bit PV guests caused by x86 refactoring
    32-bit thread_info.
    - only enable ticketlock slow path on Xen (not bare metal)
    - fix two bugs with PV guests not shutting down when requested
    - fix a minor memory leak in xen-pciback error path"

    * tag 'stable/for-linus-3.15-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/manage: Poweroff forcefully if user-space is not yet up.
    xen/xenbus: Avoid synchronous wait on XenBus stalling shutdown/restart.
    xen/spinlock: Don't enable them unconditionally.
    xen-pciback: silence an unwanted debug printk
    xen: fix memory leak in __xen_pcibk_add_pci_dev()
    x86/xen: Fix 32-bit PV guests's usage of kernel_stack

    Linus Torvalds
     
  • Pull md bugfix from Neil Brown:
    "One BUG fix for md for recent commit"

    * tag '3.15-fixes' of git://neil.brown.name/md:
    raid5: fix a race of stripe count check

    Linus Torvalds
     
  • Pull fbdev renaming patches from Tomi Valkeinen:
    "Reorder drivers/video/ directory so that all fbdev drivers are now
    located in drivers/video/fbdev/ and the fbdev framework core files are
    located in drivers/video/fbdev/core/

    The drivers/video/Kconfig is modified so that the DRM and the fbdev
    menu options are in separate submenus, instead of both being mixed in
    the same 'Graphics support' menu level"

    * tag 'fbdev-reorder-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
    video: Kconfig: move drm and fb into separate menus
    fbdev: move fbdev core files to separate directory
    video: move fbdev to drivers/video/fbdev

    Linus Torvalds
     

17 Apr, 2014

15 commits

  • Forgot to free uprobe_cpu_buffer percpu page in uprobe_buffer_disable().

    Link: http://lkml.kernel.org/p/534F8B3F.1090407@huawei.com

    Cc: stable@vger.kernel.org # v3.14+
    Acked-by: Namhyung Kim
    Signed-off-by: zhangwei(Jovi)
    Signed-off-by: Steven Rostedt

    zhangwei(Jovi)
     
  • I hit another BUG_ON with e240c1839d11152b0355442. In __get_priority_stripe(),
    stripe count equals to 0 initially. Between atomic_inc and BUG_ON,
    get_active_stripe() finds the stripe. So the stripe count isn't 1 any more.

    V2: keeps the BUG_ON suggested by Neil.

    Signed-off-by: Shaohua Li
    Signed-off-by: NeilBrown

    Shaohua Li
     
  • At the moment the "Device Drivers / Graphics support" kernel config page
    looks rather messy, with DRM and fbdev driver selections on the same
    page, some on the top level Graphics support page, some under their
    respective subsystems.

    If I'm not mistaken, this is caused by the drivers depending on other
    things than DRM or FB, which causes Kconfig to arrange the options in
    not-so-neat manner.

    Both DRM and FB have a main menuconfig option for the whole DRM or FB
    subsystem. Optimally, this would be enough to arrange all DRM and FB
    options under the respective subsystem, but for whatever reason this
    doesn't work reliably.

    This patch adds an explicit submenu for DRM and FB, making it much
    clearer which options are related to FB, and which to DRM.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Laurent Pinchart
    Acked-by: Geert Uytterhoeven
    Acked-by: Rob Clark
    Reviewed-by: Jingoo Han
    Acked-by: Daniel Vetter

    Tomi Valkeinen
     
  • Instead of having fbdev framework core files at the root fbdev
    directory, mixed with random fbdev device drivers, move the fbdev core
    files to a separate core directory. This makes it much clearer which of
    the files are actually part of the fbdev framework, and which are part
    of device drivers.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Laurent Pinchart
    Acked-by: Geert Uytterhoeven
    Acked-by: Rob Clark
    Acked-by: Jingoo Han
    Acked-by: Daniel Vetter

    Tomi Valkeinen
     
  • The drivers/video directory is a mess. It contains generic video related
    files, directories for backlight, console, linux logo, lots of fbdev
    device drivers, fbdev framework files.

    Make some order into the chaos by creating drivers/video/fbdev
    directory, and move all fbdev related files there.

    No functionality is changed, although I guess it is possible that some
    subtle Makefile build order related issue could be created by this
    patch.

    Signed-off-by: Tomi Valkeinen
    Acked-by: Laurent Pinchart
    Acked-by: Geert Uytterhoeven
    Acked-by: Rob Clark
    Acked-by: Jingoo Han
    Acked-by: Daniel Vetter

    Tomi Valkeinen
     
  • Pull x86 fixes from Ingo Molnar:
    "Various fixes:

    - reboot regression fix
    - build message spam fix
    - GPU quirk fix
    - 'make kvmconfig' fix

    plus the wire-up of the renameat2() system call on i386"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Remove the PCI reboot method from the default chain
    x86/build: Supress "Nothing to be done for ..." messages
    x86/gpu: Fix sign extension issue in Intel graphics stolen memory quirks
    x86/platform: Fix "make O=dir kvmconfig"
    i386: Wire up the renameat2() syscall

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Tooling fixes, plus a simple hardware-enablement patch for the Intel
    RAPL PMU (energy use measurement) on Haswell CPUs, which I hope is
    still fine at this stage"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Instead of redirecting flex output, use -o
    perf tools: Fix double free in perf test 21 (code-reading.c)
    perf stat: Initialize statistics correctly
    perf bench: Set more defaults in the 'numa' suite
    perf bench: Fix segfault at the end of an 'all' execution
    perf bench: Update manpage to mention numa and futex
    perf probe: Use dwarf_getcfi_elf() instead of dwarf_getcfi()
    perf probe: Fix to handle errors in line_range searching
    perf probe: Fix --line option behavior
    perf tools: Pick up libdw without explicit LIBDW_DIR
    MAINTAINERS: Change e-mail to kernel.org one
    perf callchains: Disable unwind libraries when libelf isn't found
    tools lib traceevent: Do not call warning() directly
    tools lib traceevent: Print event name when show warning if possible
    perf top: Fix documentation of invalid -s option
    perf/x86: Enable DRAM RAPL support on Intel Haswell

    Linus Torvalds
     
  • Pull irq fix from Ingo Molnar:
    "ARM VIC (Vectored Irq Controller) irqchip driver fix"

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip: vic: Properly chain the cascaded IRQs

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "liblockdep fixes and mutex debugging fixes"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    locking/mutex: Fix debug_mutexes
    tools/liblockdep: Add proper versioning to the shared obj
    tools/liblockdep: Ignore asmlinkage and visible

    Linus Torvalds
     
  • With the restructing of the function tracer working with instances, the
    "top level" buffer is a bit special, as the function tracing is mapped
    to the same set of filters. This is done by using a "global_ops" descriptor
    and having the "set_ftrace_filter" and "set_ftrace_notrace" map to it.

    When an instance is created, it creates the same files but its for the
    local instance and not the global_ops.

    The issues is that the local instance creation shares some code with
    the global instance one and we end up trying to create th top level
    "set_ftrace_*" files twice, and on boot up, we get an error like this:

    Could not create debugfs 'set_ftrace_filter' entry
    Could not create debugfs 'set_ftrace_notrace' entry

    The reason they failed to be created was because they were created
    twice, and the second time gives this error as you can not create the
    same file twice.

    Reported-by: Borislav Petkov
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     
  • Pull fbdev fixes from Tomi Valkeinen:
    - fix build errors for bf54x-lq043fb and imxfb
    - fbcon fix for da8xx-fb
    - omapdss fixes for hdmi audio, irq handling and fclk calculation

    * tag 'fbdev-fixes-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux:
    video: bf54x-lq043fb: fix build error
    OMAPDSS: Change struct reg_field to dispc_reg_field
    OMAPDSS: Take pixelclock unit change into account in hdmi_compute_acr()
    OMAPDSS: fix shared irq handlers
    video: imxfb: Select LCD_CLASS_DEVICE unconditionally
    OMAPDSS: fix rounding when calculating fclk rate
    video: da8xx-fb: Fix casting of info->pseudo_palette

    Linus Torvalds
     
  • Pull pincontrol fixes from Linus Walleij:
    "A first set of pin control fixes for the v3.15 series:

    - Fix a couple of barnsjukdomar on the Rockchip driver.

    - Remove an idiotic debug print I happened to leave behind in the
    Nomadik driver.

    - Fixup the Qualcomm MSM interrupt handling code for the TLMM v2.

    - Three patches renaming the Broadcom Capri driver to BCM28155. This
    has been falling between the chairs for some time due to some
    cross-tree synchronization misunderstandings, now I'm fed up with
    this and just rename it in this -rc1 phase"

    * tag 'pinctrl-v3.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl: fix typo in bindings documentation
    Update bcm_defconfig with new pinctrl CONFIG
    pinctrl: Rename Broadcom Capri pinctrl driver
    pinctrl: msm: Correct interrupt code for TLMM v2
    pinctrl: nomadik: delete stray debug print
    pinctrl: rockchip: handle first half of rk3188-bank0 correctly
    pinctrl: rockchip: add return value to rockchip_set_mux
    pinctrl: rockchip: fix offset of mux registers for rk3188

    Linus Torvalds
     
  • xfstests generic/004 reproduces an ilock deadlock using the tmpfile
    interface when selinux is enabled. This occurs because
    xfs_create_tmpfile() takes the ilock and then calls d_tmpfile(). The
    latter eventually calls into xfs_xattr_get() which attempts to get the
    lock again. E.g.:

    xfs_io D ffffffff81c134c0 4096 3561 3560 0x00000080
    ffff8801176a1a68 0000000000000046 ffff8800b401b540 ffff8801176a1fd8
    00000000001d5800 00000000001d5800 ffff8800b401b540 ffff8800b401b540
    ffff8800b73a6bd0 fffffffeffffffff ffff8800b73a6bd8 ffff8800b5ddb480
    Call Trace:
    [] schedule+0x29/0x70
    [] rwsem_down_read_failed+0xc5/0x120
    [] ? xfs_ilock_attr_map_shared+0x1f/0x50 [xfs]
    [] call_rwsem_down_read_failed+0x14/0x30
    [] ? down_read_nested+0x89/0xa0
    [] ? xfs_ilock+0x122/0x250 [xfs]
    [] xfs_ilock+0x122/0x250 [xfs]
    [] xfs_ilock_attr_map_shared+0x1f/0x50 [xfs]
    [] xfs_attr_get+0x90/0xe0 [xfs]
    [] xfs_xattr_get+0x37/0x50 [xfs]
    [] generic_getxattr+0x4f/0x70
    [] inode_doinit_with_dentry+0x1ae/0x650
    [] selinux_d_instantiate+0x1c/0x20
    [] security_d_instantiate+0x1b/0x30
    [] d_instantiate+0x50/0x70
    [] d_tmpfile+0xb5/0xc0
    [] xfs_create_tmpfile+0x362/0x410 [xfs]
    [] xfs_vn_tmpfile+0x18/0x20 [xfs]
    [] path_openat+0x228/0x6a0
    [] ? sched_clock+0x9/0x10
    [] ? kvm_clock_read+0x27/0x40
    [] ? __alloc_fd+0xaf/0x1f0
    [] do_filp_open+0x3a/0x90
    [] ? _raw_spin_unlock+0x27/0x40
    [] ? __alloc_fd+0xaf/0x1f0
    [] do_sys_open+0x12e/0x210
    [] SyS_open+0x1e/0x20
    [] system_call_fastpath+0x16/0x1b

    xfs_vn_tmpfile() also fails to initialize security on the newly created
    inode.

    Pull the d_tmpfile() call up into xfs_vn_tmpfile() after the transaction
    has been committed and the inode unlocked. Also, initialize security on
    the inode based on the parent directory provided via the tmpfile call.

    Signed-off-by: Brian Foster
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Dave Chinner

    Brian Foster
     
  • When testing exhaustion of dm snapshots, the following appeared
    with CONFIG_DEBUG_OBJECTS_FREE enabled:

    ODEBUG: free active (active state 0) object type: work_struct hint: xfs_buf_iodone_work+0x0/0x1d0 [xfs]

    indicating that we'd freed a buffer which still had a pending reference,
    down this path:

    [ 190.867975] [] debug_check_no_obj_freed+0x22b/0x270
    [ 190.880820] [] kmem_cache_free+0xd0/0x370
    [ 190.892615] [] xfs_buf_free+0xe4/0x210 [xfs]
    [ 190.905629] [] xfs_buf_rele+0xe7/0x270 [xfs]
    [ 190.911770] [] xfs_trans_read_buf_map+0x7b6/0xac0 [xfs]

    At issue is the fact that if IO fails in xfs_buf_iorequest,
    we'll queue completion unconditionally, and then call
    xfs_buf_rele; but if IO failed, there are no IOs remaining,
    and xfs_buf_rele will free the bp while work is still queued.

    Fix this by not scheduling completion if the buffer has
    an error on it; run it immediately. The rest is only comment
    changes.

    Thanks to dchinner for spotting the root cause.

    Signed-off-by: Eric Sandeen
    Reviewed-by: Brian Foster
    Signed-off-by: Dave Chinner

    Eric Sandeen
     
  • We negate the error value being returned from a generic function
    incorrectly. The code path that it is running in returned negative
    errors, so there is no need to negate it to get the correct error
    signs here.

    This was uncovered by generic/019.

    Signed-off-by: Dave Chinner
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Dave Chinner

    Dave Chinner