1. 03 7月, 2013 2 次提交
    • S
      tracing: Fix race between deleting buffer and setting events · 2a6c24af
      Steven Rostedt (Red Hat) 提交于
      While analyzing the code, I discovered that there's a potential race between
      deleting a trace instance and setting events. There are a few races that can
      occur if events are being traced as the buffer is being deleted. Mostly the
      problem comes with freeing the descriptor used by the trace event callback.
      To prevent problems like this, the events are disabled before the buffer is
      deleted. The problem with the current solution is that the event_mutex is let
      go between disabling the events and freeing the files, which means that the events
      could be enabled again while the freeing takes place.
      
      Cc: stable@vger.kernel.org # 3.10
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      2a6c24af
    • S
      tracing: Add trace_array_get/put() to event handling · 8e2e2fa4
      Steven Rostedt (Red Hat) 提交于
      Commit a695cb58 "tracing: Prevent deleting instances when they are being read"
      tried to fix a race between deleting a trace instance and reading contents
      of a trace file. But it wasn't good enough. The following could crash the kernel:
      
       # cd /sys/kernel/debug/tracing/instances
       # ( while :; do mkdir foo; rmdir foo; done ) &
       # ( while :; do echo 1 > foo/events/sched/sched_switch 2> /dev/null; done ) &
      
      Luckily this can only be done by root user, but it should be fixed regardless.
      
      The problem is that a delete of the file can happen after the write to the event
      is opened, but before the enabling happens.
      
      The solution is to make sure the trace_array is available before succeeding in
      opening for write, and incerment the ref counter while opened.
      
      Now the instance can be deleted when the events are writing to the buffer,
      but the deletion of the instance will disable all events before the instance
      is actually deleted.
      
      Cc: stable@vger.kernel.org # 3.10
      Reported-by: NAlexander Lam <azl@google.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      8e2e2fa4
  2. 02 7月, 2013 14 次提交
  3. 20 6月, 2013 5 次提交
  4. 12 6月, 2013 7 次提交
  5. 09 6月, 2013 12 次提交
    • L
      Linux 3.10-rc5 · 317ddd25
      Linus Torvalds 提交于
      317ddd25
    • M
      hpfs: fix warnings when the filesystem fills up · bbd465df
      Mikulas Patocka 提交于
      This patch fixes warnings due to missing lock on write error path.
      
        WARNING: at fs/hpfs/hpfs_fn.h:353 hpfs_truncate+0x75/0x80 [hpfs]()
        Hardware name: empty
        Pid: 26563, comm: dd Tainted: P           O 3.9.4 #12
        Call Trace:
          hpfs_truncate+0x75/0x80 [hpfs]
          hpfs_write_begin+0x84/0x90 [hpfs]
          _hpfs_bmap+0x10/0x10 [hpfs]
          generic_file_buffered_write+0x121/0x2c0
          __generic_file_aio_write+0x1c7/0x3f0
          generic_file_aio_write+0x7c/0x100
          do_sync_write+0x98/0xd0
          hpfs_file_write+0xd/0x50 [hpfs]
          vfs_write+0xa2/0x160
          sys_write+0x51/0xa0
          page_fault+0x22/0x30
          system_call_fastpath+0x1a/0x1f
      Signed-off-by: NMikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
      Cc: stable@kernel.org  # 2.6.39+
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bbd465df
    • L
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 81db4dbf
      Linus Torvalds 提交于
      Pull timer fixes from Thomas Gleixner:
      
       - Trivial: unused variable removal
      
       - Posix-timers: Add the clock ID to the new proc interface to make it
         useful.  The interface is new and should be functional when we reach
         the final 3.10 release.
      
       - Cure a false positive warning in the tick code introduced by the
         overhaul in 3.10
      
       - Fix for a persistent clock detection regression introduced in this
         cycle
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Correct run-time detection of persistent_clock.
        ntp: Remove unused variable flags in __hardpps
        posix-timers: Show clock ID in proc file
        tick: Cure broadcast false positive pending bit warning
      81db4dbf
    • L
      Merge tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux · c3e58a79
      Linus Torvalds 提交于
      Pull irqdomain bug fixes from Grant Likely:
       "This branch contains a set of straight forward bug fixes to the
        irqdomain code and to a couple of drivers that make use of it."
      
      * tag 'irqdomain-for-linus' of git://git.secretlab.ca/git/linux:
        irqchip: Return -EPERM for reserved IRQs
        irqdomain: document the simple domain first_irq
        kernel/irq/irqdomain.c: before use 'irq_data', need check it whether valid.
        irqdomain: export irq_domain_add_simple
      c3e58a79
    • G
      irqchip: Return -EPERM for reserved IRQs · d94ea3f6
      Grant Likely 提交于
      The irqdomain core will report a log message for any attempted map call
      that fails unless the error code is -EPERM. This patch changes the
      Versatile irq controller drivers to use -EPERM because it is normal for
      a subset of the IRQ inputs to be marked as reserved on the various
      Versatile platforms.
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      d94ea3f6
    • L
      irqdomain: document the simple domain first_irq · 94a63da0
      Linus Walleij 提交于
      The first_irq needs to be zero to get a linear domain and that
      comes with special semantics. We want to simplify this going
      forward but some documentation never hurts.
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      94a63da0
    • C
      kernel/irq/irqdomain.c: before use 'irq_data', need check it whether valid. · 275e31b1
      Chen Gang 提交于
      Since irq_data may be NULL, if so, we WARN_ON(), and continue, 'hwirq'
      which related with 'irq_data' has to initialize later, or it will cause
      issue.
      Signed-off-by: NChen Gang <gang.chen@asianux.com>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      275e31b1
    • A
      irqdomain: export irq_domain_add_simple · 346dbb79
      Arnd Bergmann 提交于
      All other irq_domain_add_* functions are exported already, and apparently
      this one got left out by mistake, which causes build errors for ARM
      allmodconfig kernels:
      
      ERROR: "irq_domain_add_simple" [drivers/gpio/gpio-rcar.ko] undefined!
      ERROR: "irq_domain_add_simple" [drivers/gpio/gpio-em.ko] undefined!
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: NGrant Likely <grant.likely@linaro.org>
      346dbb79
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 50b4b9c3
      Linus Torvalds 提交于
      Pull ARM SoC fixes from Olof Johansson:
       "Another week, another batch of fixes for arm-soc platforms.
      
        Nothing controversial here, a handful of fixes for regressions and/or
        serious problems across several of the platforms.  Things are slowing
        down nicely on fix rates for 3.10"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: exynos: add debug_ll_io_init() call in exynos_init_io()
        ARM: EXYNOS: uncompress - print debug messages if DEBUG_LL is defined
        ARM: shmobile: sh73a0: Update CMT clockevent rating to 80
        sh-pfc: r8a7779: Don't group USB OVC and PENC pins
        ARM: mxs: icoll: Fix interrupts gpio bank 0
        ARM: imx: clk-imx6q: AXI clock select index is incorrect
        ARM: bcm2835: override the HW UART periphid
        ARM: mvebu: Fix bug in coherency fabric low level init function
        ARM: Kirkwood: TS219: Fix crash by double PCIe instantiation
        ARM: ux500: Provide supplies for AUX1, AUX2 and AUX3
        ARM: ux500: Only configure wake-up reasons on ux500 based platforms
        ARM: dts: imx: fix clocks for cspi
        ARM i.MX6q: fix for ldb_di_sels
      50b4b9c3
    • L
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 554e6e9f
      Linus Torvalds 提交于
      Pull MIPS fixes from Ralf Baechle:
       "MIPS fixes across the field.  The only area that's standing out is the
        exception handling which received it's dose of breakage as part of the
        microMIPS patchset"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: ralink: add missing SZ_1M multiplier
        MIPS: Compat: Fix cputime_to_timeval() arguments in compat binfmt_elf.
        MIPS: OCTEON: Improve _machine_halt implementation.
        MIPS: rtlx: Fix implicit declaration of function set_vi_handler()
        MIPS: Trap exception handling fixes
        MIPS: Quit exposing Kconfig symbols in uapi headers.
        MIPS: Remove duplicate definition of check_for_high_segbits.
      554e6e9f
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 17d8dfcd
      Linus Torvalds 提交于
      Pull m68knommu fix from Greg Ungerer:
       "A single fix for compilation breakage to many of the ColdFire CPU
        targets"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: only use local gpio_request_one if not using GPIOLIB
      17d8dfcd
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 6ea31c56
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "Regression fixers for the big 3:
      
         - nouveau: hdmi audio, dac load detect, s/r regressions fixed
         - radeon: long standing system hang fixed, hdmi audio and rs780 fast
           fb fixes
         - intel: one old regression, a WARN removal, and a stop X dying fix
      
        Otherwise one mgag200 fix, a couple of arm build fixes, and a core use
        after free fix."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/nv50/kms: use dac loadval from vbios, where it's available
        drm/nv50/disp: force dac power state during load detect
        drm/nv50-nv84/fifo: fix resume regression introduced by playlist race fix
        drm/nv84/disp: Fix HDMI audio regression
        drm/i915/sdvo: Use &intel_sdvo->ddc instead of intel_sdvo->i2c for DDC.
        drm/radeon: don't allow audio on DCE6
        drm/radeon: Use direct mapping for fast fb access on RS780/RS880 (v2)
        radeon: Fix system hang issue when using KMS with older cards
        drm/i915: no lvds quirk for hp t5740
        drm/i915: Quirk the pipe A quirk in the modeset state checker
        drm/i915: Fix spurious -EIO/SIGBUS on wedged gpus
        drm/mgag200: Add missing write to index before accessing data register
        drm/nouveau: use mdelay instead of large udelay constants
        drm/tilcd: select BACKLIGHT_LCD_SUPPORT
        drm: fix a use-after-free when GPU acceleration disabled
      6ea31c56