1. 29 Mar, 2013 5 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 3615db41
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "We've had a busy two weeks of bug fixing.  The biggest patches in here
        are some long standing early-enospc problems (Josef) and a very old
        race where compression and mmap combine forces to lose writes (me).
        I'm fairly sure the mmap bug goes all the way back to the introduction
        of the compression code, which is proof that fsx doesn't trigger every
        possible mmap corner after all.
      
        I'm sure you'll notice one of these is from this morning, it's a small
        and isolated use-after-free fix in our scrub error reporting.  I
        double checked it here."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: don't drop path when printing out tree errors in scrub
        Btrfs: fix wrong return value of btrfs_lookup_csum()
        Btrfs: fix wrong reservation of csums
        Btrfs: fix double free in the btrfs_qgroup_account_ref()
        Btrfs: limit the global reserve to 512mb
        Btrfs: hold the ordered operations mutex when waiting on ordered extents
        Btrfs: fix space accounting for unlink and rename
        Btrfs: fix space leak when we fail to reserve metadata space
        Btrfs: fix EIO from btrfs send in is_extent_unchanged for punched holes
        Btrfs: fix race between mmap writes and compression
        Btrfs: fix memory leak in btrfs_create_tree()
        Btrfs: fix locking on ROOT_REPLACE operations in tree mod log
        Btrfs: fix missing qgroup reservation before fallocating
        Btrfs: handle a bogus chunk tree nicely
        Btrfs: update to use fs_state bit
      3615db41
    • Len Brown's avatar
      ia64 idle: delete stale (*idle)() function pointer · ed176886
      Len Brown authored
      Commit 3e7fc708 ("ia64 idle: delete pm_idle") in 3.9-rc1 didn't
      finish the job, leaving an un-initialized reference to (*idle)().
      
      [ Haven't seen a crash from this - but seems like we are just being
        lucky that "idle" is zero so it does get initialized before we jump to
        randomland  - Len ]
      Reported-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarLen Brown <len.brown@intel.com>
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ed176886
    • Linus Torvalds's avatar
      Merge branch 'for-curr' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 67e17c11
      Linus Torvalds authored
      Pull arc architecture fixes from Vineet Gupta:
       "This includes fix for a serious bug in DMA mapping API, make
        allyesconfig wreckage, removal of bogus email-list placeholder in
        MAINTAINERS, a typo in ptrace helper code and last remaining changes
        for syscall ABI v3 which we are finally starting to transition-to
        internally.
      
        The request is late than I intended to - but I was held up with
        debugging a timer link list corruption, for which a proposed fix to
        generic timer code was sent out to lkml/tglx earlier today."
      
      * 'for-curr' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: Fix the typo in event identifier flags used by ptrace
        arc: fix dma_address assignment during dma_map_sg()
        ARC: Remove SET_PERSONALITY (tracks cross-arch change)
        ARC: ABIv3: fork/vfork wrappers not needed in "no-legacy-syscall" ABI
        ARC: ABIv3: Print the correct ABI ver
        ARC: make allyesconfig build breakages
        ARC: MAINTAINERS update for ARC
      67e17c11
    • Josef Bacik's avatar
      Btrfs: don't drop path when printing out tree errors in scrub · d8fe29e9
      Josef Bacik authored
      A user reported a panic where we were panicing somewhere in
      tree_backref_for_extent from scrub_print_warning.  He only captured the trace
      but looking at scrub_print_warning we drop the path right before we mess with
      the extent buffer to print out a bunch of stuff, which isn't right.  So fix this
      by dropping the path after we use the eb if we need to.  Thanks,
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
      d8fe29e9
    • Michel Lespinasse's avatar
      Revert "mm: introduce VM_POPULATE flag to better deal with racy userspace programs" · 09a9f1d2
      Michel Lespinasse authored
      This reverts commit 18693050 ("mm: introduce VM_POPULATE flag to
      better deal with racy userspace programs").
      
      VM_POPULATE only has any effect when userspace plays racy games with
      vmas by trying to unmap and remap memory regions that mmap or mlock are
      operating on.
      
      Also, the only effect of VM_POPULATE when userspace plays such games is
      that it avoids populating new memory regions that get remapped into the
      address range that was being operated on by the original mmap or mlock
      calls.
      
      Let's remove VM_POPULATE as there isn't any strong argument to mandate a
      new vm_flag.
      Signed-off-by: default avatarMichel Lespinasse <walken@google.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09a9f1d2
  2. 28 Mar, 2013 21 commits
  3. 27 Mar, 2013 14 commits
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sfr/next-fixes · 90641712
      Linus Torvalds authored
      Pull powerpc build fixes from Stephen Rothwell:
       "Just a couple of build fixes for powerpc all{mod,yes}config.
      
        Submitted by me since BenH is on vacation."
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sfr/next-fixes:
        powerpc: define the conditions where the ePAPR idle hcall can be supported
        powerpc: make additional room in exception vector area
      90641712
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.9-rc4-tag' of... · 33b65f1e
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.9-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen bug-fixes from Konrad Rzeszutek Wilk:
       "This is mostly just the last stragglers of the regression bugs that
        this merge window had.  There are also two bug-fixes: one that adds an
        extra layer of security, and a regression fix for a change that was
        added in v3.7 (the v1 was faulty, the v2 works).
      
         - Regression fixes for C-and-P states not being parsed properly.
         - Fix possible security issue with guests triggering DoS via
           non-assigned MSI-Xs.
         - Fix regression (introduced in v3.7) with raising an event (v2).
         - Fix hastily introduced band-aid during c0 for the CR3 blowup."
      
      * tag 'stable/for-linus-3.9-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/events: avoid race with raising an event in unmask_evtchn()
        xen/mmu: Move the setting of pvops.write_cr3 to later phase in bootup.
        xen/acpi-stub: Disable it b/c the acpi_processor_add is no longer called.
        xen-pciback: notify hypervisor about devices intended to be assigned to guests
        xen/acpi-processor: Don't dereference struct acpi_processor on all CPUs.
      33b65f1e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · f8966048
      Linus Torvalds authored
      Pull HID fixes from Jiri Kosina:
      
       - fix for potential 3.9 regression in handling of buttons for touchpads
         following HID mt specification; potential because reportedly there is
         no retail product on the market that would be using this feature, but
         nevertheless we'd better follow the spec.  Fix by Benjamin Tissoires.
      
       - support for two quirky devices added by Josh Boyer.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: multitouch: fix touchpad buttons
        HID: usbhid: fix build problem
        HID: usbhid: quirk for MSI GX680R led panel
        HID: usbhid: quirk for Realtek Multi-card reader
      f8966048
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · a8c45289
      Linus Torvalds authored
      Pull IOMMU fixes from Joerg Roedel:
       "Here are some fixes which have collected since Linux v3.9-rc1.
      
        The most important one fixes a long-standing regressen which make
        re-hotplugged devices unusable when AMD IOMMU is used.
      
        The other patches fix build issues (build regression on OMAP and a
        section mismatch).  One patch just removes a duplicate header include."
      
      * tag 'iommu-fixes-v3.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Make sure dma_ops are set for hotplug devices
        x86, io_apic: remove duplicated include from irq_remapping.c
        iommu: OMAP: build only on OMAP2+
        amd_iommu_init: remove __init from amd_iommu_erratum_746_workaround
      a8c45289
    • Al Viro's avatar
      vfs/splice: Fix missed checks in new __kernel_write() helper · 3e84f48e
      Al Viro authored
      Commit 06ae43f3 ("Don't bother with redoing rw_verify_area() from
      default_file_splice_from()") lost the checks to test existence of the
      write/aio_write methods.  My apologies ;-/
      
      Eventually, we want that in fs/splice.c side of things (no point
      repeating it for every buffer, after all), but for now this is the
      obvious minimal fix.
      Reported-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3e84f48e
    • David Vrabel's avatar
      xen/events: avoid race with raising an event in unmask_evtchn() · c26377e6
      David Vrabel authored
      In unmask_evtchn(), when the mask bit is cleared after testing for
      pending and the event becomes pending between the test and clear, then
      the upcall will not become pending and the event may be lost or
      delayed.
      
      Avoid this by always clearing the mask bit before checking for
      pending.  If a hypercall is needed, remask the event as
      EVTCHNOP_unmask will only retrigger pending events if they were
      masked.
      
      This fixes a regression introduced in 3.7 by
      b5e57923 (xen/events: fix
      unmask_evtchn for PV on HVM guests) which reordered the clear mask and
      check pending operations.
      
      Changes in v2:
      - set mask before hypercall.
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      c26377e6
    • Konrad Rzeszutek Wilk's avatar
      xen/mmu: Move the setting of pvops.write_cr3 to later phase in bootup. · d3eb2c89
      Konrad Rzeszutek Wilk authored
      We move the setting of write_cr3 from the early bootup variant
      (see git commit 0cc9129d
      "x86-64, xen, mmu: Provide an early version of write_cr3.")
      to a more appropiate location.
      
      This new location sets all of the other non-early variants
      of pvops calls - and most importantly is before the
      alternative_asm mechanism kicks in.
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      d3eb2c89
    • Konrad Rzeszutek Wilk's avatar
      xen/acpi-stub: Disable it b/c the acpi_processor_add is no longer called. · 76fc2537
      Konrad Rzeszutek Wilk authored
      With the Xen ACPI stub code (CONFIG_XEN_STUB=y) enabled, the power
      C and P states are no longer uploaded to the hypervisor.
      
      The reason is that the Xen CPU hotplug code: xen-acpi-cpuhotplug.c
      and the xen-acpi-stub.c register themselves as the "processor" type object.
      
      That means the generic processor (processor_driver.c) stops
      working and it does not call (acpi_processor_add) which populates the
      
               per_cpu(processors, pr->id) = pr;
      
      structure. The 'pr' is gathered from the acpi_processor_get_info function
      which does the job of finding the C-states and figuring out PBLK address.
      
      The 'processors->pr' is then later used by xen-acpi-processor.c (the one that
      uploads C and P states to the hypervisor). Since it is NULL, we end
      skip the gathering of _PSD, _PSS, _PCT, etc and never upload the power
      management data.
      
      The end result is that enabling the CONFIG_XEN_STUB in the build means that
      xen-acpi-processor is not working anymore.
      
      This temporary patch fixes it by marking the XEN_STUB driver as
      BROKEN until this can be properly fixed.
      
      CC: jinsong.liu@intel.com
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      76fc2537
    • Roland Stigge's avatar
      usb: Fix compile error by selecting USB_OTG_UTILS · c8fa48d3
      Roland Stigge authored
      The current lpc32xx_defconfig breaks like this, caused by recent phy
      restructuring:
      
        LD      init/built-in.o
      drivers/built-in.o: In function `usb_hcd_nxp_probe':
      drivers/usb/host/ohci-nxp.c:224: undefined reference to `isp1301_get_client'
      drivers/built-in.o: In function `lpc32xx_udc_probe':
      drivers/usb/gadget/lpc32xx_udc.c:3104: undefined reference to
      `isp1301_get_client' distcc[27867] ERROR: compile (null) on localhost failed
      make: *** [vmlinux] Error 1
      
      Caused by 1c208881 (usb: Makefile: fix
      drivers/usb/phy/ Makefile entry)
      
      This patch fixes this by selecting USB_OTG_UTILS in Kconfig which
      causes the phy driver to be built again.
      Signed-off-by: default avatarRoland Stigge <stigge@antcom.de>
      Acked-by: default avatarFelipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c8fa48d3
    • Eric W. Biederman's avatar
      userns: Restrict when proc and sysfs can be mounted · 87a8ebd6
      Eric W. Biederman authored
      Only allow unprivileged mounts of proc and sysfs if they are already
      mounted when the user namespace is created.
      
      proc and sysfs are interesting because they have content that is
      per namespace, and so fresh mounts are needed when new namespaces
      are created while at the same time proc and sysfs have content that
      is shared between every instance.
      
      Respect the policy of who may see the shared content of proc and sysfs
      by only allowing new mounts if there was an existing mount at the time
      the user namespace was created.
      
      In practice there are only two interesting cases: proc and sysfs are
      mounted at their usual places, proc and sysfs are not mounted at all
      (some form of mount namespace jail).
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      87a8ebd6
    • Eric W. Biederman's avatar
      ipc: Restrict mounting the mqueue filesystem · a636b702
      Eric W. Biederman authored
      Only allow mounting the mqueue filesystem if the caller has CAP_SYS_ADMIN
      rights over the ipc namespace.   The principle here is if you create
      or have capabilities over it you can mount it, otherwise you get to live
      with what other people have mounted.
      
      This information is not particularly sensitive and mqueue essentially
      only reports which posix messages queues exist.  Still when creating a
      restricted environment for an application to live any extra
      information may be of use to someone with sufficient creativity.  The
      historical if imperfect way this information has been restricted has
      been not to allow mounts and restricting this to ipc namespace
      creators maintains the spirit of the historical restriction.
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      a636b702
    • Eric W. Biederman's avatar
      vfs: Carefully propogate mounts across user namespaces · 132c94e3
      Eric W. Biederman authored
      As a matter of policy MNT_READONLY should not be changable if the
      original mounter had more privileges than creator of the mount
      namespace.
      
      Add the flag CL_UNPRIVILEGED to note when we are copying a mount from
      a mount namespace that requires more privileges to a mount namespace
      that requires fewer privileges.
      
      When the CL_UNPRIVILEGED flag is set cause clone_mnt to set MNT_NO_REMOUNT
      if any of the mnt flags that should never be changed are set.
      
      This protects both mount propagation and the initial creation of a less
      privileged mount namespace.
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Reported-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      132c94e3
    • Eric W. Biederman's avatar
      vfs: Add a mount flag to lock read only bind mounts · 90563b19
      Eric W. Biederman authored
      When a read-only bind mount is copied from mount namespace in a higher
      privileged user namespace to a mount namespace in a lesser privileged
      user namespace, it should not be possible to remove the the read-only
      restriction.
      
      Add a MNT_LOCK_READONLY mount flag to indicate that a mount must
      remain read-only.
      
      CC: stable@vger.kernel.org
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      90563b19
    • Eric W. Biederman's avatar
      userns: Don't allow creation if the user is chrooted · 3151527e
      Eric W. Biederman authored
      Guarantee that the policy of which files may be access that is
      established by setting the root directory will not be violated
      by user namespaces by verifying that the root directory points
      to the root of the mount namespace at the time of user namespace
      creation.
      
      Changing the root is a privileged operation, and as a matter of policy
      it serves to limit unprivileged processes to files below the current
      root directory.
      
      For reasons of simplicity and comprehensibility the privilege to
      change the root directory is gated solely on the CAP_SYS_CHROOT
      capability in the user namespace.  Therefore when creating a user
      namespace we must ensure that the policy of which files may be access
      can not be violated by changing the root directory.
      
      Anyone who runs a processes in a chroot and would like to use user
      namespace can setup the same view of filesystems with a mount
      namespace instead.  With this result that this is not a practical
      limitation for using user namespaces.
      
      Cc: stable@vger.kernel.org
      Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
      Reported-by: default avatarAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      3151527e