Skip to content
  1. Mar 21, 2014
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.14-rc7' of... · 477cc484
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull trace fix from Steven Rostedt:
       "Vaibhav Nagarnaik discovered that since 3.10 a clean-up patch made the
        array index in the trace event format bogus.
      
        He supplied an elegant solution that uses __stringify() and also
        removes the need for the event_storage and event_storage_mutex and
        also cuts off a few K of overhead from the trace events"
      
      * tag 'trace-fixes-v3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix array size mismatch in format string
      477cc484
    • Hugh Dickins's avatar
      mm: fix swapops.h:131 bug if remap_file_pages raced migration · 7e09e738
      Hugh Dickins authored
      
      
      Add remove_linear_migration_ptes_from_nonlinear(), to fix an interesting
      little include/linux/swapops.h:131 BUG_ON(!PageLocked) found by trinity:
      indicating that remove_migration_ptes() failed to find one of the
      migration entries that was temporarily inserted.
      
      The problem comes from remap_file_pages()'s switch from vma_interval_tree
      (good for inserting the migration entry) to i_mmap_nonlinear list (no good
      for locating it again); but can only be a problem if the remap_file_pages()
      range does not cover the whole of the vma (zap_pte() clears the range).
      
      remove_migration_ptes() needs a file_nonlinear method to go down the
      i_mmap_nonlinear list, applying linear location to look for migration
      entries in those vmas too, just in case there was this race.
      
      The file_nonlinear method does need rmap_walk_control.arg to do this;
      but it never needed vma passed in - vma comes from its own iteration.
      
      Reported-and-tested-by: default avatarDave Jones <davej@redhat.com>
      Reported-and-tested-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7e09e738
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 3fb725c4
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Another set of five fixes.  The most interesting one is a fix for race
        condition in the local_irq_disable() implementation used by .S code
        for pre-MIPS R2 processors only.  It leaves a race that's hard but not
        impossible to hit; the others fairly obvious"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Make local_irq_disable macro safe for non-Mipsr2
        MIPS: Octeon: Fix warning in of_device_alloc on cn3xxx
        MIPS: ftrace: Tweak safe_load()/safe_store() macros
        MIPS: BCM47XX: Check all (32) GPIOs when looking for a pin
        MIPS: Fix possible build error with transparent hugepages enabled
      3fb725c4
    • Linus Torvalds's avatar
      Merge tag 'sound-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 92f99731
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just two minor bug fixes: a fix for a regression in oxygen driver that
        was introduced in 3.14-rc1, and a stable fix for the return value of
        compress offload open callback"
      
      * tag 'sound-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: compress: Pass through return value of open ops callback
        ALSA: oxygen: Xonar DG(X): fix Stereo Upmixing regression
      92f99731
    • Vaibhav Nagarnaik's avatar
      tracing: Fix array size mismatch in format string · 87291347
      Vaibhav Nagarnaik authored
      In event format strings, the array size is reported in two locations.
      One in array subscript and then via the "size:" attribute. The values
      reported there have a mismatch.
      
      For e.g., in sched:sched_switch the prev_comm and next_comm character
      arrays have subscript values as [32] where as the actual field size is
      16.
      
      name: sched_switch
      ID: 301
      format:
              field:unsigned short common_type;       offset:0;       size:2; signed:0;
              field:unsigned char common_flags;       offset:2;       size:1; signed:0;
              field:unsigned char common_preempt_count;       offset:3;       size:1;signed:0;
              field:int common_pid;   offset:4;       size:4; signed:1;
      
              field:char prev_comm[32];       offset:8;       size:16;        signed:1;
              field:pid_t prev_pid;   offset:24;      size:4; signed:1;
              field:int prev_prio;    offset:28;      size:4; signed:1;
              field:long prev_state;  offset:32;      size:8; signed:1;
              field:char next_comm[32];       offset:40;      size:16;        signed:1;
              field:pid_t next_pid;   offset:56;      size:4; signed:1;
              field:int next_prio;    offset:60;      size:4; signed:1;
      
      After bisection, the following commit was blamed:
      92edca07 tracing: Use direct field, type and system names
      
      This commit removes the duplication of strings for field->name and
      field->type assuming that all the strings passed in
      __trace_define_field() are immutable. This is not true for arrays, where
      the type string is created in event_storage variable and field->type for
      all array fields points to event_storage.
      
      Use __stringify() to create a string constant for the type string.
      
      Also, get rid of event_storage and event_storage_mutex that are not
      needed anymore.
      
      also, an added benefit is that this reduces the overhead of events a bit more:
      
         text    data     bss     dec     hex filename
      8424787 2036472 1302528 11763787         b3804b vmlinux
      8420814 2036408 1302528 11759750         b37086 vmlinux.patched
      
      Link: http://lkml.kernel.org/r/1392349908-29685-1-git-send-email-vnagarnaik@google.com
      
      
      
      Cc: Laurent Chavey <chavey@google.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: default avatarVaibhav Nagarnaik <vnagarnaik@google.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      87291347
  2. Mar 20, 2014
    • Jim Quinlan's avatar
      MIPS: Make local_irq_disable macro safe for non-Mipsr2 · 71ca7588
      Jim Quinlan authored
      For non-mipsr2 processors, the local_irq_disable contains an mfc0-mtc0
      pair with instructions inbetween.  With preemption enabled, this sequence
      may get preempted and effect a stale value of CP0_STATUS when executing
      the mtc0 instruction.  This commit avoids this scenario by incrementing
      the preempt count before the mfc0 and decrementing it after the mtc9.
      
      [ralf@linux-mips.org: This patch is sorting out the part that were missed
      by e97c5b60
      
       [MIPS: Make irqflags.h functions preempt-safe for non-mipsr2
      cpus.]  I also re-enabled the inclusion of <asm/asm-offsets.h> at the top
      of <asm/asmmacro.h>].
      
      Signed-off-by: default avatarJim Quinlan <jim2101024@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: cernekee@gmail.com
      Patchwork: https://patchwork.linux-mips.org/patch/6164/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      71ca7588
    • Hugh Dickins's avatar
      mm: fix bad rss-counter if remap_file_pages raced migration · 88784396
      Hugh Dickins authored
      
      
      Fix some "Bad rss-counter state" reports on exit, arising from the
      interaction between page migration and remap_file_pages(): zap_pte()
      must count a migration entry when zapping it.
      
      And yes, it is possible (though very unusual) to find an anon page or
      swap entry in a VM_SHARED nonlinear mapping: coming from that horrid
      get_user_pages(write, force) case which COWs even in a shared mapping.
      
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Tested-by: default avatarSasha Levin <sasha.levin@oracle.com>
      Tested-by: default avatarDave Jones <davej@redhat.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      88784396
    • Linus Torvalds's avatar
      Merge tag 'pci-v3.14-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 7c1cfacc
      Linus Torvalds authored
      Pull PCI resource management fix from Bjorn Helgaas:
       "This is a fix for an AGP regression exposed by e501b3d8 ("agp:
        Support 64-bit APBASE"), which we merged in v3.14-rc1.
      
        We've warned about the conflict between the GART and PCI resources and
        cleared out the PCI resource for a long time, but after e501b3d8,
        we still *use* that cleared-out PCI resource.  I think the GART
        resource is incorrect, so this patch removes it"
      
      * tag 'pci-v3.14-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        Revert "[PATCH] Insert GART region into resource map"
      7c1cfacc
    • Linus Torvalds's avatar
      Merge branch 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 7c389538
      Linus Torvalds authored
      Pull cgroup fix from Tejun Heo:
       "One really late cgroup patch to fix error path in create_css().
        Hitting this bug would be pretty rare but still possible and it gets
        delayed we'd need to backport it through -stable anyway.  It only
        updates error path in create_css() and has low chance of new
        breakages"
      
      * 'for-3.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: fix a failure path in create_css()
      7c389538
    • Andreas Herrmann's avatar
      MIPS: Octeon: Fix warning in of_device_alloc on cn3xxx · 2eddb708
      Andreas Herrmann authored
      Starting with commit 3da52787 (of/irq:
      Rework of_irq_count()) the following warning is triggered on octeon
      cn3xxx:
      
      [    0.887281] WARNING: CPU: 0 PID: 1 at drivers/of/platform.c:171 of_device_alloc+0x228/0x230()
      [    0.895642] Modules linked in:
      [    0.898689] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.14.0-rc7-00012-g9ae51f2-dirty #41
      [    0.906860] Stack : c8b439581166d96e ffffffff816b0000 0000000040808000 ffffffff81185ddc
      [    0.906860] 	  0000000000000000 0000000000000000 0000000000000000 000000000000000b
      [    0.906860] 	  000000000000000a 000000000000000a 0000000000000000 0000000000000000
      [    0.906860] 	  ffffffff81740000 ffffffff81720000 ffffffff81615900 ffffffff816b0177
      [    0.906860] 	  ffffffff81727d10 800000041f868fb0 0000000000000001 0000000000000000
      [    0.906860] 	  0000000000000000 0000000000000038 0000000000000001 ffffffff81568484
      [    0.906860] 	  800000041f86faa8 ffffffff81145ddc 0000000000000000 ffffffff811873f4
      [    0.906860] 	  800000041f868b88 800000041f86f9c0 0000000000000000 ffffffff81569c9c
      [    0.906860] 	  0000000000000000 0000000000000000 0000000000000000 0000000000000000
      [    0.906860] 	  0000000000000000 ffffffff811205e0 0000000000000000 0000000000000000
      [    0.906860] 	  ...
      [    0.971695] Call Trace:
      [    0.974139] [<ffffffff811205e0>] show_stack+0x68/0x80
      [    0.979183] [<ffffffff81569c9c>] dump_stack+0x8c/0xe0
      [    0.984196] [<ffffffff81145efc>] warn_slowpath_common+0x84/0xb8
      [    0.990110] [<ffffffff81436888>] of_device_alloc+0x228/0x230
      [    0.995726] [<ffffffff814368d8>] of_platform_device_create_pdata+0x48/0xd0
      [    1.002593] [<ffffffff81436a94>] of_platform_bus_create+0x134/0x1e8
      [    1.008837] [<ffffffff81436af8>] of_platform_bus_create+0x198/0x1e8
      [    1.015064] [<ffffffff81436cc4>] of_platform_bus_probe+0xa4/0x100
      [    1.021149] [<ffffffff81100570>] do_one_initcall+0xd8/0x128
      [    1.026701] [<ffffffff816e2a10>] kernel_init_freeable+0x144/0x210
      [    1.032753] [<ffffffff81564bc4>] kernel_init+0x14/0x110
      [    1.037973] [<ffffffff8111bb44>] ret_from_kernel_thread+0x14/0x1c
      
      With this commit the kernel starts mapping the interrupts listed for
      gpio-controller node. irq_domain_ops for CIU (octeon_irq_ciu_map and
      octeon_irq_ciu_xlat) refuse to handle the GPIO lines (returning -EINVAL)
      and this is causing above warning in of_device_alloc().
      
      Modify irq_domain_ops for CIU and CIU2 to "gracefully handle" GPIO
      lines (neither return error code nor call octeon_irq_set_ciu_mapping
      for it). This should avoid the warning.
      
      (As before the real setup for GPIO lines will happen using
      irq_domain_ops of gpio-controller.)
      
      This patch is based on Wei's patch v2 (see
      http://marc.info/?l=linux-mips&m=139511814813247
      
      ).
      
      Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann@caviumnetworks.com>
      Reported-by: default avatarYang Wei <wei.yang@windriver.com>
      Acked-by: default avatarDavid Daney <david.daney@cavium.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6624/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      2eddb708
    • Viller Hsiao's avatar
      MIPS: ftrace: Tweak safe_load()/safe_store() macros · b08ac66b
      Viller Hsiao authored
      Due to name collision in ftrace safe_load and safe_store macros,
      these macros cannot take expressions as operands.
      
      For example, compiler will complain for a macro call like the following:
        safe_store_code(new_code2, ip + 4, faulted);
      
        arch/mips/include/asm/ftrace.h:61:6: note: in definition of macro 'safe_store'
           : [dst] "r" (dst), [src] "r" (src)\
              ^
        arch/mips/kernel/ftrace.c:118:2: note: in expansion of macro 'safe_store_code'
          safe_store_code(new_code2, ip + 4, faulted);
          ^
        arch/mips/kernel/ftrace.c:118:32: error: undefined named operand 'ip + 4'
          safe_store_code(new_code2, ip + 4, faulted);
                                        ^
        arch/mips/include/asm/ftrace.h:61:6: note: in definition of macro 'safe_store'
           : [dst] "r" (dst), [src] "r" (src)\
              ^
        arch/mips/kernel/ftrace.c:118:2: note: in expansion of macro 'safe_store_code'
          safe_store_code(new_code2, ip + 4, faulted);
          ^
      
      This build error is triggered by a4671094
      
       [MIPS: ftrace: Fix icache flush
      range error].  Tweak variable naming in those macros to allow flexible
      operands.
      
      Signed-off-by: default avatarViller Hsiao <villerhsiao@gmail.com>
      Cc: linux-mips@linux-mips.org
      Cc: rostedt@goodmis.org
      Cc: fweisbec@gmail.com
      Cc: mingo@redhat.com
      Cc: Qais.Yousef@imgtec.com
      Patchwork: https://patchwork.linux-mips.org/patch/6622/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      b08ac66b
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ea1cd65a
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single bugfix: make the scheduler clock on Vybrid SoCs count
        forward"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource: vf_pit_timer: use complement for sched_clock reading
      ea1cd65a
  3. Mar 19, 2014
  4. Mar 18, 2014
    • Clemens Ladisch's avatar
      ALSA: oxygen: Xonar DG(X): fix Stereo Upmixing regression · 30556441
      Clemens Ladisch authored
      The code introduced in commit 1f91ecc1 ("ALSA: oxygen: modify
      adjust_dg_dac_routing function") accidentally disregarded the old value
      of the playback routing register, so it broke the "Stereo Upmixing"
      mixer control.
      
      The unmuted parts of the channel routing are the same for all settings
      of the output destination, so it suffices to revert that part of the
      patch.
      
      Fixes: 1f91ecc1
      
       ('ALSA: oxygen: modify adjust_dg_dac_routing function')
      Tested-by: default avatarRoman Volkov <v1ron@mail.ru>
      Signed-off-by: default avatarClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      30556441
    • Alex Smith's avatar
      MIPS: Fix possible build error with transparent hugepages enabled · e4362d1e
      Alex Smith authored
      
      
      If CONFIG_TRANSPARENT_HUGEPAGE is enabled, but CONFIG_HUGETLB_PAGE is not,
      it is possible to end up with a configuration that fails to build with the
      following error:
      
      include/linux/huge_mm.h:125:2: error: #error "hugepages can't be allocated by the buddy allocator"
      
      This is due to CONFIG_FORCE_MAX_ZONEORDER defaulting to 11. It already has
      ranges that change the valid values when HUGETLB_PAGE is enabled, but this
      is not done for TRANSPARENT_HUGEPAGE. Fix by changing the HUGETLB_PAGE
      dependencies to MIPS_HUGE_TLB_SUPPORT, which includes both
      TRANSPARENT_HUGEPAGE and HUGETLB_PAGE.
      
      Signed-off-by: default avatarAlex Smith <alex.smith@imgtec.com>
      Reviewed-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/6391/
      
      
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      e4362d1e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 9a15c944
      Linus Torvalds authored
      Pull final final block IO fixes from Jens Axboe:
       "Yes, the last round was final. This one is final final.
      
        The mtip32xx fix could have waited, but it's so simple and gets rid of
        two warning spewages on load.  The two block flush fixes are critical
        for blk-mq, and are the primary reason for this late pull request"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        mtip32xx: fix bad use of smp_processor_id()
        block: change flush sequence list addition back to front add
        block: fix q->flush_rq NULL pointer crash on dm-mpath flush
      9a15c944
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 8a21d9f6
      Linus Torvalds authored
      Pull MIPS updates from Ralf Baechle:
       "A fair number of fixes all across arch/mips.  Nothing really stands
        out though APRP, the FPU code and syscall tracing code received
        multiple patches those all were small"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: mark O32+FP64 experimental for now
        MIPS: ftrace: Fix icache flush range error
        MIPS: Fix syscall tracing interface
        MIPS: asm: syscall: Fix copying system call arguments
        MIPS: Octeon: Fix fall through on bar type OCTEON_DMA_BAR_TYPE_SMALL
        MIPS: FPU: Fix conflict of register usage
        MIPS: Replace CONFIG_MIPS64 and CONFIG_MIPS32_R2
        MIPS: math-emu: Fix prefx detection and COP1X function field definition
        MIPS: APRP: Choose the correct VPE loader by fixing the linking
        MIPS: APRP: Unregister rtlx interrupt hook at module exit
        MIPS: APRP: Fix the linking of rtlx interrupt hook
        MIPS: bcm47xx: Include missing errno.h for ENXIO
        MIPS: Alchemy: Fix unchecked kstrtoul return value
        MIPS: Fix randconfig build error.
      8a21d9f6
  5. Mar 17, 2014
  6. Mar 16, 2014
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 3b4df68d
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of six fixes.  Two are instant crash/null deref types
        (storvsc and isci).  The two qla2xxx are initialisation problems that
        cause MSI-X failures and card misdetection, the isci erroneous macro
        is actually illegal C that's causing a miscompile with certain gcc
        versions and the be2iscsi bad if expression is a static checker fix"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] storvsc: NULL pointer dereference fix
        [SCSI] qla2xxx: Poll during initialization for ISP25xx and ISP83xx
        [SCSI] isci: correct erroneous for_each_isci_host macro
        [SCSI] isci: fix reset timeout handling
        [SCSI] be2iscsi: fix bad if expression
        [SCSI] qla2xxx: Fix multiqueue MSI-X registration.
      3b4df68d
  7. Mar 15, 2014
  8. Mar 14, 2014