1. 15 Aug, 2012 1 commit
    • Jan Kara's avatar
      jbd: don't write superblock when unmounting an ro filesystem · 2e84f264
      Jan Kara authored
      This sequence:
      
      results in an IO error when unmounting the RO filesystem. The bug was
      introduced by:
      
      commit 9754e39c
      Author: Jan Kara <jack@suse.cz>
      Date:   Sat Apr 7 12:33:03 2012 +0200
      
          jbd: Split updating of journal superblock and marking journal empty
      
      which lost some of the magic in journal_update_superblock() which
      used to test for a journal with no outstanding transactions.
      
      This is a port of a jbd2 fix by Eric Sandeen.
      
      CC: <stable@vger.kernel.org> # 3.4.x
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      2e84f264
  2. 14 Aug, 2012 7 commits
    • Jeff Mahoney's avatar
      reiserfs: fix deadlocks with quotas · 48d17884
      Jeff Mahoney authored
      The BKL push-down for reiserfs made lock recursion a special case that needs
      to be handled explicitly. One of the cases that was unhandled is dropping
      the quota during inode eviction. Both reiserfs_evict_inode and
      reiserfs_write_dquot take the write lock, but when the journal lock is
      taken it only drops one the references. The locking rules are that the journal
      lock be acquired before the write lock so leaving the reference open leads
      to a ABBA deadlock.
      
      This patch pushes the unlock up before clear_inode and avoids the recursive
      locking.
      
      Another ABBA situation can occur when the write lock is dropped while reading
      the bitmap buffer while in the quota code. When the lock is reacquired, it
      will deadlock against dquot->dq_lock and dqopt->dqio_mutex in the dquot_acquire
      path. It's safe to retain the lock across the read and should be cached under
      write load.
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      48d17884
    • Jeff Liu's avatar
      quota: Move down dqptr_sem read after initializing default warn[] type at __dquot_alloc_space(). · 6ea2eea1
      Jeff Liu authored
      sb->s_dqopt->dqptr_sem is used to serialize ops using pointers from inode to
      dquots.  But for __dquot_alloc_space(), it could be safely moved down after the
      default warn[] array got initialized.
      Signed-off-by: default avatarJie Liu <jeff.liu@oracle.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      6ea2eea1
    • Ashish Sangwan's avatar
      UDF: During mount free lvid_bh before rescanning with different blocksize · dc141a40
      Ashish Sangwan authored
      If s_lvid_bh is not freed and set to NULL before re-scanning partition
      with default block size, we might end up using wrong lvid in case
      s_lvid_bh is not updated in udf_load_logicalvolint during rescan.
      Signed-off-by: default avatarAshish Sangwan <ashish.sangwan2@gmail.com>
      Signed-off-by: default avatarNamjae Jeon <linkinjeon@gmail.com>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      dc141a40
    • Ian Abbott's avatar
      udf: fix udf_setsize() for file data in ICB · bb2b6d19
      Ian Abbott authored
      If the new size is larger than the old size and the old file data was
      stored in the ICB (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) and the
      new size still fits in the ICB, skip the call to udf_extend_file() as it
      does not handle this i_alloc_type value (it calls BUG()).
      Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      bb2b6d19
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ddf343f6
      Linus Torvalds authored
      Pull s390 patches from Martin Schwidefsky:
       "Included are bug fixes and a patch to enable system call filtering
        with BPF."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/compat: fix mmap compat system calls
        s390/compat: fix compat wrappers for process_vm system calls
        s390: do not clobber personality flags in sys_32_personality()
        s390/seccomp: add support for system call filtering using BPF
        s390/sclp_sdias: Add missing break and "fall through"
        s390/mm: remove MAX_PHYSADDR_BITS define
      ddf343f6
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 930a93a5
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Radeon and intel fixes mostly, one fix to the mgag200 driver to not
        hang on certain server variants."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (32 commits)
        drm/radeon: fix typo in function header comment
        drm/radeon/kms: implement timestamp userspace query (v2)
        drm/radeon/kms: add MSAA texture support for r600-evergreen
        drm/radeon/kms: reorder code in r600_check_texture_resource
        drm/radeon: fence virtual address and free it once idle v4
        drm/radeon: fix some missing parens in asic macros
        drm/radeon: add some new SI pci ids
        drm/radeon: fix ordering in pll picking on dce4+
        drm/radeon: do not reenable crtc after moving vram start address
        drm/radeon: fix bank tiling parameters on cayman
        drm/radeon: fix bank tiling parameters on evergreen
        drm/radeon: fix bank tiling parameters on SI
        drm/radeon: properly handle crtc powergating
        drm/radeon: properly handle SS overrides on TN (v2)
        drm/radeon/dce4+: set a more reasonable cursor watermark
        drm/radeon: fix handling for ddc type 5 on combios
        drm/mgag200: fix G200ER pll picking algorithm
        drm/edid: Fix potential memory leak in edid_load()
        drm/udl: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(.. [1]
        drm/radeon/kms: allow "invalid" DB formats as a means to disable DB
        ...
      930a93a5
    • Arnd Bergmann's avatar
      GPIO: gpio-pxa: fix building without CONFIG_OF · f43e04ec
      Arnd Bergmann authored
      Commit 72121572 ("GPIO: gpio-pxa: fix devicetree functions") added an
      "xlate" function pointer to the irq_domain_ops, but this function is nor
      declared or defined anywhere when CONFIG_OF is disabled, causing the
      build error:
      
        drivers/gpio/gpio-pxa.c:532:11: error: 'irq_domain_xlate_twocell' undeclared here (not in a function)
      
      Extending the DT-only code section to cover the irq_domain_ops and the
      pxa_gpio_dt_ids solves this problem and makes it clearer which code is
      actually used without DT.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f43e04ec
  3. 13 Aug, 2012 22 commits
  4. 12 Aug, 2012 10 commits
    • Joren Van Onder's avatar
      bnx2x: Fix compiler warnings · f57b07c0
      Joren Van Onder authored
      Fix the following compiler warnings:
      
       - drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:2908:3: warning: comparison
         of distinct pointer types lacks a cast [enabled by default]
       - drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c:1709:7: warning: comparison
         of distinct pointer types lacks a cast [enabled by default]
      Signed-off-by: default avatarJoren Van Onder <joren.vanonder@gmail.com>
      Acked-By: default avatarYuval Mintz <yuvalmin@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f57b07c0
    • danborkmann@iogearbox.net's avatar
      af_packet: remove BUG statement in tpacket_destruct_skb · 7f5c3e3a
      danborkmann@iogearbox.net authored
      Here's a quote of the comment about the BUG macro from asm-generic/bug.h:
      
       Don't use BUG() or BUG_ON() unless there's really no way out; one
       example might be detecting data structure corruption in the middle
       of an operation that can't be backed out of.  If the (sub)system
       can somehow continue operating, perhaps with reduced functionality,
       it's probably not BUG-worthy.
      
       If you're tempted to BUG(), think again:  is completely giving up
       really the *only* solution?  There are usually better options, where
       users don't need to reboot ASAP and can mostly shut down cleanly.
      
      In our case, the status flag of a ring buffer slot is managed from both sides,
      the kernel space and the user space. This means that even though the kernel
      side might work as expected, the user space screws up and changes this flag
      right between the send(2) is triggered when the flag is changed to
      TP_STATUS_SENDING and a given skb is destructed after some time. Then, this
      will hit the BUG macro. As David suggested, the best solution is to simply
      remove this statement since it cannot be used for kernel side internal
      consistency checks. I've tested it and the system still behaves /stable/ in
      this case, so in accordance with the above comment, we should rather remove it.
      Signed-off-by: default avatarDaniel Borkmann <daniel.borkmann@tik.ee.ethz.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f5c3e3a
    • Denis Efremov's avatar
      macvtap: rcu_dereference outside read-lock section · 3a7f8c34
      Denis Efremov authored
      rcu_dereference occurs in update section. Replacement by
      rcu_dereference_protected in order to prevent lockdep
      complaint.
      
      Found by Linux Driver Verification project (linuxtesting.org)
      Signed-off-by: default avatarDenis Efremov <yefremov.denis@gmail.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3a7f8c34
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 21d2f8dc
      Linus Torvalds authored
      Pull gpio fixes from Linus Walleij:
       - Fix a resource leak in the SCH driver
       - Fix the register address calculation in the MSIC driver
       - Fix the PXA driver's devicetree functions
       - Delete redundant shadow variable leftovers in the MXC driver
       - Specify the GPIO base for the device tree probe in the MXC driver
       - Add a modalias for the i.MX driver
       - Fix off-by-one bug in the Samsung driver
       - Fix erroneous errorpath in the Langwell driver
      
      * tag 'gpio-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        drivers/gpio/gpio-langwell.c: fix error return code
        gpio: samsung: Fix off-by-one bug in gpio addresses
        ARM: dts: imx: add alias for gpio
        gpio/mxc: specify gpio base for device tree probe
        gpio/mxc: remove redundant shadow variables initialization
        GPIO: gpio-pxa: fix devicetree functions
        gpio: msic: Fix calculating register address in msic_gpio_to_oreg()
        gpio-sch: Fix leak of resource
      21d2f8dc
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · c8dfbf48
      Linus Torvalds authored
      Pull a security subsystem fix from James Morris
       "This fixes an issue in the Yama LSM"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        Yama: higher restrictions should block PTRACE_TRACEME
      c8dfbf48
    • Linus Torvalds's avatar
      Merge tag 'pm-for-3.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · e4e139be
      Linus Torvalds authored
      Pull power management fixes from Rafael J. Wysocki:
      
       - Fix for two recent regressions in the generic PM domains framework.
      
       - Revert of a commit that introduced a resume regression and is
         conceptually incorrect in my opinion.
      
       - Fix for a return value in pcc-cpufreq.c from Julia Lawall.
      
       - RTC wakeup signaling fix from Neil Brown.
      
       - Suppression of compiler warnings for CONFIG_PM_SLEEP unset in ACPI,
         platform/x86 and TPM drivers.
      
      * tag 'pm-for-3.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        tpm_tis / PM: Fix unused function warning for CONFIG_PM_SLEEP
        platform / x86 / PM: Fix unused function warnings for CONFIG_PM_SLEEP
        ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP
        Revert "NMI watchdog: fix for lockup detector breakage on resume"
        PM: Make dev_pm_get_subsys_data() always return 0 on success
        drivers/cpufreq/pcc-cpufreq.c: fix error return code
        RTC: Avoid races between RTC alarm wakeup and suspend.
      e4e139be
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 88de3d0d
      Linus Torvalds authored
      Pull arm-soc bug fixes from Arnd Bergmann:
       "These are a bunch of bug fixes that came in after the merge window and
        one update for the MAINTAINERS file.
      
        The largest part of the fixes are patches that address bugs found by
        building all the ARM defconfig files.  There are a lot more warnings
        that we have patches for, but the others are either still under
        discussion or are harmless and do not cause actual problems besides
        making the build slightly noisy."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
        ARM: davinci: remove broken ntosd2_init_i2c
        ARM: s3c24xx: enable CONFIG_BUG for tct_hammer
        omap-rng: fix use of SIMPLE_DEV_PM_OPS
        spi/s3c64xx: improve error handling
        mtd/omap2: fix dmaengine_slave_config error handling
        gpio: em: do not discard em_gio_irq_domain_cleanup
        ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
        ARM: imx: gpmi-nand depends on mxs-dma
        ARM: integrator: include <linux/export.h>
        ARM: s3c24xx: use new PWM driver
        ARM: sa1100: include linux/io.h in hackkit leds code
        Input: eeti_ts: pass gpio value instead of IRQ
        ARM: pxa: remove irq_to_gpio from ezx-pcap driver
        ARM: tegra: more regulator fixes for Harmony
        usb/ohci-omap: remove unused variable
        mfd/asic3: fix asic3_mfd_probe return value
        ARM: kirkwood: fix typo in Makefile.boot
        i.MX27: Fix emma-prp and csi clocks.
        ARM: integrator: use clk_prepare_enable() for timer
        MAINTAINERS: update entry for Linus Walleij
        ...
      88de3d0d
    • Linus Torvalds's avatar
      Merge branch 'fixes-for-linus-for-3.6-rc2' of... · f720e7ea
      Linus Torvalds authored
      Merge branch 'fixes-for-linus-for-3.6-rc2' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping
      
      Pull three dma-mapping fixes from Marek Szyprowski.
      
      * 'fixes-for-linus-for-3.6-rc2' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        ARM: dma-mapping: fix incorrect freeing of atomic allocations
        ARM: dma-mapping: fix atomic allocation alignment
        ARM: mm: fix MMU mapping of CMA regions
      f720e7ea
    • Linus Torvalds's avatar
      Merge branch 'for-linus-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 15fc5deb
      Linus Torvalds authored
      Pull btrfs merge fix from Chris Mason:
       "This fixes a merge error in rc1.  The calls to mnt_want_write should
        have been removed."
      
      * 'for-linus-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: remove mnt_want_write call in btrfs_mksubvol
      15fc5deb
    • Jeff Mahoney's avatar
      printk: Fix calculation of length used to discard records · e3756477
      Jeff Mahoney authored
      While tracking down a weird buffer overflow issue in a program that
      looked to be sane, I started double checking the length returned by
      syslog(SYSLOG_ACTION_READ_ALL, ...) to make sure it wasn't overflowing
      the buffer.
      
      Sure enough, it was.  I saw this in strace:
      
        11339 syslog(SYSLOG_ACTION_READ_ALL, "<5>[244017.708129] REISERFS (dev"..., 8192) = 8279
      
      It turns out that the loops that calculate how much space the entries
      will take when they're copied don't include the newlines and prefixes
      that will be included in the final output since prev flags is passed as
      zero.
      
      This patch properly accounts for it and fixes the overflow.
      
      CC: stable@kernel.org
      Signed-off-by: default avatarJeff Mahoney <jeffm@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e3756477