1. 13 10月, 2012 14 次提交
  2. 12 10月, 2012 26 次提交
    • L
      Merge tag 'stable/for-linus-3.7-rc0-tag' of... · ccff9b1d
      Linus Torvalds 提交于
      Merge tag 'stable/for-linus-3.7-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen fixes from Konrad Rzeszutek Wilk:
       "This has four bug-fixes and one tiny feature that I forgot to put
        initially in my tree due to oversight.
      
        The feature is for kdump kernels to speed up the /proc/vmcore reading.
        There is a ram_is_pfn helper function that the different platforms can
        register for.  We are now doing that.
      
        The bug-fixes cover some embarrassing struct pv_cpu_ops variables
        being set to NULL on Xen (but not baremetal).  We had a similar issue
        in the past with {write|read}_msr_safe and this fills the three
        missing ones.  The other bug-fix is to make the console output (hvc)
        be capable of dealing with misbehaving backends and not fall flat on
        its face.  Lastly, a quirk for older XenBus implementations that came
        with an ancient v3.4 hypervisor (so RHEL5 based) - reading of certain
        non-existent attributes just hangs the guest during bootup - so we
        take precaution of not doing that on such older installations.
      
        Feature:
         - Register a pfn_is_ram helper to speed up reading of /proc/vmcore.
        Bug-fixes:
         - Three pvops call for Xen were undefined causing BUG_ONs.
         - Add a quirk so that the shutdown watches (used by kdump) are not
           used with older Xen (3.4).
         - Fix ungraceful state transition for the HVC console."
      
      * tag 'stable/for-linus-3.7-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/pv-on-hvm kexec: add quirk for Xen 3.4 and shutdown watches.
        xen/bootup: allow {read|write}_cr8 pvops call.
        xen/bootup: allow read_tscp call for Xen PV guests.
        xen pv-on-hvm: add pfn_is_ram helper for kdump
        xen/hvc: handle backend CLOSED without CLOSING
      ccff9b1d
    • L
      Merge branch 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · 3dc329ba
      Linus Torvalds 提交于
      Pull SLAB fix from Pekka Enberg:
       "This contains a lockdep false positive fix from Jiri Kosina I missed
        from the previous pull request."
      
      * 'slab/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
        mm, slab: release slab_mutex earlier in kmem_cache_destroy()
      3dc329ba
    • L
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 03d3602a
      Linus Torvalds 提交于
      Pull timer core update from Thomas Gleixner:
       - Bug fixes (one for a longstanding dead loop issue)
       - Rework of time related vsyscalls
       - Alarm timer updates
       - Jiffies updates to remove compile time dependencies
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        timekeeping: Cast raw_interval to u64 to avoid shift overflow
        timers: Fix endless looping between cascade() and internal_add_timer()
        time/jiffies: bring back unconditional LATCH definition
        time: Convert x86_64 to using new update_vsyscall
        time: Only do nanosecond rounding on GENERIC_TIME_VSYSCALL_OLD systems
        time: Introduce new GENERIC_TIME_VSYSCALL
        time: Convert CONFIG_GENERIC_TIME_VSYSCALL to CONFIG_GENERIC_TIME_VSYSCALL_OLD
        time: Move update_vsyscall definitions to timekeeper_internal.h
        time: Move timekeeper structure to timekeeper_internal.h for vsyscall changes
        jiffies: Remove compile time assumptions about CLOCK_TICK_RATE
        jiffies: Kill unused TICK_USEC_TO_NSEC
        alarmtimer: Rename alarmtimer_remove to alarmtimer_dequeue
        alarmtimer: Remove unused helpers & defines
        alarmtimer: Use hrtimer per-alarm instead of per-base
        alarmtimer: Implement minimum alarm interval for allowing suspend
      03d3602a
    • L
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0588f1f9
      Linus Torvalds 提交于
      Pull scheduler fixes from Ingo Molnar:
       "A CPU hotplug related crash fix and a nohz accounting fixlet."
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Update sched_domains_numa_masks[][] when new cpus are onlined
        sched: Ensure 'sched_domains_numa_levels' is safe to use in other functions
        nohz: Fix one jiffy count too far in idle cputime
      0588f1f9
    • L
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9d55ab71
      Linus Torvalds 提交于
      Pull RCU fixes from Ingo Molnar:
       "This tree includes a shutdown/cpu-hotplug deadlock fix and a
        documentation fix."
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        rcu: Advise most users not to enable RCU user mode
        rcu: Grace-period initialization excludes only RCU notifier
      9d55ab71
    • K
      xen/pv-on-hvm kexec: add quirk for Xen 3.4 and shutdown watches. · cb6b6df1
      Konrad Rzeszutek Wilk 提交于
      The commit 254d1a3f, titled
      "xen/pv-on-hvm kexec: shutdown watches from old kernel" assumes that the
      XenBus backend can deal with reading of values from:
       "control/platform-feature-xs_reset_watches":
      
          ... a patch for xenstored is required so that it
          accepts the XS_RESET_WATCHES request from a client (see changeset
          23839:42a45baf037d in xen-unstable.hg). Without the patch for xenstored
          the registration of watches will fail and some features of a PVonHVM
          guest are not available. The guest is still able to boot, but repeated
          kexec boots will fail."
      
      Sadly this is not true when using a Xen 3.4 hypervisor and booting a PVHVM
      guest. We end up hanging at:
      
        err = xenbus_scanf(XBT_NIL, "control",
                              "platform-feature-xs_reset_watches", "%d", &supported);
      
      This can easily be seen with guests hanging at xenbus_init:
      
      NX (Execute Disable) protection: active
      SMBIOS 2.4 present.
      DMI: Xen HVM domU, BIOS 3.4.0 05/13/2011
      Hypervisor detected: Xen HVM
      Xen version 3.4.
      Xen Platform PCI: I/O protocol version 1
      ... snip ..
      calling  xenbus_init+0x0/0x27e @ 1
      
      Reverting the commit or using the attached patch fixes the issue. This fix
      checks whether the hypervisor is older than 4.0 and if so does not try to
      perform the read.
      
      Fixes-Oracle-Bug: 14708233
      CC: stable@vger.kernel.org
      Acked-by: NOlaf Hering <olaf@aepfle.de>
      [v2: Added a comment in the source code]
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      cb6b6df1
    • K
      xen/bootup: allow {read|write}_cr8 pvops call. · 1a7bbda5
      Konrad Rzeszutek Wilk 提交于
      We actually do not do anything about it. Just return a default
      value of zero and if the kernel tries to write anything but 0
      we BUG_ON.
      
      This fixes the case when an user tries to suspend the machine
      and it blows up in save_processor_state b/c 'read_cr8' is set
      to NULL and we get:
      
      kernel BUG at /home/konrad/ssd/linux/arch/x86/include/asm/paravirt.h:100!
      invalid opcode: 0000 [#1] SMP
      Pid: 2687, comm: init.late Tainted: G           O 3.6.0upstream-00002-gac264ac-dirty #4 Bochs Bochs
      RIP: e030:[<ffffffff814d5f42>]  [<ffffffff814d5f42>] save_processor_state+0x212/0x270
      
      .. snip..
      Call Trace:
       [<ffffffff810733bf>] do_suspend_lowlevel+0xf/0xac
       [<ffffffff8107330c>] ? x86_acpi_suspend_lowlevel+0x10c/0x150
       [<ffffffff81342ee2>] acpi_suspend_enter+0x57/0xd5
      
      CC: stable@vger.kernel.org
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      1a7bbda5
    • K
      xen/bootup: allow read_tscp call for Xen PV guests. · cd0608e7
      Konrad Rzeszutek Wilk 提交于
      The hypervisor will trap it. However without this patch,
      we would crash as the .read_tscp is set to NULL. This patch
      fixes it and sets it to the native_read_tscp call.
      
      CC: stable@vger.kernel.org
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      cd0608e7
    • I
      Merge branch 'rcu/urgent' of... · c1f8d901
      Ingo Molnar 提交于
      Merge branch 'rcu/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
      
      Pull RCU fixes from Paul E. McKenney.
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      c1f8d901
    • J
      vfs: unexport getname and putname symbols · 8e377d15
      Jeff Layton 提交于
      I see no callers in module code.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      8e377d15
    • J
      acct: constify the name arg to acct_on · cfd4da17
      Jeff Layton 提交于
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      cfd4da17
    • J
      vfs: allocate page instead of names_cache buffer in mount_block_root · a608ca21
      Jeff Layton 提交于
      First, it's incorrect to call putname() after __getname_gfp() since the
      bare __getname_gfp() call skips the auditing code, while putname()
      doesn't.
      
      mount_block_root allocates a PATH_MAX buffer via __getname_gfp, and then
      calls get_fs_names to fill the buffer. That function can call
      get_filesystem_list which assumes that that buffer is a full page in
      size. On arches where PAGE_SIZE != 4k, then this could potentially
      overrun.
      
      In practice, it's hard to imagine the list of filesystem names even
      approaching 4k, but it's best to be safe. Just allocate a page for this
      purpose instead.
      
      With this, we can also remove the __getname_gfp() definition since there
      are no more callers.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a608ca21
    • J
      audit: overhaul __audit_inode_child to accomodate retrying · 4fa6b5ec
      Jeff Layton 提交于
      In order to accomodate retrying path-based syscalls, we need to add a
      new "type" argument to audit_inode_child. This will tell us whether
      we're looking for a child entry that represents a create or a delete.
      
      If we find a parent, don't automatically assume that we need to create a
      new entry. Instead, use the information we have to try to find an
      existing entry first. Update it if one is found and create a new one if
      not.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      4fa6b5ec
    • J
      audit: optimize audit_compare_dname_path · e3d6b07b
      Jeff Layton 提交于
      In the cases where we already know the length of the parent, pass it as
      a parm so we don't need to recompute it. In the cases where we don't
      know the length, pass in AUDIT_NAME_FULL (-1) to indicate that it should
      be determined.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      e3d6b07b
    • E
      29e9a346
    • J
      audit: remove dirlen argument to audit_compare_dname_path · 563a0d12
      Jeff Layton 提交于
      All the callers set this to NULL now.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      563a0d12
    • J
      audit: set the name_len in audit_inode for parent lookups · bfcec708
      Jeff Layton 提交于
      Currently, this gets set mostly by happenstance when we call into
      audit_inode_child. While that might be a little more efficient, it seems
      wrong. If the syscall ends up failing before audit_inode_child ever gets
      called, then you'll have an audit_names record that shows the full path
      but has the parent inode info attached.
      
      Fix this by passing in a parent flag when we call audit_inode that gets
      set to the value of LOOKUP_PARENT. We can then fix up the pathname for
      the audit entry correctly from the get-go.
      
      While we're at it, clean up the no-op macro for audit_inode in the
      !CONFIG_AUDITSYSCALL case.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      bfcec708
    • J
      audit: add a new "type" field to audit_names struct · 78e2e802
      Jeff Layton 提交于
      For now, we just have two possibilities:
      
      UNKNOWN: for a new audit_names record that we don't know anything about yet
      NORMAL: for everything else
      
      In later patches, we'll add other types so we can distinguish and update
      records created under different circumstances.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      78e2e802
    • J
      audit: reverse arguments to audit_inode_child · c43a25ab
      Jeff Layton 提交于
      Most of the callers get called with an inode and dentry in the reverse
      order. The compiler then has to reshuffle the arg registers and/or
      stack in order to pass them on to audit_inode_child.
      
      Reverse those arguments for a micro-optimization.
      Reported-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      c43a25ab
    • J
      audit: no need to walk list in audit_inode if name is NULL · 9cec9d68
      Jeff Layton 提交于
      If name is NULL then the condition in the loop will never be true. Also,
      with this change, we can eliminate the check for n->name == NULL since
      the equivalence check will never be true if it is.
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      9cec9d68
    • J
      audit: pass in dentry to audit_copy_inode wherever possible · 1c2e51e8
      Jeff Layton 提交于
      In some cases, we were passing in NULL even when we have a dentry.
      Reported-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1c2e51e8
    • J
      audit: remove unnecessary NULL ptr checks from do_path_lookup · f78570dd
      Jeff Layton 提交于
      As best I can tell, whenever retval == 0, nd->path.dentry and nd->inode
      are also non-NULL. Eliminate those checks and the superfluous
      audit_context check.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Signed-off-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      f78570dd
    • L
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 4f1cd914
      Linus Torvalds 提交于
      Pull second set of media updates from Mauro Carvalho Chehab:
       "Despite its size, most of the stuff here is trivial.  This series
        contains:
      
         - s5p-mfc: additions at the driver and at the core to support H.264
           hardware codec;
         - Some improvements at s5p and davinci embedded drivers;
         - Some V4L2 compliance fixes applied on a few drivers;
         - Several random trivial patches, including several fixes and a few
           new board support additions;
      
        Notes:
      
         1) Some Exynos media patches were dependent on some -arm fixes that
            got merged on changeset 782cd9ee.  That's why this pull request is
            based that changeset.
      
         2) As promised, I reviewed the pending VB2 DMABUF series.
      
            While setting a test environment, it was noticed that the upstream
            support for Samsung Exynos 4 boards (smdk310 and Origen) are
            broken upstream, likely due to regressions: both defconfigs are
            wrong and regulator settings for both boards are broken.  That,
            allied with some bug at the dummy regulator driver, causes OOPSes
            during boot time.
      
            Long story short: even fixing the above, the proposed patches
            OOPSed when running the DMABUF test.  Not sure yet if the OOPSes
            are due to some other undetected regressions, or due to some bug
            on the patches.
      
            Due to the above, DMABUF patches for vb2 got NACKed for 3.7."
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (109 commits)
        [media] m5mols: Add missing #include <linux/sizes.h>
        [media] stk1160: Add support for S-Video input
        Revert "[media] omap3isp: Replace cpu_is_omap3630() with ISP revision check"
        [media]  dvb: LNA implementation changes
        [media] v4l2-ioctl: fix W=1 warnings
        [media] v4l2-ioctl: add blocks check for VIDIOC_SUBDEV_G/S_EDID
        [media] omap3isp: Fix compilation error in ispreg.h
        [media] rc-msi-digivox-ii: Add full scan keycodes
        [media] cx25821: testing the wrong variable
        [media] tda18271-common: hold the I2C adapter during write transfers
        [media] ds3000: add module parameter to force firmware upload
        [media] drivers/media: Remove unnecessary semicolon
        [media] winbond: remove space from driver name
        [media] iguanair: cannot send data from the stack
        [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
        [media] dvb-usb: print small buffers via %*ph
        [media] uvc: Add return code check at vb2_queue_init()
        [media] em28xx: Replace memcpy with struct assignment
        [media] bt8xx: Add video4linux control V4L2_CID_COLOR_KILLER
        [media] mem2mem_testdev: Use devm_kzalloc() in probe
        ...
      
      Conflicts:
      	arch/arm/mach-davinci/include/mach/da8xx.h
      4f1cd914
    • L
      Merge tag 'pinctrl-for-3.7-late' of... · 759e00b8
      Linus Torvalds 提交于
      Merge tag 'pinctrl-for-3.7-late' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull second set of pinctrl patches from Linus Walleij:
       "Here is a late pinctrl pull request with stuff that wasn't quite
        tested at the first pull request.
      
        The main reason to not hold off is that the modifications to
        irq_domain_add_simple() as reviewed by Rob Herring introduce new
        infrastructure for irqdomains that will be useful for the next cycle:
        instead of sprinkling irq descriptor allocation all over the kernel
        wherever a "legacy" domain is registered, which is necessary for any
        platform using sparse IRQs, and many irq chips are say GPIO
        controllers which may be used with several systems, some with sparse
        IRQs some not, we push this into the irq_domain_add_simple() so we can
        atleast do mistakes in one place.
      
        The irq_domain_add_simple() is currently unused in the kernel, so I
        need to provide a user.  The Nomadik stuff that goes with are changes
        to the driver I use day-to-day to make use of this facility (and a
        dependency), so see it as a way to eat my own dogfood: if this blows
        up the egg hits my face.
      
        A second round of pinctrl patches for v3.7:
         - Complement the Nomadik pinctrl driver with alternate Cx functions
           so it handles all oddities.
         - A patch to the IRQdomain to reform the simple irqdomain to handle
           IRQ descriptor allocation dynamically.
         - Use the above feature in the Nomadik pin controller."
      
      * tag 'pinctrl-for-3.7-late' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
        pinctrl/nomadik: use simple or linear IRQ domain
        irqdomain: augment add_simple() to allocate descs
        pinctrl/nomadik: support other alternate-C functions
      759e00b8
    • L
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · 5cea24c5
      Linus Torvalds 提交于
      Pull second set of ARM updates from Russell King:
       "This is the second set of ARM updates for this merge window.
      
        Contained within are changes to allow the kernel to boot in hypervisor
        mode on CPUs supporting virtualization, and cache flushing support to
        the point of inner sharable unification, which are used by the
        suspend/resume code to avoid having to do a full cache flush.
      
        Also included is one fix for VFP code identified by Michael Olbrich."
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: vfp: fix saving d16-d31 vfp registers on v6+ kernels
        ARM: 7549/1: HYP: fix boot on some ARM1136 cores
        ARM: 7542/1: mm: fix cache LoUIS API for xscale and feroceon
        ARM: mm: update __v7_setup() to the new LoUIS cache maintenance API
        ARM: kernel: update __cpu_disable to use cache LoUIS maintenance API
        ARM: kernel: update cpu_suspend code to use cache LoUIS operations
        ARM: mm: rename jump labels in v7_flush_dcache_all function
        ARM: mm: implement LoUIS API for cache maintenance ops
        ARM: virt: arch_timers: enable access to physical timers
        ARM: virt: Add CONFIG_ARM_VIRT_EXT option
        ARM: virt: Add boot-time diagnostics
        ARM: virt: Update documentation for hyp mode entry support
        ARM: zImage/virt: hyp mode entry support for the zImage loader
        ARM: virt: allow the kernel to be entered in HYP mode
        ARM: opcodes: add __ERET/__MSR_ELR_HYP instruction encoding
      5cea24c5
    • L
      Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 2fc07efa
      Linus Torvalds 提交于
      Pull sound updates #2 from Takashi Iwai:
       "This update contains a few cleanup works, regression/stable fixes
        gathered since the last pull request.
      
         - Clean up with generic hd-audio jack handling code by David
           Henningsson
         - A few regression fixes for standardized HD-audio auto-parser
         - Misc clean-up and small fixes"
      
      * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - do not detect jack on internal speakers for Realtek
        ALSA: hda - Fix missing beep on ASUS X43U notebook
        ALSA: hda - Remove AZX_DCAPS_POSFIX_COMBO
        ALSA: hda - Warn an allocation for an uninitialized array
        ALSA: hda/cirrus - Add missing init/free of hda_gen_spec
        ALSA: hda - Fix memory leaks at error path in patch_cirrus.c
        ALSA: hda - Add missing hda_gen_spec to struct via_spec
        ALSA: hda - remove "Mic Jack Mode" for headset jacks (Latitude Exx30)
        ALSA: hda - make Cirrus codec use generic unsol event handler
        ALSA: hda - make VIA codec use generic unsol event handler
        ALSA: hda - Remove dead GPIO code for VIA codec
        ALSA: usb-audio: Add TASCAM US122 MKII playback
      2fc07efa