1. 03 6月, 2012 13 次提交
    • L
      Linux 3.5-rc1 · f8f5701b
      Linus Torvalds 提交于
      f8f5701b
    • L
      Merge tag 'dm-3.5-changes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm · 912afc36
      Linus Torvalds 提交于
      Pull device-mapper updates from Alasdair G Kergon:
       "Improve multipath's retrying mechanism in some defined circumstances
        and provide a simple reserve/release mechanism for userspace tools to
        access thin provisioning metadata while the pool is in use."
      
      * tag 'dm-3.5-changes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm:
        dm thin: provide userspace access to pool metadata
        dm thin: use slab mempools
        dm mpath: allow ioctls to trigger pg init
        dm mpath: delay retry of bypassed pg
        dm mpath: reduce size of struct multipath
      912afc36
    • J
      dm thin: provide userspace access to pool metadata · cc8394d8
      Joe Thornber 提交于
      This patch implements two new messages that can be sent to the thin
      pool target allowing it to take a snapshot of the _metadata_.  This,
      read-only snapshot can be accessed by userland, concurrently with the
      live target.
      
      Only one metadata snapshot can be held at a time.  The pool's status
      line will give the block location for the current msnap.
      
      Since version 0.1.5 of the userland thin provisioning tools, the
      thin_dump program displays the msnap as follows:
      
          thin_dump -m <msnap root> <metadata dev>
      
      Available here: https://github.com/jthornber/thin-provisioning-tools
      
      Now that userland can access the metadata we can do various things
      that have traditionally been kernel side tasks:
      
           i) Incremental backups.
      
           By using metadata snapshots we can work out what blocks have
           changed over time.  Combined with data snapshots we can ensure
           the data doesn't change while we back it up.
      
           A short proof of concept script can be found here:
      
           https://github.com/jthornber/thinp-test-suite/blob/master/incremental_backup_example.rb
      
           ii) Migration of thin devices from one pool to another.
      
           iii) Merging snapshots back into an external origin.
      
           iv) Asyncronous replication.
      Signed-off-by: NJoe Thornber <ejt@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      cc8394d8
    • M
      dm thin: use slab mempools · a24c2569
      Mike Snitzer 提交于
      Use dedicated caches prefixed with a "dm_" name rather than relying on
      kmalloc mempools backed by generic slab caches so the memory usage of
      thin provisioning (and any leaks) can be accounted for independently.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      a24c2569
    • M
      dm mpath: allow ioctls to trigger pg init · 35991652
      Mikulas Patocka 提交于
      After the failure of a group of paths, any alternative paths that
      need initialising do not become available until further I/O is sent to
      the device.  Until this has happened, ioctls return -EAGAIN.
      
      With this patch, new paths are made available in response to an ioctl
      too.  The processing of the ioctl gets delayed until this has happened.
      
      Instead of returning an error, we submit a work item to kmultipathd
      (that will potentially activate the new path) and retry in ten
      milliseconds.
      
      Note that the patch doesn't retry an ioctl if the ioctl itself fails due
      to a path failure.  Such retries should be handled intelligently by the
      code that generated the ioctl in the first place, noting that some SCSI
      commands should not be retried because they are not idempotent (XOR write
      commands).  For commands that could be retried, there is a danger that
      if the device rejected the SCSI command, the path could be errorneously
      marked as failed, and the request would be retried on another path which
      might fail too.  It can be determined if the failure happens on the
      device or on the SCSI controller, but there is no guarantee that all
      SCSI drivers set these flags correctly.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      35991652
    • M
      dm mpath: delay retry of bypassed pg · f220fd4e
      Mike Christie 提交于
      If I/O needs retrying and only bypassed priority groups are available,
      set the pg_init_delay_retry flag to wait before retrying.
      
      If, for example, the reason for the bypass is that the controller is
      getting reset or there is a firmware upgrade happening, retrying right
      away would cause a flood of log messages and retries for what could be a
      few seconds or even several minutes.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Acked-by: NMike Snitzer <snitzer@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      f220fd4e
    • M
      dm mpath: reduce size of struct multipath · 1fbdd2b3
      Mike Snitzer 提交于
      Move multipath structure's 'lock' and 'queue_size' members to eliminate
      two 4-byte holes.  Also use a bit within a single unsigned int for each
      existing flag (saves 8-bytes).  This allows future flags to be added
      without each consuming an unsigned int.
      Signed-off-by: NMike Snitzer <snitzer@redhat.com>
      Acked-by: NHannes Reinecke <hare@suse.de>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      1fbdd2b3
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 4fc3acf2
      Linus Torvalds 提交于
      Pull networking updates from David Miller:
      
       1) Make syn floods consume significantly less resources by
      
          a) Not pre-COW'ing routing metrics for SYN/ACKs
          b) Mirroring the device queue mapping of the SYN for the SYN/ACK
             reply.
      
          Both from Eric Dumazet.
      
       2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.
      
       3) Validate the length requested when building a paged SKB for a
          socket, so we don't overrun the page vector accidently.  From Jason
          Wang.
      
       4) When netlabel is disabled, we abort all IP option processing when we
          see a CIPSO option.  This isn't the right thing to do, we should
          simply skip over it and continue processing the remaining options
          (if any).  Fix from Paul Moore.
      
       5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel
          Apfelbaum.
      
       6) 8139cp enables the receiver before the ring address is properly
          programmed, which potentially lets the device crap over random
          memory.  Fix from Jason Wang.
      
       7) e1000/e1000e fixes for i217 RST handling, and an improper buffer
          address reference in jumbo RX frame processing from Bruce Allan and
          Sebastian Andrzej Siewior, respectively.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        fec_mpc52xx: fix timestamp filtering
        mcs7830: Implement link state detection
        e1000e: fix Rapid Start Technology support for i217
        e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats()
        r8169: call netif_napi_del at errpaths and at driver unload
        tcp: reflect SYN queue_mapping into SYNACK packets
        tcp: do not create inetpeer on SYNACK message
        8139cp/8139too: terminate the eeprom access with the right opmode
        8139cp: set ring address before enabling receiver
        cipso: handle CIPSO options correctly when NetLabel is disabled
        net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()
        bql: Avoid possible inconsistent calculation.
        bql: Avoid unneeded limit decrement.
        bql: Fix POSDIFF() to integer overflow aware.
        net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP
        net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap
        net/mlx4_core: Fixes for VF / Guest startup flow
        net/mlx4_en: Fix improper use of "port" parameter in mlx4_en_event
        net/mlx4_core: Fix number of EQs used in ICM initialisation
        net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int
      4fc3acf2
    • L
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 63004afa
      Linus Torvalds 提交于
      Pull straggler x86 fixes from Peter Anvin:
       "Three groups of patches:
      
        - EFI boot stub documentation and the ability to print error messages;
        - Removal for PTRACE_ARCH_PRCTL for x32 (obsolete interface which
          should never have been ported, and the port is broken and
          potentially dangerous.)
        - ftrace stack corruption fixes.  I'm not super-happy about the
          technical implementation, but it is probably the least invasive in
          the short term.  In the future I would like a single method for
          nesting the debug stack, however."
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32
        x86, efi: Add EFI boot stub documentation
        x86, efi; Add EFI boot stub console support
        x86, efi: Only close open files in error path
        ftrace/x86: Do not change stacks in DEBUG when calling lockdep
        x86: Allow nesting of the debug stack IDT setting
        x86: Reset the debug_stack update counter
        ftrace: Use breakpoint method to update ftrace caller
        ftrace: Synchronize variable setting with breakpoints
      63004afa
    • L
      tty: Revert the tty locking series, it needs more work · f309532b
      Linus Torvalds 提交于
      This reverts the tty layer change to use per-tty locking, because it's
      not correct yet, and fixing it will require some more deep surgery.
      
      The main revert is d29f3ef3 ("tty_lock: Localise the lock"), but
      there are several smaller commits that built upon it, they also get
      reverted here. The list of reverted commits is:
      
        fde86d31 - tty: add lockdep annotations
        8f6576ad - tty: fix ldisc lock inversion trace
        d3ca8b64 - pty: Fix lock inversion
        b1d679af - tty: drop the pty lock during hangup
        abcefe5f - tty/amiserial: Add missing argument for tty_unlock()
        fd11b42e - cris: fix missing tty arg in wait_event_interruptible_tty call
        d29f3ef3 - tty_lock: Localise the lock
      
      The revert had a trivial conflict in the 68360serial.c staging driver
      that got removed in the meantime.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f309532b
    • S
      fec_mpc52xx: fix timestamp filtering · 9ca3cc6f
      Stephan Gatzka 提交于
      skb_defer_rx_timestamp was called with a freshly allocated skb but must
      be called with rskb instead.
      Signed-off-by: NStephan Gatzka <stephan@gatzka.org>
      Cc: stable <stable@vger.kernel.org>
      Acked-by: NRichard Cochran <richardcochran@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9ca3cc6f
    • O
      mcs7830: Implement link state detection · b1ff4f96
      Ondrej Zary 提交于
      Add .status callback that detects link state changes.
      Tested with MCS7832CV-AA chip (9710:7830, identified as rev.C by the driver).
      Fixes https://bugzilla.kernel.org/show_bug.cgi?id=28532Signed-off-by: NOndrej Zary <linux@rainbow-software.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b1ff4f96
    • L
      Merge 'for-linus' branches from git://git.kernel.org/pub/scm/linux/kernel/git/viro/{vfs,signal} · 233e562e
      Linus Torvalds 提交于
      Pull vfs fix and a fix from the signal changes for frv from Al Viro.
      
      The __kernel_nlink_t for powerpc got scrogged because 64-bit powerpc
      actually depended on the default "unsigned long", while 32-bit powerpc
      had an explicit override to "unsigned short".  Al didn't notice, and
      made both of them be the unsigned short.
      
      The frv signal fix is fallout from simplifying the do_notify_resume()
      code, and leaving an extra parenthesis.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        powerpc: Fix size of st_nlink on 64bit
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        frv: Remove bogus closing parenthesis
      233e562e
  2. 02 6月, 2012 27 次提交
    • A
      powerpc: Fix size of st_nlink on 64bit · 0fd7bee1
      Anton Blanchard 提交于
      commit e57f93cc (powerpc: get rid of nlink_t uses, switch to
      explicitly-sized type) changed the size of st_nlink on ppc64 from
      a long to a short, resulting in boot failures.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      0fd7bee1
    • G
      frv: Remove bogus closing parenthesis · a3936249
      Geert Uytterhoeven 提交于
      Introduced by commit 6fd84c08
      ("TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set")
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      a3936249
    • B
      e1000e: fix Rapid Start Technology support for i217 · 6d7407bf
      Bruce Allan 提交于
      The definition of I217_PROXY_CTRL must use the BM_PHY_REG() macro instead
      of the PHY_REG() macro for PHY page 800 register 70 since it is for a PHY
      register greater than the maximum allowed by the latter macro, and fix a
      typo setting the I217_MEMPWR register in e1000_suspend_workarounds_ich8lan.
      
      Also for clarity, rename a few defines as bit definitions instead of masks.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      6d7407bf
    • S
      e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats() · 281a8f24
      Sebastian Andrzej Siewior 提交于
      This is another fixup where the data is not transfered into buffer
      addressed by skb->data but into a page.
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      281a8f24
    • L
      Merge branch 'akpm' (Fixups for Andrew's patchbomb) · 829f51db
      Linus Torvalds 提交于
      Merge fixups for the mac NLS tables from Andrew.
      
      * emailed from Andrew Morton, and one cleanup by me:
        nls: fix (and rename) mac NLS table files and config options
        fs/nls/Makefile: remove bogus CONFIG_ assignments
      829f51db
    • L
      nls: fix (and rename) mac NLS table files and config options · 8b8c0daa
      Linus Torvalds 提交于
      The config options in the Kconfig file (with _CODEPAGE_ in the name)
      didn't match the config option name in the Makefile (no _CODEPAGE_).
      
      And both of them were of the hard-to-read MACXYZZY variety, which made
      them hard to parse for normal humans: MACROMAN easily reads as "macro
      man", not as "Mac Roman".
      
      So rename the options to be consistent, and be NLS_MAC_xyzzy.  Rename
      the files to be mac-xyzzy.c too, and drop the "nls" part entirely (it's
      already in the directory name).
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8b8c0daa
    • A
      fs/nls/Makefile: remove bogus CONFIG_ assignments · 92a89563
      Andrew Morton 提交于
      These were debug things which snuck through.
      Reported-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Vladimir Serbinenko <phcoder@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      92a89563
    • L
      Merge tag 'fbdev-updates-for-3.5' of git://github.com/schandinat/linux-2.6 · 804ce986
      Linus Torvalds 提交于
      Pull fbdev updates from Florian Tobias Schandinat:
       - driver for AUO-K1900 and AUO-K1901 epaper controller
       - large updates for OMAP (e.g. decouple HDMI audio and video)
       - some updates for Exynos and SH Mobile
       - various other small fixes and cleanups
      
      * tag 'fbdev-updates-for-3.5' of git://github.com/schandinat/linux-2.6: (130 commits)
        video: bfin_adv7393fb: Fix cleanup code
        video: exynos_dp: reduce delay time when configuring video setting
        video: exynos_dp: move sw reset prioir to enabling sw defined function
        video: exynos_dp: use devm_ functions
        fb: handle NULL pointers in framebuffer release
        OMAPDSS: HDMI: OMAP4: Update IRQ flags for the HPD IRQ request
        OMAPDSS: Apply VENC timings even if panel is disabled
        OMAPDSS: VENC/DISPC: Delay dividing Y resolution for managers connected to VENC
        OMAPDSS: DISPC: Support rotation through TILER
        OMAPDSS: VRFB: remove compiler warnings when CONFIG_BUG=n
        OMAPFB: remove compiler warnings when CONFIG_BUG=n
        OMAPDSS: remove compiler warnings when CONFIG_BUG=n
        OMAPDSS: DISPC: fix usage of dispc_ovl_set_accu_uv
        OMAPDSS: use DSI_FIFO_BUG workaround only for manual update displays
        OMAPDSS: DSI: Support command mode interleaving during video mode blanking periods
        OMAPDSS: DISPC: Update Accumulator configuration for chroma plane
        drivers/video: fsl-diu-fb: don't initialize the THRESHOLDS registers
        video: exynos mipi dsi: support reverse panel type
        video: exynos mipi dsi: Properly interpret the interrupt source flags
        video: exynos mipi dsi: Avoid races in probe()
        ...
      804ce986
    • L
      Merge tag 'for-linus-3.5-20120601' of git://git.infradead.org/linux-mtd · f5e7e844
      Linus Torvalds 提交于
      Pull mtd update from David Woodhouse:
       - More robust parsing especially of xattr data in JFFS2
       - Updates to mxc_nand and gpmi drivers to support new boards and device tree
       - Improve consistency of information about ECC strength in NAND devices
       - Clean up partition handling of plat_nand
       - Support NAND drivers without dedicated access to OOB area
       - BCH hardware ECC support for OMAP
       - Other fixes and cleanups, and a few new device IDs
      
      Fixed trivial conflict in drivers/mtd/nand/gpmi-nand/gpmi-nand.c due to
      added include files next to each other.
      
      * tag 'for-linus-3.5-20120601' of git://git.infradead.org/linux-mtd: (75 commits)
        mtd: mxc_nand: move ecc strengh setup before nand_scan_tail
        mtd: block2mtd: fix recursive call of mtd_writev
        mtd: gpmi-nand: define ecc.strength
        mtd: of_parts: fix breakage in Kconfig
        mtd: nand: fix scan_read_raw_oob
        mtd: docg3 fix in-middle of blocks reads
        mtd: cfi_cmdset_0002: Slight cleanup of fixup messages
        mtd: add fixup for S29NS512P NOR flash.
        jffs2: allow to complete xattr integrity check on first GC scan
        jffs2: allow to discriminate between recoverable and non-recoverable errors
        mtd: nand: omap: add support for hardware BCH ecc
        ARM: OMAP3: gpmc: add BCH ecc api and modes
        mtd: nand: check the return code of 'read_oob/read_oob_raw'
        mtd: nand: remove 'sndcmd' parameter of 'read_oob/read_oob_raw'
        mtd: m25p80: Add support for Winbond W25Q80BW
        jffs2: get rid of jffs2_sync_super
        jffs2: remove unnecessary GC pass on sync
        jffs2: remove unnecessary GC pass on umount
        jffs2: remove lock_super
        mtd: gpmi: add gpmi support for mx6q
        ...
      f5e7e844
    • L
      Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86 · 48445159
      Linus Torvalds 提交于
      Pull x86 platform driver updates from Matthew Garrett:
       "Some significant improvements for the Sony driver on newer machines,
        but other than that mostly just minor fixes and a patch to remove the
        broken rfkill code from the Dell driver."
      
      * 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (35 commits)
        apple-gmux: Fix up the suspend/resume patch
        dell-laptop: Remove rfkill code
        toshiba_acpi: Fix mis-merge
        dell-laptop: Add touchpad led support for Dell V3450
        acer-wmi: add 3 laptops to video backlight vendor mode quirk table
        sony-laptop: add touchpad enable/disable function
        sony-laptop: add missing Fn key combos for 0x100 handlers
        sony-laptop: add support for more WWAN modems
        sony-laptop: new keyboard backlight handle
        sony-laptop: add high speed battery charging function
        sony-laptop: support automatic resume on lid open
        sony-laptop: adjust error handling in finding SNC handles
        sony-laptop: add thermal profiles support
        sony-laptop: support battery care functions
        sony-laptop: additional debug statements
        sony-laptop: improve SNC initialization and acpi notify callback code
        sony-laptop: use kstrtoul to parse sysfs values
        sony-laptop: generalise ACPI calls into SNC functions
        sony-laptop: fix return path when no ACPI buffer is allocated
        sony-laptop: use soft rfkill status stored in hw
        ...
      48445159
    • L
      Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · af4f8ba3
      Linus Torvalds 提交于
      Pull slab updates from Pekka Enberg:
       "Mainly a bunch of SLUB fixes from Joonsoo Kim"
      
      * 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
        slub: use __SetPageSlab function to set PG_slab flag
        slub: fix a memory leak in get_partial_node()
        slub: remove unused argument of init_kmem_cache_node()
        slub: fix a possible memory leak
        Documentations: Fix slabinfo.c directory in vm/slub.txt
        slub: fix incorrect return type of get_any_partial()
      af4f8ba3
    • H
    • L
      Merge branch 'ux500/hickup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · efff0471
      Linus Torvalds 提交于
      Pull arm fixes for ux500 mismerge mishap from Arnd Bergmann:
       "The device tree conversion for arm/ux500 in 3.5 turns out to be
        incomplete because of a mismerge done by Linus Walleij that I failed
        to notice early enough and that Lee Jones as the original author of
        those patches did not manage to fix during the -next cycle.  While we
        originally to get a much larger set of ux500 device tree enablement
        patches merged, this did not happen in time.
      
        After some discussion at Linaro Connect conference this week, Lee has
        been able to do damage control and provide a series to put the broken
        platform back into usable shape for both DT and non-DT based booting.
      
        This series has not been part of linux-next and is based on top of the
        current state of the upstream kernel rather than an -rc, but this is
        the best we could manage given the earlier breakage."
      
      * 'ux500/hickup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: ux500: Enable probing of pinctrl through Device Tree
        ARM: ux500: Add support for ab8500 regulators into the Device Tree
        ARM: ux500: Provide regulator support for SMSC911x via Device Tree
        ARM: ux500: Allow PRCMU regulator to be probed during a DT enabled boot
        ARM: ux500: Apply db8500-prcmu regulator information to db8500 Device Tree
        ARM: ux500: Only initialise STE's UIBs on boards which support them
        ARM: ux500: Disable platform setup of the ab8500 when DT is enabled
        ARM: ux500: Use correct format for dynamic IRQ assignment
        ARM: ux500: Re-enable SMSC911x platform code registration during non-DT boots
        ARM: ux500: PRCMU related configuration and layout corrections for Device Tree
        ARM: ux500: Remove DB8500 PRCMU platform registration when DT is enabled
        ARM: ux500: Disable SMSC911x platform code registration when DT is enabled
        ARM: ux500: New DT:ed u8500_init_devices for one-by-one device enablement
        ARM: ux500: New DT:ed snowball_platform_devs for one-by-one device enablement
        pinctrl-nomadik: Allow Device Tree driver probing
      efff0471
    • D
      r8169: call netif_napi_del at errpaths and at driver unload · ad1be8d3
      Devendra Naga 提交于
      when register_netdev fails, the init'ed NAPIs by netif_napi_add must be
      deleted with netif_napi_del, and also when driver unloads, it should
      delete the NAPI before unregistering netdevice using unregister_netdev.
      Signed-off-by: NDevendra Naga <devendra.aaru@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ad1be8d3
    • L
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 3ded7acf
      Linus Torvalds 提交于
      Pull drm fixes from Dave Airlie:
       "A bunch of fixes:
         - vmware memory corruption
         - ttm spinlock balance
         - cirrus/mgag200 work in the presence of efifb
        and finally Alex and Jerome managed to track down a magic set of bits
        that on certain rv740 and evergreen cards allow the correct use of the
        complete set of render backends, this makes the cards operate
        correctly in a number of scenarios we had issues in before, it also
        manages to boost speed on benchmarks my large amounts on these
        specific gpus."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/edid: Make the header fixup threshold tunable
        drm/radeon: fix regression in UMS CS ioctl
        drm/vmwgfx: Fix nasty write past alloced memory area
        drm/ttm: Fix spinlock imbalance
        drm/radeon: fixup tiling group size and backendmap on r6xx-r9xx (v4)
        drm/radeon: fix HD6790, HD6570 backend programming
        drm/radeon: properly program gart on rv740, juniper, cypress, barts, hemlock
        drm/radeon: fix bank information in tiling config
        drm/mgag200: kick off conflicting framebuffers earlier.
        drm/cirrus: kick out conflicting framebuffers earlier
        cirrus: avoid crash if driver fails to load
      3ded7acf
    • L
      Merge tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 37b22400
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "Just a few trivial driver-specific fixes."
      
      * tag 'sound-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hdspm - Work around broken DDS value on PCI RME MADI
        ALSA: usb-audio: fix rate_list memory leak
        ASoC: fsi: bugfix: ensure dma is terminated
        ASoC: fsi: bugfix: correct dma area
        ASoC: fsi: bugfix: enable master clock control on DMA stream
        ASoC: imx-ssi: Use clk_prepare_enable/clk_disable_unprepare
      37b22400
    • H
      x86, x32, ptrace: Remove PTRACE_ARCH_PRCTL for x32 · bad1a753
      H.J. Lu 提交于
      When I added x32 ptrace to 3.4 kernel, I also include PTRACE_ARCH_PRCTL
      support for x32 GDB  For ARCH_GET_FS/GS, it takes a pointer to int64.  But
      at user level, ARCH_GET_FS/GS takes a pointer to int32.  So I have to add
      x32 ptrace to glibc to handle it with a temporary int64 passed to kernel and
      copy it back to GDB as int32.  Roland suggested that PTRACE_ARCH_PRCTL
      is obsolete and x32 GDB should use fs_base and gs_base fields of
      user_regs_struct instead.
      
      Accordingly, remove PTRACE_ARCH_PRCTL completely from the x32 code to
      avoid possible memory overrun when pointer to int32 is passed to
      kernel.
      
      Link: http://lkml.kernel.org/r/CAMe9rOpDzHfS7NH7m1vmD9QRw8SSj4Sc%2BaNOgcWm_WJME2eRsQ@mail.gmail.comSigned-off-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: <stable@vger.kernel.org> v3.4
      bad1a753
    • S
      mtd: mxc_nand: move ecc strengh setup before nand_scan_tail · 4a43faf5
      Sascha Hauer 提交于
      Since commit 6a918bad, the mxc_nand driver
      fails with:
      
      Driver must set ecc.strength when using hardware ECC
      
      This is because nand_scan_tail checks for correct ecc strength
      settings, so we must set them up before nand_scan_tail.
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      Cc: stable@vger.kernel.org [3.4+]
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      4a43faf5
    • G
      mtd: block2mtd: fix recursive call of mtd_writev · 2e24e32e
      Gabor Juhos 提交于
      The 'mtd_writev' interface calls the function assigned
      to the '_write' field of a given mtd device if that is
      not NULL. The block2mtd driver sets the '_writev' field
      to the 'mtd_writev' function itself and thus causes a
      endless loop.
      
      This is caused by 1dbebd32
      (mtd: harmonize mtd_writev usage).
      
      Remove the assignment from the block2mtd driver to fix the
      issue.
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Cc: stable@kernel.org [3.3+]
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      2e24e32e
    • M
      mtd: gpmi-nand: define ecc.strength · 5636ce0f
      Marek Vasut 提交于
      Fix an issue which was introduced by the recent addition of ecc.strength.
      
      The ecc.strength wasn't set in gpmi-nand, resulting in the following crash:
      [    2.550000] kernel BUG at drivers/mtd/nand/nand_base.c:3347!
      ...
      [    2.550000] [<c020841c>] (nand_scan_tail+0x328/0x650) from [<c02f68e0>] (gpmi_nand_probe+0x43c/0x5a4)
      [    2.550000] [<c02f68e0>] (gpmi_nand_probe+0x43c/0x5a4) from [<c01f6618>] (platform_drv_probe+0x14/0x18)
      [    2.550000] [<c01f6618>] (platform_drv_probe+0x14/0x18) from [<c01f55b0>] (driver_probe_device+0x74/0x1fc)
      [    2.550000] [<c01f55b0>] (driver_probe_device+0x74/0x1fc) from [<c01f57cc>] (__driver_attach+0x94/0x98)
      [    2.550000] [<c01f57cc>] (__driver_attach+0x94/0x98) from [<c01f3d40>] (bus_for_each_dev+0x50/0x80)
      [    2.550000] [<c01f3d40>] (bus_for_each_dev+0x50/0x80) from [<c01f4e18>] (bus_add_driver+0x188/0x25c)
      [    2.550000] [<c01f4e18>] (bus_add_driver+0x188/0x25c) from [<c01f5a70>] (driver_register+0x78/0x138)
      [    2.550000] [<c01f5a70>] (driver_register+0x78/0x138) from [<c043dc7c>] (gpmi_nand_init+0xc/0x30)
      [    2.550000] [<c043dc7c>] (gpmi_nand_init+0xc/0x30) from [<c0008824>] (do_one_initcall+0x108/0x17c)
      [    2.550000] [<c0008824>] (do_one_initcall+0x108/0x17c) from [<c042a8b8>] (kernel_init+0xfc/0x1bc)
      [    2.550000] [<c042a8b8>] (kernel_init+0xfc/0x1bc) from [<c000fab4>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      5636ce0f
    • M
      apple-gmux: Fix up the suspend/resume patch · a2f01a89
      Matthew Garrett 提交于
      I incorporated the wrong version of the suspend/resume patch for gmux,
      and so lost David Woodhouse's fix to leave the backlight level unchanged
      over suspend/resume. This fixes it up to v2.
      Signed-off-by: NMatthew Garrett <mjg@redhat.com>
      a2f01a89
    • F
      mtd: of_parts: fix breakage in Kconfig · 2e929d00
      Frank Svendsboe 提交于
      MTD_OF_PARTS and the default setting is not working due to using 'Y'
      instead of 'y', introduced in commit
      d6137bad. This made our board, and
      possibly other boards using DTS defined partitions and not having
      CONFIG_MTD_OF_PARTS=y defined in the defconfig, fail to mount root.
      Signed-off-by: NFrank Svendsboe <frank.svendsboe@gmail.com>
      Cc: stable@kernel.org [3.2+]
      Signed-off-by: NArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      2e929d00
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal · 86c47b70
      Linus Torvalds 提交于
      Pull third pile of signal handling patches from Al Viro:
       "This time it's mostly helpers and conversions to them; there's a lot
        of stuff remaining in the tree, but that'll either go in -rc2
        (isolated bug fixes, ideally via arch maintainers' trees) or will sit
        there until the next cycle."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
        x86: get rid of calling do_notify_resume() when returning to kernel mode
        blackfin: check __get_user() return value
        whack-a-mole with TIF_FREEZE
        FRV: Optimise the system call exit path in entry.S [ver #2]
        FRV: Shrink TIF_WORK_MASK [ver #2]
        FRV: Prevent syscall exit tracing and notify_resume at end of kernel exceptions
        new helper: signal_delivered()
        powerpc: get rid of restore_sigmask()
        most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set
        set_restore_sigmask() is never called without SIGPENDING (and never should be)
        TIF_RESTORE_SIGMASK can be set only when TIF_SIGPENDING is set
        don't call try_to_freeze() from do_signal()
        pull clearing RESTORE_SIGMASK into block_sigmask()
        sh64: failure to build sigframe != signal without handler
        openrisc: tracehook_signal_handler() is supposed to be called on success
        new helper: sigmask_to_save()
        new helper: restore_saved_sigmask()
        new helpers: {clear,test,test_and_clear}_restore_sigmask()
        HAVE_RESTORE_SIGMASK is defined on all architectures now
      86c47b70
    • E
      tcp: reflect SYN queue_mapping into SYNACK packets · fff32699
      Eric Dumazet 提交于
      While testing how linux behaves on SYNFLOOD attack on multiqueue device
      (ixgbe), I found that SYNACK messages were dropped at Qdisc level
      because we send them all on a single queue.
      
      Obvious choice is to reflect incoming SYN packet @queue_mapping to
      SYNACK packet.
      
      Under stress, my machine could only send 25.000 SYNACK per second (for
      200.000 incoming SYN per second). NIC : ixgbe with 16 rx/tx queues.
      
      After patch, not a single SYNACK is dropped.
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Hans Schillstrom <hans.schillstrom@ericsson.com>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fff32699
    • E
      tcp: do not create inetpeer on SYNACK message · 7433819a
      Eric Dumazet 提交于
      Another problem on SYNFLOOD/DDOS attack is the inetpeer cache getting
      larger and larger, using lots of memory and cpu time.
      
      tcp_v4_send_synack()
      ->inet_csk_route_req()
       ->ip_route_output_flow()
        ->rt_set_nexthop()
         ->rt_init_metrics()
          ->inet_getpeer( create = true)
      
      This is a side effect of commit a4daad6b (net: Pre-COW metrics for
      TCP) added in 2.6.39
      
      Possible solution :
      
      Instruct inet_csk_route_req() to remove FLOWI_FLAG_PRECOW_METRICS
      
      Before patch :
      
      # grep peer /proc/slabinfo
      inet_peer_cache   4175430 4175430    192   42    2 : tunables    0    0    0 : slabdata  99415  99415      0
      
      Samples: 41K of event 'cycles', Event count (approx.): 30716565122
      +  20,24%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_getpeer
      +   8,19%      ksoftirqd/0  [kernel.kallsyms]           [k] peer_avl_rebalance.isra.1
      +   4,81%      ksoftirqd/0  [kernel.kallsyms]           [k] sha_transform
      +   3,64%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_table_lookup
      +   2,36%      ksoftirqd/0  [ixgbe]                     [k] ixgbe_poll
      +   2,16%      ksoftirqd/0  [kernel.kallsyms]           [k] __ip_route_output_key
      +   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] kernel_map_pages
      +   2,11%      ksoftirqd/0  [kernel.kallsyms]           [k] ip_route_input_common
      +   2,01%      ksoftirqd/0  [kernel.kallsyms]           [k] __inet_lookup_established
      +   1,83%      ksoftirqd/0  [kernel.kallsyms]           [k] md5_transform
      +   1,75%      ksoftirqd/0  [kernel.kallsyms]           [k] check_leaf.isra.9
      +   1,49%      ksoftirqd/0  [kernel.kallsyms]           [k] ipt_do_table
      +   1,46%      ksoftirqd/0  [kernel.kallsyms]           [k] hrtimer_interrupt
      +   1,45%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_alloc
      +   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] inet_csk_search_req
      +   1,29%      ksoftirqd/0  [kernel.kallsyms]           [k] __netif_receive_skb
      +   1,16%      ksoftirqd/0  [kernel.kallsyms]           [k] copy_user_generic_string
      +   1,15%      ksoftirqd/0  [kernel.kallsyms]           [k] kmem_cache_free
      +   1,02%      ksoftirqd/0  [kernel.kallsyms]           [k] tcp_make_synack
      +   0,93%      ksoftirqd/0  [kernel.kallsyms]           [k] _raw_spin_lock_bh
      +   0,87%      ksoftirqd/0  [kernel.kallsyms]           [k] __call_rcu
      +   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] rt_garbage_collect
      +   0,84%      ksoftirqd/0  [kernel.kallsyms]           [k] fib_rules_lookup
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Hans Schillstrom <hans.schillstrom@ericsson.com>
      Cc: Jesper Dangaard Brouer <brouer@redhat.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7433819a
    • J
      8139cp/8139too: terminate the eeprom access with the right opmode · 0bc777bc
      Jason Wang 提交于
      Currently, we terminate the eeprom access through clearing the CS by:
      
      RTL_W8 (Cfg9346, ~EE_CS); or writeb (~EE_CS, ee_addr);
      
      This would left the eeprom into "Config. Register Write Enable:"
      state which is not expcted as the highest two bits were set to
      0x11 ( expected is the "Normal" mode (0x00)). Solving this by write
      0x0 instead of ~EE_CS when terminating the eeprom access.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0bc777bc
    • J
      8139cp: set ring address before enabling receiver · b01af457
      Jason Wang 提交于
      Currently, we enable the receiver before setting the ring address which could
      lead the card DMA into unexpected areas. Solving this by set the ring address
      before enabling the receiver.
      
      btw. I find and test this in qemu as I didn't have a 8139cp card in hand. please
      review it carefully.
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b01af457