1. 15 5月, 2015 4 次提交
    • L
      Merge tag 'pm+acpi-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f0897f4c
      Linus Torvalds 提交于
      Pull ACPI fixes from Rafael Wysocki:
       "Two fixes here, one revert of a recent ACPICA commit that broke audio
        support on one Dell machine and a fix for a long-standing issue that
        may cause systems to break randomly during boot.
      
        Specifics:
      
         - The recent ACPICA commit that set the ACPI _REV return value to 2
           (which is the value always used by Windows and now mandated by the
           spec too) in order to prevent the firmware people from using it to
           play tricks with us caused a serious audio regression to happen on
           Dell XPS 13 (the AML on that machine uses the _REV return value to
           decide how to expose audio to the OS and does that to hide the lack
           of proper support for its I2S audio in Linux), so revert that
           commit for now and we'll revisit the issue in the next cycle.
      
         - Ensure that the ordering of acpi_reserve_resources() with respect
           to the rest of the ACPI initialization sequence will always be the
           same, or the IO or memory region occupied by the ACPI fixed
           registers may be assigned to a PCI host bridge as a result of a
           race and random breakage ensues going forward"
      
      * tag 'pm+acpi-4.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        Revert "ACPICA: Permanently set _REV to the value '2'."
        ACPI / init: Fix the ordering of acpi_reserve_resources()
      f0897f4c
    • L
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · fc8c540b
      Linus Torvalds 提交于
      Pull arm64 fixes from Will Deacon:
      
       - fix potential memory leak in perf PMU probing
      
       - BPF sign extension fix for 64-bit immediates
      
       - fix build failure with unusual configuration
      
       - revert unused and broken branch patching from alternative code
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: perf: fix memory leak when probing PMU PPIs
        arm64: bpf: fix signedness bug in loading 64-bit immediate
        arm64: mm: Fix build error with CONFIG_SPARSEMEM_VMEMMAP disabled
        Revert "arm64: alternative: Allow immediate branch as alternative instruction"
      fc8c540b
    • L
      Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging · 3c25a75e
      Linus Torvalds 提交于
      Pull dmi fixes from Jean Delvare.
      
      * 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
        firmware: dmi_scan: Fix ordering of product_uuid
        firmware: dmi_scan: Simplified displayed version
      3c25a75e
    • R
      Merge branches 'acpi-init' and 'acpica' · 4de5167e
      Rafael J. Wysocki 提交于
      * acpi-init:
        ACPI / init: Fix the ordering of acpi_reserve_resources()
      
      * acpica:
        Revert "ACPICA: Permanently set _REV to the value '2'."
      4de5167e
  2. 14 5月, 2015 2 次提交
    • J
      firmware: dmi_scan: Fix ordering of product_uuid · 5c1ac56b
      Jean Delvare 提交于
      In function dmi_present(), dmi_walk_early() calls dmi_table(), which
      calls dmi_decode(), which ultimately calls dmi_save_uuid(). This last
      function makes a decision based on the value of global variable
      dmi_ver. The problem is that this variable is set right _after_
      dmi_walk_early() returns. So dmi_save_uuid() always sees dmi_ver == 0
      regardless of the actual version implemented.
      
      This causes /sys/class/dmi/id/product_uuid to always use the old
      ordering even on systems implementing DMI/SMBIOS 2.6 or later, which
      should use the new ordering.
      
      This is broken since kernel v3.8 for legacy DMI implementations and
      since kernel v3.10 for SMBIOS 2 implementations. SMBIOS 3
      implementations with the 64-bit entry point are not affected.
      
      The first breakage does not matter much as in practice legacy DMI
      implementations are always for versions older than 2.6, which is when
      the UUID ordering changed. The second breakage is more problematic as
      it affects the vast majority of x86 systems manufactured since 2009.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Fixes: 9f9c9cbb ("drivers/firmware/dmi_scan.c: fetch dmi version from SMBIOS if it exists")
      Fixes: 79bae42d ("dmi_scan: refactor dmi_scan_machine(), {smbios,dmi}_present()")
      Acked-by: NZhenzhong Duan <zhenzhong.duan@oracle.com>
      Cc: Ben Hutchings <ben@decadent.org.uk>
      Cc: Artem Savkov <artem.savkov@gmail.com>
      Cc: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
      Cc: Matt Fleming <matt.fleming@intel.com>
      Cc: stable@vger.kernel.org [v3.10+]
      5c1ac56b
    • J
      firmware: dmi_scan: Simplified displayed version · c2493045
      Jean Delvare 提交于
      The trailing .x adds no information for the reader, and if anyone
      tries to parse that line, this is more work as they have 3 different
      formats to handle instead of 2. Plus, this makes backporting fixes
      harder.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Fixes: 95be58df ("firmware: dmi_scan: Use full dmi version for SMBIOS3")
      Cc: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
      c2493045
  3. 13 5月, 2015 15 次提交
  4. 12 5月, 2015 17 次提交
    • W
      arm64: perf: fix memory leak when probing PMU PPIs · 4801ba33
      Will Deacon 提交于
      Commit d795ef9a ("arm64: perf: don't warn about missing
      interrupt-affinity property for PPIs") added a check for PPIs so that
      we avoid parsing the interrupt-affinity property for these naturally
      affine interrupts.
      
      Unfortunately, this check can trigger an early (successful) return and
      we will leak the irqs array. This patch fixes the issue by reordering
      the code so that the check is performed before any independent
      allocation.
      Reported-by: NDavid Binderman <dcb314@hotmail.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      4801ba33
    • S
      Update be2net maintainers' email addresses · 6938f855
      Sathya Perla 提交于
      Emulex developers' email addresses are now "@avagotech" instead of
      "@emulex". I'm also replacing Subbu with Padmanabh and Sriharsha in the
      maintainers list. The driver's heading was outdated and did not include
      some of the chip types (BE3, Lancer and Skyhawk) that the driver has
      been supporting for a longtime. I've updated this too.
      Signed-off-by: NSathya Perla <sathya.perla@avagotech.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6938f855
    • R
      MIPS: SMP: Fix build error. · cafb45b2
      Ralf Baechle 提交于
        CC      arch/mips/kernel/smp.o
      arch/mips/kernel/smp.c: In function ‘start_secondary’:
      arch/mips/kernel/smp.c:149:2: error: passing argument 2 of ‘cpumask_set_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror]
        cpumask_set_cpu(cpu, &cpu_callin_map);
        ^
      In file included from ./arch/mips/include/asm/processor.h:14:0,
                       from ./arch/mips/include/asm/thread_info.h:15,
                       from include/linux/thread_info.h:54,
                       from include/asm-generic/preempt.h:4,
                       from arch/mips/include/generated/asm/preempt.h:1,
                       from include/linux/preempt.h:18,
                       from include/linux/interrupt.h:8,
                       from arch/mips/kernel/smp.c:24:
      include/linux/cpumask.h:272:91: note: expected ‘struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’
       static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
                                                                                                 ^
      arch/mips/kernel/smp.c: In function ‘smp_prepare_boot_cpu’:
      arch/mips/kernel/smp.c:211:2: error: passing argument 2 of ‘cpumask_set_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror]
        cpumask_set_cpu(0, &cpu_callin_map);
        ^
      In file included from ./arch/mips/include/asm/processor.h:14:0,
                       from ./arch/mips/include/asm/thread_info.h:15,
                       from include/linux/thread_info.h:54,
                       from include/asm-generic/preempt.h:4,
                       from arch/mips/include/generated/asm/preempt.h:1,
                       from include/linux/preempt.h:18,
                       from include/linux/interrupt.h:8,
                       from arch/mips/kernel/smp.c:24:
      include/linux/cpumask.h:272:91: note: expected ‘struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’
       static inline void cpumask_set_cpu(unsigned int cpu, struct cpumask *dstp)
                                                                                                 ^
      arch/mips/kernel/smp.c: In function ‘__cpu_up’:
      arch/mips/kernel/smp.c:221:10: error: passing argument 2 of ‘cpumask_test_cpu’ discards ‘volatile’ qualifier from pointer target type [-Werror]
        while (!cpumask_test_cpu(cpu, &cpu_callin_map))
                ^
      In file included from ./arch/mips/include/asm/processor.h:14:0,
                       from ./arch/mips/include/asm/thread_info.h:15,
                       from include/linux/thread_info.h:54,
                       from include/asm-generic/preempt.h:4,
                       from arch/mips/include/generated/asm/preempt.h:1,
                       from include/linux/preempt.h:18,
                       from include/linux/interrupt.h:8,
                       from arch/mips/kernel/smp.c:24:
      include/linux/cpumask.h:294:90: note: expected ‘const struct cpumask *’ but argument is of type ‘volatile struct cpumask_t *’
       static inline int cpumask_test_cpu(int cpu, const struct cpumask *cpumask)
                                                                                                ^
      cc1: all warnings being treated as errors
      make[2]: *** [arch/mips/kernel/smp.o] Error 1
      make[1]: *** [arch/mips/kernel] Error 2
      make: *** [arch/mips] Error 2
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      cafb45b2
    • D
      MAINTAINERS: update the official rdma git repo · 2936ae04
      Doug Ledford 提交于
      Linus prefers kernel.org repos to github repos for security.
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      2936ae04
    • L
      Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux · 4cfceaf0
      Linus Torvalds 提交于
      Pull nfsd bugfixes from Bruce Fields:
       "Mainly pnfs fixes (and for problems with generic callback code made
        more obvious by pnfs)"
      
      * 'for-4.1' of git://linux-nfs.org/~bfields/linux:
        nfsd: skip CB_NULL probes for 4.1 or later
        nfsd: fix callback restarts
        nfsd: split transport vs operation errors for callbacks
        svcrpc: fix potential GSSX_ACCEPT_SEC_CONTEXT decoding failures
        nfsd: fix pNFS return on close semantics
        nfsd: fix the check for confirmed openowner in nfs4_preprocess_stateid_op
        nfsd/blocklayout: pretend we can send deviceid notifications
      4cfceaf0
    • S
      iw_cxgb4: use wildcard mapping for getting remote addr info · 940fd304
      Steve Wise 提交于
      For listening endpoints bound to the wildcard address, we need to pass
      the wildcard address mapping to iwpm_get_remote_info() instead of the
      mapped address of the new child connection.
      
      Without this fix, and with iwarp port mapping enabled, each iw_cxgb4
      connection that is spawned from a listening endpoint bound to the wildcard
      address, will generate an annoying dmesg entry about failing to find
      the remote address mapping info, and the connection state displayed in
      debugfs under /sys/kernel/debug/iw_cxgb4/<pci-slot-no>/eps  will not have
      the peer's address/port mapping info.  The connection still works though.
      
      Fixes: 5b6b8fe6 ("RDMA/cxgb4: Report the actual address of the remote connecting peer")
      Signed-off-by: NSteve Wise <swise@opengridcomputing.com>
      Reviewed-by: NTatyana Nikolova <Tatyana.E.Nikolova@intel.com>
      Reviewed-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      940fd304
    • N
      IB/ehca: use correct destination for memcpy · 94634e98
      Nicholas Mc Guire 提交于
      Using an element of a struct as the address for the memcpy of the whole
      struct may introduce a buffer overflow and does not help readability either
      simply pass the real thing as first argument to memcpy.
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      94634e98
    • L
      Merge tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ef208162
      Linus Torvalds 提交于
      Pull spi fixes from Mark Brown:
       "A number of driver specific fixes (including several missing
        dependencies for randconfig type cases) plus two core fixes.
      
        One makes the setup_transfer() callback optional which unbreaks some
        drivers which had been merged with it omitted due to local versions of
        this patch and another ensures that we don't corrupt data by leaking
        internal dummy buffers to callers, causing the callers to think they
        allocated those buffers"
      
      * tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: fsl-espi: fix behaviour for full-duplex xfers
        spi: fsl-spi: fix devm_ioremap_resource() error case
        spi: Kconfig: Add SOC_LS1021A to SPI_FSL_DSPI dependence
        spi/omap2-mcpsi: Always call spi_finalize_current_message()
        spi: fsl-spi: use devm_ioremap_resource() to map parameter ram on CPM1
        spi: bitbang: Make setup_transfer() callback optional
        spi: check tx_buf and rx_buf in spi_unmap_msg
        spi: bcm2835: change timeout of polling driver to 1s
        spi: bcm2835: Add GPIOLIB dependency
      ef208162
    • L
      Merge tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · a156e068
      Linus Torvalds 提交于
      Pull iommu fixes from Joerg Roedel:
       "Three fixes have queued up:
      
         - reference count fix in the AMD IOMMUv2 driver
      
         - sign extension fix in the ARM-SMMU driver
      
         - build fix for rockchip driver with device tree"
      
      * tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1
        iommu/rockchip: Fix build without CONFIG_OF
        iommu/amd: Fix bug in put_pasid_state_wait
      a156e068
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 9c922a55
      Linus Torvalds 提交于
      Pull crypto fixes from Herbert Xu:
       "This fixes a the implementation of CRC32 on arm64 where it incorrectly
        applied negation on the result.
      
        It also fixes the arm64 implementations of SHA/SHA256 where in some
        cases it may end up finalising the result twice"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: arm64/sha2-ce - prevent asm code finalization in final() path
        crypto: arm64/sha1-ce - prevent asm code finalization in final() path
        crypto: arm64/crc32 - bring in line with generic CRC32
      9c922a55
    • L
      Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · b3e5838a
      Linus Torvalds 提交于
      Pull libata fixes from Tejun Heo:
       "Rather big for fixes pull.
      
         - SCC controllers never lived to see the light of the day.  Both
           libata and ide drivers removed.
      
         - In some configurations, link power management policy changes
           sometimes cause delayed spurious PHY events which can develop into
           noticeable failures.  This has been reported several times over the
           years.  Gabriele's patches suppress PHY events for a while after
           LPM policy changes which should help most of these failures without
           causing too much problem for hotplug use cases.
      
         - A few controller specific fixes"
      
      [ Hmm.  I don't think removing SSC support is really a "fix", but hey, it
        removes a lot of lines of code.  Which I like.  So ...  good riddance ]
      
      * 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci: avoton port-disable reset-quirk
        ata: select DW_DMAC in case of SATA_DWC
        libata: Blacklist queued TRIM on all Samsung 800-series
        libata: Ignore spurious PHY event on LPM policy change
        libata: Add helper to determine when PHY events should be ignored
        ata: ahci_st: fixup layering violations / drvdata errors
        Remove celleb-only SCC PATA drivers
      b3e5838a
    • L
      Merge tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md · c91aa67e
      Linus Torvalds 提交于
      Pull md bugfixes from Neil Brown:
       "A few fixes for md.
      
        Most of these are related to the new "batched stripe writeout", but
        there are a few others"
      
      * tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md:
        md/raid5: fix handling of degraded stripes in batches.
        md/raid5: fix allocation of 'scribble' array.
        md/raid5: don't record new size if resize_stripes fails.
        md/raid5: avoid reading parity blocks for full-stripe write to degraded array
        md/raid5: more incorrect BUG_ON in handle_stripe_fill.
        md/raid5: new alloc_stripe() to allocate an initialize a stripe.
        md-raid0: conditional mddev->queue access to suit dm-raid
      c91aa67e
    • D
      net_sched: gred: use correct backlog value in WRED mode · 145a42b3
      David Ward 提交于
      In WRED mode, the backlog for a single virtual queue (VQ) should not be
      used to determine queue behavior; instead the backlog is summed across
      all VQs. This sum is currently used when calculating the average queue
      lengths. It also needs to be used when determining if the queue's hard
      limit has been reached, or when reporting each VQ's backlog via netlink.
      q->backlog will only be used if the queue switches out of WRED mode.
      Signed-off-by: NDavid Ward <david.ward@ll.mit.edu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      145a42b3
    • F
      pppoe: drop pppoe device in pppoe_unbind_sock_work · 665a6cd8
      Felix Fietkau 提交于
      After receiving a PADT and the socket is closed, user space will no
      longer drop the reference to the pppoe device.
      This leads to errors like this:
      
      [  488.570000] unregister_netdevice: waiting for eth0.2 to become free. Usage count = 2
      
      Fixes: 287f3a94 ("pppoe: Use workqueue to die properly when a PADT is received")
      Signed-off-by: NFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      665a6cd8
    • W
      iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1 · 5dc5616e
      Will Deacon 提交于
      Stage 1 translation is controlled by two sets of page tables (TTBR0 and
      TTBR1) which grow up and down from zero respectively in the ARMv8
      translation regime. For the SMMU, we only care about TTBR0 and, in the
      case of a 48-bit virtual space, we expect to map virtual addresses 0x0
      through to 0xffff_ffff_ffff.
      
      Given that some masters may be incapable of emitting virtual addresses
      targetting TTBR1 (e.g. because they sit on a 48-bit bus), the SMMU
      architecture allows bit 47 to be sign-extended, halving the virtual
      range of TTBR0 but allowing TTBR1 to be used. This is controlled by the
      SEP field in TTBCR2.
      
      The SMMU driver incorrectly enables this sign-extension feature, which
      causes problems when userspace addresses are programmed into a master
      device with the SMMU expecting to map the incoming transactions via
      TTBR0; if the top bit of address is set, we will instead get a
      translation fault since TTBR1 walks are disabled in the TTBCR.
      
      This patch fixes the issue by disabling sign-extension of a fixed
      virtual address bit and instead basing the behaviour on the upstream bus
      size: the incoming address is zero extended unless the upstream bus is
      only 49 bits wide, in which case bit 48 is used as the sign bit and is
      replicated to the upper bits.
      
      Cc: <stable@vger.kernel.org> # v4.0+
      Reported-by: NVarun Sethi <varun.sethi@freescale.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      5dc5616e
    • M
      Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and... · c8b35042
      Mark Brown 提交于
      Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus
      c8b35042
    • M
      Merge tag 'spi-v4.1-rc1' into spi-linus · bed5e4d8
      Mark Brown 提交于
      spi: Fixes for v4.1
      
      A few driver fixes plus two changes for the core, one to make the
      setup_transfer() callback optional which fixes crashes in some drivers
      which were updated to use new interfaces without apparent testing and
      one to ensure we don't expose the data buffers we use for dummy
      transfers to drivers which avoids potential issues with multiple
      accesses to them or reuse.
      
      # gpg: Signature made Sat 25 Apr 2015 10:59:47 BST using RSA key ID 5D5487D0
      # gpg: key CD7BEEBC: no public key for trusted key - skipped
      # gpg: key CD7BEEBC marked as ultimately trusted
      # gpg: key AF88CD16: no public key for trusted key - skipped
      # gpg: key AF88CD16 marked as ultimately trusted
      # gpg: key 16005C11: no public key for trusted key - skipped
      # gpg: key 16005C11 marked as ultimately trusted
      # gpg: key 5621E907: no public key for trusted key - skipped
      # gpg: key 5621E907 marked as ultimately trusted
      # gpg: key 5C6153AD: no public key for trusted key - skipped
      # gpg: key 5C6153AD marked as ultimately trusted
      # gpg: Good signature from "Mark Brown <broonie@sirena.org.uk>"
      # gpg:                 aka "Mark Brown <broonie@debian.org>"
      # gpg:                 aka "Mark Brown <broonie@kernel.org>"
      # gpg:                 aka "Mark Brown <broonie@tardis.ed.ac.uk>"
      # gpg:                 aka "Mark Brown <broonie@linaro.org>"
      # gpg:                 aka "Mark Brown <Mark.Brown@linaro.org>"
      bed5e4d8
  5. 11 5月, 2015 2 次提交