1. 07 Dec, 2011 3 commits
    • Maneesh Soni's avatar
      MIPS Kprobes: Refactor branch emulation · d8d4e3ae
      Maneesh Soni authored
      This patch refactors MIPS branch emulation code so as to allow skipping
      delay slot instruction in case of branch likely instructions when branch is
      not taken. This is useful for keeping the code common for use cases like
      kprobes where one would like to handle the branch instructions keeping the
      delay slot instuction also in picture for branch likely instructions. Also
      allow emulation when instruction to be decoded is not at pt_regs->cp0_epc
      as in case of kprobes where pt_regs->cp0_epc points to the breakpoint
      instruction.
      
      The patch also exports the function for modules.
      Signed-off-by: default avatarManeesh Soni <manesoni@cisco.com>
      Signed-off-by: default avatarVictor Kamensky <kamensky@cisco.com>
      Cc: David Daney <david.daney@cavium.com>
      Cc: ananth@in.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/2913/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      d8d4e3ae
    • Maneesh Soni's avatar
      MIPS Kprobes: Deny probes on ll/sc instructions · 9233c1ee
      Maneesh Soni authored
      As ll/sc instruction are for atomic read-modify-write operations, allowing
      probes on top of these insturctions is a bad idea.
      Signed-off-by: default avatarVictor Kamensky <kamensky@cisco.com>
      Signed-off-by: default avatarManeesh Soni <manesoni@cisco.com>
      Cc: David Daney <david.daney@cavium.com>
      Cc: ananth@in.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/2912/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      9233c1ee
    • Maneesh Soni's avatar
      MIPS Kprobes: Fix OOPS in arch_prepare_kprobe() · 41dde781
      Maneesh Soni authored
      This patch fixes the arch_prepare_kprobe() on MIPS when it tries to find the
      instruction at the previous address to the probed address. The oops happens
      when the probed address is the first address in a kernel module and there is
      no previous address. The patch uses probe_kernel_read() to safely read the
      previous instruction.
      
      CPU 3 Unable to handle kernel paging request at virtual address ffffffffc0211ffc, epc == ffffffff81113204, ra == ffffffff8111511c
      Oops[#1]:
      Cpu 3
      $ 0   : 0000000000000000 0000000000000001 ffffffffc0212000 0000000000000000
      $ 4   : ffffffffc0220030 0000000000000000 0000000000000adf ffffffff81a3f898
      $ 8   : ffffffffc0220030 ffffffffffffffff 000000000000ffff 0000000000004821
      $12   : 000000000000000a ffffffff81105ddc ffffffff812927d0 0000000000000000
      $16   : ffffffff81a40000 ffffffffc0220030 ffffffffc0220030 ffffffffc0212660
      $20   : 0000000000000000 0000000000000008 efffffffffffffff ffffffffc0220000
      $24   : 0000000000000002 ffffffff8139f5b0
      $28   : a800000072adc000 a800000072adfca0 ffffffffc0220000 ffffffff8111511c
      Hi    : 0000000000000000
      Lo    : 0000000000000000
      epc   : ffffffff81113204 arch_prepare_kprobe+0x1c/0xe8
          Tainted: P
      ra    : ffffffff8111511c register_kprobe+0x33c/0x730
      Status: 10008ce3    KX SX UX KERNEL EXL IE
      Cause : 00800008
      BadVA : ffffffffc0211ffc
      PrId  : 000d9008 (Cavium Octeon II)
      Modules linked in: bpa_mem crashinfo pds tun cpumem ipv6 exportfs nfsd OOBnd(P) OOBhal(P) cvmx_mdio cvmx_gpio aipcmod(P) mtsmod procfs(P) utaker_mod dplr_pci hello atomicm_foo [last unloaded: sysmgr_hb]
      Process stapio (pid: 5603, threadinfo=a800000072adc000, task=a8000000722e0438, tls=000000002b4bcda0)
      Stack : ffffffff81a40000 ffffffff81a40000 ffffffffc0220030 ffffffff8111511c
              ffffffffc0218008 0000000000000001 ffffffffc0218008 0000000000000001
              ffffffffc0220000 ffffffffc021efe8 1000000000000000 0000000000000008
              efffffffffffffff ffffffffc0220000 ffffffffc0220000 ffffffffc021d500
              0000000000000022 0000000000000002 1111000072be02b8 0000000000000000
              00000000000015e6 00000000000015e6 00000000007d0f00 a800000072be02b8
              0000000000000000 ffffffff811d16c8 a80000000382e3b0 ffffffff811d5ba0
              ffffffff81b0a270 ffffffff81b0a270 ffffffffc0212000 0000000000000013
              ffffffffc0220030 ffffffffc021ed00 a800000089114c80 000000007f90d590
              a800000072adfe38 a800000089114c80 0000000010020000 0000000010020000
              ...
      Call Trace:
      [<ffffffff81113204>] arch_prepare_kprobe+0x1c/0xe8
      [<ffffffff8111511c>] register_kprobe+0x33c/0x730
      [<ffffffffc021d500>] _stp_ctl_write_cmd+0x8e8/0xa88 [atomicm_foo]
      [<ffffffff812925cc>] vfs_write+0xb4/0x178
      [<ffffffff81292828>] SyS_write+0x58/0x148
      [<ffffffff81103844>] handle_sysn32+0x44/0x84
      
      Code: ffb20010  ffb00000  dc820028 <8c44fffc> 8c500000  0c4449e0  0004203c  14400029  3c048199
      Signed-off-by: default avatarManeesh Soni <manesoni@cisco.com>
      Signed-off-by: default avatarVictor Kamensky <kamensky@cisco.com>
      Cc: David Daney <david.daney@cavium.com>
      Cc: ananth@in.ibm.com
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/2915/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      41dde781
  2. 01 Dec, 2011 10 commits
    • Linus Torvalds's avatar
      Linux 3.2-rc4 · 5611cc45
      Linus Torvalds authored
      5611cc45
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 · 0a4ebed7
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (31 commits)
        ocfs2: avoid unaligned access to dqc_bitmap
        ocfs2: Use filemap_write_and_wait() instead of write_inode_now()
        ocfs2: honor O_(D)SYNC flag in fallocate
        ocfs2: Add a missing journal credit in ocfs2_link_credits() -v2
        ocfs2: send correct UUID to cleancache initialization
        ocfs2: Commit transactions in error cases -v2
        ocfs2: make direntry invalid when deleting it
        fs/ocfs2/dlm/dlmlock.c: free kmem_cache_zalloc'd data using kmem_cache_free
        ocfs2: Avoid livelock in ocfs2_readpage()
        ocfs2: serialize unaligned aio
        ocfs2: Implement llseek()
        ocfs2: Fix ocfs2_page_mkwrite()
        ocfs2: Add comment about orphan scanning
        ocfs2: Clean up messages in the fs
        ocfs2/cluster: Cluster up now includes network connections too
        ocfs2/cluster: Add new function o2net_fill_node_map()
        ocfs2/cluster: Fix output in file elapsed_time_in_ms
        ocfs2/dlm: dlmlock_remote() needs to account for remastery
        ocfs2/dlm: Take inflight reference count for remotely mastered resources too
        ocfs2/dlm: Cleanup dlm_wait_for_node_death() and dlm_wait_for_node_recovery()
        ...
      0a4ebed7
    • Akinobu Mita's avatar
      ocfs2: avoid unaligned access to dqc_bitmap · 93925579
      Akinobu Mita authored
      The dqc_bitmap field of struct ocfs2_local_disk_chunk is 32-bit aligned,
      but not 64-bit aligned.  The dqc_bitmap is accessed by ocfs2_set_bit(),
      ocfs2_clear_bit(), ocfs2_test_bit(), or ocfs2_find_next_zero_bit().  These
      are wrapper macros for ext2_*_bit() which need to take an unsigned long
      aligned address (though some architectures are able to handle unaligned
      address correctly)
      
      So some 64bit architectures may not be able to access the dqc_bitmap
      correctly.
      
      This avoids such unaligned access by using another wrapper functions for
      ext2_*_bit().  The code is taken from fs/ext4/mballoc.c which also need to
      handle unaligned bitmap access.
      Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
      Acked-by: default avatarJoel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarJoel Becker <jlbec@evilplan.org>
      93925579
    • Linus Torvalds's avatar
      Merge branch 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm · 3b120ab7
      Linus Torvalds authored
      * 'fixes' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm:
        ARM: 7182/1: ARM cpu topology: fix warning
        ARM: 7181/1: Restrict kprobes probing SWP instructions to ARMv5 and below
        ARM: 7180/1: Change kprobes testcase with unpredictable STRD instruction
        ARM: 7177/1: GIC: avoid skipping non-existent PPIs in irq_start calculation
        ARM: 7176/1: cpu_pm: register GIC PM notifier only once
        ARM: 7175/1: add subname parameter to mfp_set_groupg callers
        ARM: 7174/1: Fix build error in kprobes test code on Thumb2 kernels
        ARM: 7172/1: dma: Drop GFP_COMP for DMA memory allocations
        ARM: 7171/1: unwind: add unwind directives to bitops assembly macros
        ARM: 7170/2: fix compilation breakage in entry-armv.S
        ARM: 7168/1: use cache type functions for arch_get_unmapped_area
        ARM: perf: check that we have a platform device when reserving PMU
        ARM: 7166/1: Use PMD_SHIFT instead of PGDIR_SHIFT in dma-consistent.c
        ARM: 7165/2: PL330: Fix typo in _prepare_ccr()
        ARM: 7163/2: PL330: Only register usable channels
        ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
        ARM: 7161/1: errata: no automatic store buffer drain
        ARM: perf: initialise used_mask for fake PMU during validation
        ARM: PMU: remove pmu_init declaration
        ARM: PMU: re-export release_pmu symbol to modules
      3b120ab7
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · b930c264
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix meta data raid-repair merge problem
        Btrfs: skip allocation attempt from empty cluster
        Btrfs: skip block groups without enough space for a cluster
        Btrfs: start search for new cluster at the beginning
        Btrfs: reset cluster's max_size when creating bitmap
        Btrfs: initialize new bitmaps' list
        Btrfs: fix oops when calling statfs on readonly device
        Btrfs: Don't error on resizing FS to same size
        Btrfs: fix deadlock on metadata reservation when evicting a inode
        Fix URL of btrfs-progs git repository in docs
        btrfs scrub: handle -ENOMEM from init_ipath()
      b930c264
    • Jan Schmidt's avatar
      Btrfs: fix meta data raid-repair merge problem · f4a8e656
      Jan Schmidt authored
      Commit 4a54c8c1 introduced raid-repair, killing the individual
      readpage_io_failed_hook entries from inode.c and disk-io.c. Commit
      4bb31e92 introduced new readahead code, adding a readpage_io_failed_hook to
      disk-io.c.
      
      The raid-repair commit had logic to disable raid-repair, if
      readpage_io_failed_hook is set. Thus, the readahead commit effectively
      disabled raid-repair for meta data.
      
      This commit changes the logic to always attempt raid-repair when needed and
      call the readpage_io_failed_hook in case raid-repair fails. This is much
      more straight forward and should have been like that from the beginning.
      Signed-off-by: default avatarJan Schmidt <list.btrfs@jan-o-sch.net>
      Reported-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
      Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
      f4a8e656
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 11d814a2
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
        IB: Fix RCU lockdep splats
        IB/ipoib: Prevent hung task or softlockup processing multicast response
        IB/qib: Fix over-scheduling of QSFP work
        RDMA/cxgb4: Fix retry with MPAv1 logic for MPAv2
        RDMA/cxgb4: Fix iw_cxgb4 count_rcqes() logic
        IB/qib: Don't use schedule_work()
      11d814a2
    • Linus Torvalds's avatar
      Merge branch 'dt-for-linus' of git://sources.calxeda.com/kernel/linux · c290b2f2
      Linus Torvalds authored
      * 'dt-for-linus' of git://sources.calxeda.com/kernel/linux:
        of: Add Silicon Image vendor prefix
        of/irq: of_irq_init: add check for parent equal to child node
      c290b2f2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · d6e92d36
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: twl: fix twl4030 support for smps regulators
        regulator: fix use after free bug
        regulator: aat2870: Fix the logic of checking if no id is matched in aat2870_get_regulator
      d6e92d36
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · cd5b49bc
      Linus Torvalds authored
      * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
        ARM: ux500: update defconfig
        ARM: u300: update defconfig
        ARM: at91: enable additional boards in existing soc defconfig files
        ARM: at91: refresh soc defconfig files for 3.2
        ARM: at91: rename defconfig files appropriately
        ARM: OMAP2+: Fix Compilation error when omap_l3_noc built as module
        ARM: OMAP2+: Remove empty io.h
        ARM: OMAP2: select ARM_AMBA if OMAP3_EMU is defined
        ARM: OMAP: smartreflex: fix IRQ handling bug
        ARM: OMAP: PM: only register TWL with voltage layer when device is present
        ARM: OMAP: hwmod: Fix the addr space, irq, dma count APIs
        arm: mx28: fix bit operation in clock setting
        ARM: imx: export imx_ioremap
        ARM: imx/mm-imx3: conditionally compile i.MX31 and i.MX35 code
        ARM: mx5: Fix checkpatch warnings in cpu-imx5.c
        MAINTAINERS: Add missing directory
        ARM: imx: drop 'ARCH_MX31' and 'ARCH_MX35'
        ARM: imx6q: move clock register map to machine_desc.map_io
        ARM: pxa168/gplugd: add the correct SSP device
        ARM: Update mach-types to fix mxs build breakage
        ...
      cd5b49bc
  3. 30 Nov, 2011 14 commits
  4. 29 Nov, 2011 12 commits
  5. 28 Nov, 2011 1 commit