1. 28 Aug, 2012 5 commits
    • Oleg Nesterov's avatar
      uprobes: Kill dup_mmap()->uprobe_mmap(), simplify uprobe_mmap/munmap · f1a45d02
      Oleg Nesterov authored
      1. Kill dup_mmap()->uprobe_mmap(), it was only needed to calculate
         new_mm->uprobes_state.count removed by the previous patch.
      
         If the forking process has a pending uprobe (int3) in vma, it will
         be copied by copy_page_range(), note that it checks vma->anon_vma
         so "Don't copy ptes" is not possible after install_breakpoint()
         which does anon_vma_prepare().
      
      2. Remove is_swbp_at_addr() and "int count" in uprobe_mmap(). Again,
         this was needed for uprobes_state.count.
      
         As a side effect this fixes the bug pointed out by Srikar,
         this code lacked the necessary put_uprobe().
      
      3. uprobe_munmap() becomes a nop after the previous patch. Remove the
         meaningless code but do not remove the helper, we will need it.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Acked-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      f1a45d02
    • Oleg Nesterov's avatar
      uprobes: Kill uprobes_state->count · 647c42df
      Oleg Nesterov authored
      uprobes_state->count is only needed to avoid the slow path in
      uprobe_pre_sstep_notifier(). It is also checked in uprobe_munmap()
      but ironically its only goal to decrement this counter. However,
      it is very broken. Just some examples:
      
      - uprobe_mmap() can race with uprobe_unregister() and wrongly
        increment the counter if it hits the non-uprobe "int3". Note
        that install_breakpoint() checks ->consumers first and returns
        -EEXIST if it is NULL.
      
        "atomic_sub() if error" in uprobe_mmap() looks obviously wrong
        too.
      
      - uprobe_munmap() can race with uprobe_register() and wrongly
        decrement the counter by the same reason.
      
      - Suppose an appication tries to increase the mmapped area via
        sys_mremap(). vma_adjust() does uprobe_munmap(whole_vma) first,
        this can nullify the counter temporarily and race with another
        thread which can hit the bp, the application will be killed by
        SIGTRAP.
      
      - Suppose an application mmaps 2 consecutive areas in the same file
        and one (or both) of these areas has uprobes. In the likely case
        mmap_region()->vma_merge() suceeds. Like above, this leads to
        uprobe_munmap/uprobe_mmap from vma_merge()->vma_adjust() but then
        mmap_region() does another uprobe_mmap(resulting_vma) and doubles
        the counter.
      
      This patch only removes this counter and fixes the compile errors,
      then we will try to cleanup the changed code and add something else
      instead.
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Acked-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      647c42df
    • Sebastian Andrzej Siewior's avatar
      uprobes: Remove check for uprobe variable in handle_swbp() · 8bd87445
      Sebastian Andrzej Siewior authored
      by the time we get here (after we pass cleanup_ret) uprobe is always is
      set. If it is NULL we leave very early in the code.
      Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      8bd87445
    • Srikar Dronamraju's avatar
      uprobes: Remove redundant lock_page/unlock_page · 61e1d394
      Srikar Dronamraju authored
      Since read_opcode() reads from the referenced page and doesnt modify
      the page contents nor the page attributes, there is no need to lock
      the page.
      Signed-off-by: default avatarSrikar Dronamraju <srikar@linux.vnet.ibm.com>
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      61e1d394
    • Ingo Molnar's avatar
      Merge branch 'perf/urgent' into perf/core · 508dc4f8
      Ingo Molnar authored
      Pick up the latest fixes because upcoming uprobes changes will rely on it.
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      508dc4f8
  2. 27 Aug, 2012 1 commit
  3. 26 Aug, 2012 4 commits
    • Linus Torvalds's avatar
      Merge tag 'fixes-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9acb1725
      Linus Torvalds authored
      Pull arm-soc fixes from Arnd Bergmann:
       "Bug fixes for various ARM platforms.  About half of these are for OMAP
        and submitted before but did not make it into v3.6-rc2."
      
      * tag 'fixes-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (39 commits)
        ARM: ux500: don't select LEDS_GPIO for snowball
        ARM: imx: build i.MX6 functions only when needed
        ARM: imx: select CPU_FREQ_TABLE when needed
        ARM: imx: fix ksz9021rn_phy_fixup
        ARM: imx: build pm-imx5 code only when PM is enabled
        ARM: omap: allow building omap44xx without SMP
        ARM: dts: imx51-babbage: fix esdhc cd/wp properties
        ARM: imx6: spin the cpu until hardware takes it down
        ARM: ux500: Ensure probing of Audio devices when Device Tree is enabled
        ARM: ux500: Fix merge error, no matching driver name for 'snd_soc_u8500'
        ARM i.MX6q: Add virtual 1/3.5 dividers in the LDB clock path
        ARM: Kirkwood: fix Makefile.boot
        ARM: Kirkwood: Fix iconnect leds
        ARM: Orion: Set eth packet size csum offload limit
        ARM: mv78xx0: fix win_cfg_base prototype
        ARM: OMAP: dmtimers: Fix locking issue in omap_dm_timer_request*()
        ARM: mmp: fix potential NULL dereference
        ARM: OMAP4: Register the OPP table only for 4430 device
        cpufreq: OMAP: Handle missing frequency table on SMP systems
        ARM: OMAP4: sleep: Save the complete used register stack frame
        ...
      9acb1725
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.6-rc3-tag' of... · 26756087
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull three xen bug-fixes from Konrad Rzeszutek Wilk:
       - Revert the kexec fix which caused on non-kexec shutdowns a race.
       - Reuse existing P2M leafs - instead of requiring to allocate a large
         area of bootup virtual address estate.
       - Fix a one-off error when adding PFNs for balloon pages.
      
      * tag 'stable/for-linus-3.6-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/setup: Fix one-off error when adding for-balloon PFNs to the P2M.
        xen/p2m: Reuse existing P2M leafs if they are filled with 1:1 PFNs or INVALID.
        Revert "xen PVonHVM: move shared_info to MMIO before kexec"
      26756087
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 4ae46147
      Linus Torvalds authored
      Pull powerpc fixes from Benjamin Herrenschmidt:
       "I meant to sent that earlier but got swamped with other things, so
        here are some powerpc fixes for 3.6.  A few regression fixes and some
        bug fixes that I deemed should still make it.
      
        There's a FSL update from Kumar with a bunch of defconfig updates
        along with a few embedded fixes.
      
        I also reverted my g5_defconfig update that I merged earlier as it was
        completely busted, not too sure what happened there, I'll do a new one
        later."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        Revert "powerpc: Update g5_defconfig"
        powerpc/perf: Use pmc_overflow() to detect rolled back events
        powerpc: Fix VMX in interrupt check in POWER7 copy loops
        powerpc: POWER7 copy_to_user/copy_from_user patch applied twice
        powerpc: Fix personality handling in ppc64_personality()
        powerpc/dma-iommu: Fix IOMMU window check
        powerpc: Remove unnecessary ifdefs
        powerpc/kgdb: Restore current_thread_info properly
        powerpc/kgdb: Bail out of KGDB when we've been triggered
        powerpc/kgdb: Do not set kgdb_single_step on ppc
        powerpc/mpic_msgr: Add missing includes
        powerpc: Fix null pointer deref in perf hardware breakpoints
        powerpc: Fixup whitespace in xmon
        powerpc: Fix xmon dl command for new printk implementation
        powerpc/fsl: fix "Failed to mount /dev: No such device" errors
        powerpc/fsl: update defconfigs
        booke/wdt: some ioctls do not return values properly
        powerpc/p4080ds: dts - add usb controller version info and port0
        powerpc/85xx: mpc85xx_defconfig - add VIA PATA support for MPC85xxCDS
        powerpc/fsl-pci: Only scan PCI bus if configured as a host
      4ae46147
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · 6ec9776c
      Linus Torvalds authored
      Pull kvm fixes from Marcelo Tosatti.
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86 emulator: use stack size attribute to mask rsp in stack ops
        KVM: MMU: Fix mmu_shrink() so that it can free mmu pages as intended
        ppc: e500_tlb memset clears nothing
        KVM: PPC: Add cache flush on page map
        KVM: PPC: Book3S HV: Fix incorrect branch in H_CEDE code
        KVM: x86: update KVM_SAVE_MSRS_BEGIN to correct value
      6ec9776c
  4. 25 Aug, 2012 6 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus-v3.6-rc4' of git://oss.sgi.com/xfs/xfs · e1d33a5c
      Linus Torvalds authored
      Pull xfs bugfixes from Ben Myers:
       - fix uninitialised variable in xfs_rtbuf_get()
       - unlock the AGI buffer when looping in xfs_dialloc
       - check for possible overflow in xfs_ioc_trim
      
      * tag 'for-linus-v3.6-rc4' of git://oss.sgi.com/xfs/xfs:
        xfs: check for possible overflow in xfs_ioc_trim
        xfs: unlock the AGI buffer when looping in xfs_dialloc
        xfs: fix uninitialised variable in xfs_rtbuf_get()
      e1d33a5c
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 2432cbe4
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Random fixes across the MIPS tree.  The two hotspots are several bugs
        in the module loader and the ath79 SOC support; also noteworthy is the
        restructuring of the code to synchronize CPU timers across CPUs on
        startup; the old code recently ceased to work due to unrelated
        changes.
      
        All except one of these patches have sat for a significant time in
        linux-next for testing."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: pci-ar724x: avoid data bus error due to a missing PCIe module
        MIPS: Malta: Delete duplicate PCI fixup.
        MIPS: ath79: don't hardcode the unavailability of the DSP ASE
        MIPS: Synchronize MIPS count one CPU at a time
        MIPS: BCM63xx: Fix SPI message control register handling for BCM6338/6348.
        MIPS: Module: Deal with malformed HI16/LO16 relocation sequences.
        MIPS: Fix race condition in module relocation code.
        MIPS: Fix memory leak in error path of HI16/LO16 relocation handling.
        MIPS: MTX-1: Add udelay to mtx1_pci_idsel
        MIPS: ath79: select HAVE_CLK
        MIPS: ath79: Use correct IRQ number for the OHCI controller on AR7240
        MIPS: ath79: Fix number of GPIO lines for AR724[12]
        MIPS: Octeon: Fix broken interrupt controller code.
      2432cbe4
    • Linus Torvalds's avatar
      Merge branch 'for-3.6' of git://linux-nfs.org/~bfields/linux · 8497ae61
      Linus Torvalds authored
      Pull nfsd bugfixes from J. Bruce Fields:
       "Particular thanks to Michael Tokarev, Malahal Naineni, and Jamie
        Heilman for their testing and debugging help."
      
      * 'for-3.6' of git://linux-nfs.org/~bfields/linux:
        svcrpc: fix svc_xprt_enqueue/svc_recv busy-looping
        svcrpc: sends on closed socket should stop immediately
        svcrpc: fix BUG() in svc_tcp_clear_pages
        nfsd4: fix security flavor of NFSv4.0 callback
      8497ae61
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · a7e546f1
      Linus Torvalds authored
      Pull block-related fixes from Jens Axboe:
      
       - Improvements to the buffered and direct write IO plugging from
         Fengguang.
      
       - Abstract out the mapping of a bio in a request, and use that to
         provide a blk_bio_map_sg() helper.  Useful for mapping just a bio
         instead of a full request.
      
       - Regression fix from Hugh, fixing up a patch that went into the
         previous release cycle (and marked stable, too) attempting to prevent
         a loop in __getblk_slow().
      
       - Updates to discard requests, fixing up the sizing and how we align
         them.  Also a change to disallow merging of discard requests, since
         that doesn't really work properly yet.
      
       - A few drbd fixes.
      
       - Documentation updates.
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: replace __getblk_slow misfix by grow_dev_page fix
        drbd: Write all pages of the bitmap after an online resize
        drbd: Finish requests that completed while IO was frozen
        drbd: fix drbd wire compatibility for empty flushes
        Documentation: update tunable options in block/cfq-iosched.txt
        Documentation: update tunable options in block/cfq-iosched.txt
        Documentation: update missing index files in block/00-INDEX
        block: move down direct IO plugging
        block: remove plugging at buffered write time
        block: disable discard request merge temporarily
        bio: Fix potential memory leak in bio_find_or_create_slab()
        block: Don't use static to define "void *p" in show_partition_start()
        block: Add blk_bio_map_sg() helper
        block: Introduce __blk_segment_map_sg() helper
        fs/block-dev.c:fix performance regression in O_DIRECT writes to md block devices
        block: split discard into aligned requests
        block: reorganize rounding of max_discard_sectors
      a7e546f1
    • Linus Torvalds's avatar
      Merge tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · da31ce72
      Linus Torvalds authored
      Pull libata fixes from Jeff Garzik:
       - libata-acpi regression fix
       - additional or corrected drive quirks for ata_blacklist
       - Kconfig text tweaking
       - new PCI IDs
       - pata_atiixp: quirk for MSI motherboard
       - export ahci_dev_classify for an ahci_platform driver
      
      * tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: Add a space to " 2GB ATA Flash Disk" DMA blacklist entry
        [libata] new quirk, lift bridge limits for Buffalo DriveStation Quattro
        [libata] Kconfig: Elaborate that SFF is meant for legacy and PATA stuff
        [libata] acpi: call ata_acpi_gtm during ata port init time
        ata_piix: Add Device IDs for Intel Lynx Point-LP PCH
        ahci: Add Device IDs for Intel Lynx Point-LP PCH
        pata_atiixp: override cable detection on MSI E350DM-E33
        ahci: un-staticize ahci_dev_classify
      da31ce72
    • Prarit Bhargava's avatar
      libata: Add a space to " 2GB ATA Flash Disk" DMA blacklist entry · d17d794c
      Prarit Bhargava authored
      commit d70e551c, Add " 2GB ATA Flash
      Disk"/"ADMA428M" to DMA blacklist, should have added a space before 2GB.
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      d17d794c
  5. 24 Aug, 2012 23 commits
  6. 23 Aug, 2012 1 commit