1. 08 Aug, 2013 6 commits
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 84e4526f
      Linus Torvalds authored
      Pull regulator DT binding fixes from Mark Brown:
       "A couple of fixes to bring the DT binding documentation for Palmas
        into sync with the code"
      
      * tag 'regulator-v3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: palmas-pmic: doc: remove ti,tstep
        regulator: palmas-pmic: doc: fix typo for sleep-mode
      84e4526f
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · d56290bb
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "Two things here, one is a fix for a nasty issue where we were failing
        to sync the last register in a block when using raw writes and the
        other fixes a missing header for the !REGMAP stubs so that we don't
        rely on implicit includes in that case"
      
      * tag 'regmap-v3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Add missing header for !CONFIG_REGMAP stubs
        regmap: cache: Make sure to sync the last register in a block
      d56290bb
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 91b831a2
      Linus Torvalds authored
      Pull spi fix from Mark Brown:
       "Just one update for SPI, a simple fix to the davinci driver to correct
        the direction for which DMA is mapped following the dmaengine
        conversion"
      
      * tag 'spi-v3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: spi-davinci: Fix direction in dma_map_single()
      91b831a2
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · bb014db0
      Linus Torvalds authored
      Pull virtio fixes from Rusty Russell:
       "More virtio console fixes than I'm happy with, but all real issues,
        and all CC:stable.."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio-scsi: Fix virtqueue affinity setup
        virtio: console: return -ENODEV on all read operations after unplug
        virtio: console: fix raising SIGIO after port unplug
        virtio: console: clean up port data immediately at time of unplug
        virtio: console: fix race in port_fops_open() and port unplug
        virtio: console: fix race with port unplug and open/close
        virtio/console: Add pipe_lock/unlock for splice_write
        virtio/console: Quit from splice_write if pipe->nrbufs is 0
      bb014db0
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 67ef6265
      Linus Torvalds authored
      Pull ARM SoC fixes from Kevin Hilman:
       - MSM: GPIO fixes (includes old code removal)
       - OMAP: earlyprintk regression, AM33xx cpgmac PM regression
       - OMAP5: urgent fix for potentially harmful voltage regulator values
       - Renesas: gpio-keys fix, fix SD card detection, fix shdma calculation
         error
       - STi: critical SMP boot fix
       - tegra: DTS fix for usb-phy
       - a couple MAINTAINERS updates
      
      (Arnd is on paternity leave, Kevin is stepping up to help arm-soc
      maintenance)
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        MAINTAINERS: add TI Keystone ARM platform
        MAINTAINERS: delete Srinidhi from ux500
        ARM: tegra: enable ULPI phy on Colibri T20
        ARM: STi: remove sti_secondary_start from INIT section.
        ARM: STi: Fix cpu nodes with correct device_type.
        ARM: shmobile: lager: do not annotate gpio_buttons as __initdata
        ARM: shmobile: BOCK-W: fix SDHI0 PFC settings
        shdma: fixup sh_dmae_get_partial() calculation error
        ARM: OMAP2+: hwmod: AM335x: fix cpgmac address space
        ARM: OMAP2+: hwmod: rt address space index for DT
        ARM: OMAP2+: Sync hwmod state with the pm_runtime and omap_device state
        ARM: OMAP2+: Avoid idling memory controllers with no drivers
        ARM: OMAP2+: hwmod: Fix a crash in _setup_reset() with DEBUG_LL
        ARM: dts: omap5-uevm: update optional/unused regulator configurations
        ARM: dts: omap5-uevm: fix regulator configurations mandatory for SoC
        ARM: dts: omap5-uevm: document regulator signals used on the actual board
        ARM: msm: Consolidate gpiomux for older architectures
        ARM: shmobile: armadillo800eva: Don't request GPIO 166 in board code
        ARM: msm: dts: Fix the gpio register address for msm8960
      67ef6265
    • Linus Torvalds's avatar
      Revert "slub: do not put a slab to cpu partial list when cpu_partial is 0" · 37090506
      Linus Torvalds authored
      This reverts commit 318df36e.
      
      This commit caused Steven Rostedt's hackbench runs to run out of memory
      due to a leak.  As noted by Joonsoo Kim, it is buggy in the following
      scenario:
      
       "I guess, you may set 0 to all kmem caches's cpu_partial via sysfs,
        doesn't it?
      
        In this case, memory leak is possible in following case.  Code flow of
        possible leak is follwing case.
      
         * in __slab_free()
         1. (!new.inuse || !prior) && !was_frozen
         2. !kmem_cache_debug && !prior
         3. new.frozen = 1
         4. after cmpxchg_double_slab, run the (!n) case with new.frozen=1
         5. with this patch, put_cpu_partial() doesn't do anything,
            because this cache's cpu_partial is 0
         6. return
      
        In step 5, leak occur"
      
      And Steven does indeed have cpu_partial set to 0 due to RT testing.
      
      Joonsoo is cooking up a patch, but everybody agrees that reverting this
      for now is the right thing to do.
      Reported-and-bisected-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Acked-by: default avatarJoonsoo Kim <iamjoonsoo.kim@lge.com>
      Acked-by: default avatarPekka Enberg <penberg@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      37090506
  2. 07 Aug, 2013 4 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-3.11-rc3' of... · b7bc9e7d
      Linus Torvalds authored
      Merge tag 'trace-fixes-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fixes from Steven Rostedt:
       "Oleg Nesterov has been working hard in closing all the holes that can
        lead to race conditions between deleting an event and accessing an
        event debugfs file.  This included a fix to the debugfs system (acked
        by Greg Kroah-Hartman).  We think that all the holes have been patched
        and hopefully we don't find more.  I haven't marked all of them for
        stable because I need to examine them more to figure out how far back
        some of the changes need to go.
      
        Along the way, some other fixes have been made.  Alexander Z Lam fixed
        some logic where the wrong buffer was being modifed.
      
        Andrew Vagin found a possible corruption for machines that actually
        allocate cpumask, as a reference to one was being zeroed out by
        mistake.
      
        Dhaval Giani found a bad prototype when tracing is not configured.
      
        And I not only had some changes to help Oleg, but also finally fixed a
        long standing bug that Dave Jones and others have been hitting, where
        a module unload and reload can cause the function tracing accounting
        to get screwed up"
      
      * tag 'trace-fixes-3.11-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix reset of time stamps during trace_clock changes
        tracing: Make TRACE_ITER_STOP_ON_FREE stop the correct buffer
        tracing: Fix trace_dump_stack() proto when CONFIG_TRACING is not set
        tracing: Fix fields of struct trace_iterator that are zeroed by mistake
        tracing/uprobes: Fail to unregister if probe event files are in use
        tracing/kprobes: Fail to unregister if probe event files are in use
        tracing: Add comment to describe special break case in probe_remove_event_call()
        tracing: trace_remove_event_call() should fail if call/file is in use
        debugfs: debugfs_remove_recursive() must not rely on list_empty(d_subdirs)
        ftrace: Check module functions being traced on reload
        ftrace: Consolidate some duplicate code for updating ftrace ops
        tracing: Change remove_event_file_dir() to clear "d_subdirs"->i_private
        tracing: Introduce remove_event_file_dir()
        tracing: Change f_start() to take event_mutex and verify i_private != NULL
        tracing: Change event_filter_read/write to verify i_private != NULL
        tracing: Change event_enable/disable_read() to verify i_private != NULL
        tracing: Turn event/id->i_private into call->event.type
      b7bc9e7d
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 8ef9c292
      Linus Torvalds authored
      Pull vfs fixes from Al Viro.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        vfs: add missing check for __O_TMPFILE in fcntl_init()
        fs: Allow unprivileged linkat(..., AT_EMPTY_PATH) aka flink
        fs: Fix file mode for O_TMPFILE
        reiserfs: fix deadlock in umount
      8ef9c292
    • Santosh Shilimkar's avatar
      MAINTAINERS: add TI Keystone ARM platform · 1154f858
      Santosh Shilimkar authored
      Adding maintainer for arch/arm/mach-keystone/
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      1154f858
    • Linus Walleij's avatar
      MAINTAINERS: delete Srinidhi from ux500 · 60ba4f48
      Linus Walleij authored
      Srinidhi's mail address is now bouncing and he has requested
      me to delete this entry.
      Acked-by: default avatarSrinidhi Kasagar <srinidhi.kasagar@stericsson.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
      60ba4f48
  3. 06 Aug, 2013 11 commits
  4. 05 Aug, 2013 8 commits
    • Lars-Peter Clausen's avatar
      regmap: cache: Make sure to sync the last register in a block · 2d49b598
      Lars-Peter Clausen authored
      regcache_sync_block_raw_flush() expects the address of the register after last
      register that needs to be synced as its parameter. But the last call to
      regcache_sync_block_raw_flush() in regcache_sync_block_raw() passes the address
      of the last register in the block. This effectively always skips over the last
      register in a block, even if it needs to be synced. In order to fix it increase
      the address by one register.
      
      The issue was introduced in commit 75a5f89f ("regmap: cache: Write consecutive
      registers in a single block write").
      
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      2d49b598
    • Zheng Liu's avatar
      vfs: add missing check for __O_TMPFILE in fcntl_init() · 3d62c45b
      Zheng Liu authored
      As comment in include/uapi/asm-generic/fcntl.h described, when
      introducing new O_* bits, we need to check its uniqueness in
      fcntl_init().  But __O_TMPFILE bit is missing.  So fix it.
      Signed-off-by: default avatarZheng Liu <wenqing.lz@taobao.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3d62c45b
    • Andy Lutomirski's avatar
      fs: Allow unprivileged linkat(..., AT_EMPTY_PATH) aka flink · bb2314b4
      Andy Lutomirski authored
      Every now and then someone proposes a new flink syscall, and this spawns
      a long discussion of whether it would be a security problem.  I think
      that this is missing the point: flink is *already* allowed without
      privilege as long as /proc is mounted -- it's called AT_SYMLINK_FOLLOW.
      
      Now that O_TMPFILE is here, the ability to create a file with O_TMPFILE,
      write it, and link it in is very convenient.  The only problem is that
      it requires that /proc be mounted so that you can do:
      
      linkat(AT_FDCWD, "/proc/self/fd/<tmpfd>", dfd, path, AT_SYMLINK_NOFOLLOW)
      
      This sucks -- it's much nicer to do:
      
      linkat(tmpfd, "", dfd, path, AT_EMPTY_PATH)
      
      Let's allow it.
      
      If this turns out to be excessively scary, it we could instead require
      that the inode in question be I_LINKABLE, but this seems pointless given
      the /proc situation
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      bb2314b4
    • Andy Lutomirski's avatar
      fs: Fix file mode for O_TMPFILE · e305f48b
      Andy Lutomirski authored
      O_TMPFILE, like O_CREAT, should respect the requested mode and should
      create regular files.
      
      This fixes two bugs: O_TMPFILE required privilege (because the mode
      ended up as 000) and it produced bogus inodes with no type.
      Signed-off-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e305f48b
    • Al Viro's avatar
      reiserfs: fix deadlock in umount · 672fe15d
      Al Viro authored
      Since remove_proc_entry() started to wait for IO in progress (i.e.
      since 2007 or so), the locking in fs/reiserfs/proc.c became wrong;
      if procfs read happens between the moment when umount() locks the
      victim superblock and removal of /proc/fs/reiserfs/<device>/*,
      we'll get a deadlock - read will wait for s_umount (in sget(),
      called by r_start()), while umount will wait in remove_proc_entry()
      for that read to finish, holding s_umount all along.
      
      Fortunately, the same change allows a much simpler race avoidance -
      all we need to do is remove the procfs entries in the very beginning
      of reiserfs ->kill_sb(); that'll guarantee that pointer to superblock
      will remain valid for the duration for procfs IO, so we don't need
      sget() to keep the sucker alive.  As the matter of fact, we can
      get rid of the home-grown iterator completely, and use single_open()
      instead.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      672fe15d
    • Florian Fainelli's avatar
      MIPS: BMIPS: fix hardware interrupt routing for boot CPU != 0 · fcfa66de
      Florian Fainelli authored
      The hardware interrupt routing for boot CPU != 0 is wrong because it
      will route all the hardware interrupts to TP0 which is not the one we
      booted from. Fix this by properly checking which boot CPU we are booting
      from and updating the right interrupt mask for the boot CPU. This fixes
      booting on BCM3368 with bmips_smp_emabled = 0.
      Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
      Cc: linux-mips@linux-mips.org
      Cc: blogic@openwrt.org
      Cc: jogo@openwrt.org
      Cc: cernekee@gmail.com
      Patchwork: https://patchwork.linux-mips.org/patch/5650/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      fcfa66de
    • Ralf Baechle's avatar
      MIPS: oprofile: Fix BUG due to smp_processor_id() in preemptible code. · cf5b2d23
      Ralf Baechle authored
      current_cpu_type() is not preemption-safe.
      If CONFIG_PREEMPT is enabled then mipsxx_reg_setup() can be called from preemptible state.
      Added get_cpu()/put_cpu() pair to make it preemption-safe.
      
      This was found while testing oprofile with CONFIG_DEBUG_PREEMPT enable.
      
      /usr/zntestsuite # opcontrol --init
      /usr/zntestsuite # opcontrol --setup --event=L2_CACHE_ACCESSES:500 --event=L2_CACHE_MISSES:500 --no-vmlinux
      /usr/zntestsuite # opcontrol --start
      Using 2.6+ OProfile kernel interface.
      BUG: using smp_processor_id() in preemptible [00000000] code: oprofiled/1362
      caller is mipsxx_reg_setup+0x11c/0x164
      CPU: 0 PID: 1362 Comm: oprofiled Not tainted 3.10.4 #18
      Stack : 00000006 70757465 00000000 00000000 00000000 00000000 80b173f6 00000037
                80b10000 00000000 80b21614 88f5a220 00000000 00000000 00000000 00000000
                00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
                00000000 00000000 00000000 89c49c00 89c49c2c 80721254 807b7927 8012c1d0
                80b10000 80721254 00000000 00000552 88f5a220 80b1335c 807b78e6 89c49ba8
                ...
      Call Trace:
      [<801099a4>] show_stack+0x64/0x7c
      [<80665520>] dump_stack+0x20/0x2c
      [<803a2250>] debug_smp_processor_id+0xe0/0xf0
      [<8052df24>] mipsxx_reg_setup+0x11c/0x164
      [<8052cd70>] op_mips_setup+0x24/0x4c
      [<80529cfc>] oprofile_setup+0x5c/0x12c
      [<8052b9f8>] event_buffer_open+0x78/0xf8
      [<801c3150>] do_dentry_open.isra.15+0x2b8/0x3b0
      [<801c3270>] finish_open+0x28/0x4c
      [<801d49b8>] do_last.isra.41+0x2cc/0xd00
      [<801d54a0>] path_openat+0xb4/0x4c4
      [<801d5c44>] do_filp_open+0x3c/0xac
      [<801c4744>] do_sys_open+0x110/0x1f4
      [<8010f47c>] stack_done+0x20/0x44
      
      Bug reported and original patch by Jerin Jacob <jerinjacobk@gmail.com>.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Acked-by: default avatarJerin Jacob <jerinjacobk@gmail.com>
      cf5b2d23
    • Markos Chandras's avatar
      MIPS: PNX833x: PNX8335_PCI_ETHERNET_INT depends on CONFIG_SOC_PNX8335 · 3ac3bcb9
      Markos Chandras authored
      The PNX8335_PCI_ETHERNET_INT macro is defined in
      arch/mips/include/asm/mach-pnx833x/irq-mapping.h
      only if CONFIG_SOC_PNX8335 is selected.
      
      Fixes the following randconfig problem:
      arch/mips/pnx833x/common/platform.c:210:12:
      error: 'PNX8335_PIC_ETHERNET_INT' undeclared here
      (not in a function)
      Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
      Acked-by: default avatarSteven J. Hill <Steven.Hill@imgtec.com>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/5585/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      3ac3bcb9
  5. 04 Aug, 2013 11 commits