Skip to content
  1. May 15, 2015
  2. May 14, 2015
    • Jean Delvare's avatar
      firmware: dmi_scan: Fix ordering of product_uuid · 5c1ac56b
      Jean Delvare authored
      
      
      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: default avatarJean 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: default avatarZhenzhong 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
    • Jean Delvare's avatar
      firmware: dmi_scan: Simplified displayed version · c2493045
      Jean Delvare authored
      
      
      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: default avatarJean Delvare <jdelvare@suse.de>
      Fixes: 95be58df ("firmware: dmi_scan: Use full dmi version for SMBIOS3")
      Cc: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
      c2493045
  3. May 13, 2015
  4. May 12, 2015
    • Will Deacon's avatar
      arm64: perf: fix memory leak when probing PMU PPIs · 4801ba33
      Will Deacon authored
      
      
      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: default avatarDavid Binderman <dcb314@hotmail.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      4801ba33
    • Sathya Perla's avatar
      Update be2net maintainers' email addresses · 6938f855
      Sathya Perla authored
      
      
      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: default avatarSathya Perla <sathya.perla@avagotech.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6938f855
    • Ralf Baechle's avatar
      MIPS: SMP: Fix build error. · cafb45b2
      Ralf Baechle authored
      
      
        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: default avatarRalf Baechle <ralf@linux-mips.org>
      cafb45b2
    • Doug Ledford's avatar
      MAINTAINERS: update the official rdma git repo · 2936ae04
      Doug Ledford authored
      
      
      Linus prefers kernel.org repos to github repos for security.
      
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      2936ae04
    • Linus Torvalds's avatar
      Merge branch 'for-4.1' of git://linux-nfs.org/~bfields/linux · 4cfceaf0
      Linus Torvalds authored
      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
    • Steve Wise's avatar
      iw_cxgb4: use wildcard mapping for getting remote addr info · 940fd304
      Steve Wise authored
      
      
      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: default avatarSteve Wise <swise@opengridcomputing.com>
      Reviewed-by: default avatarTatyana Nikolova <Tatyana.E.Nikolova@intel.com>
      Reviewed-by: default avatarJason Gunthorpe <jgunthorpe@obsidianresearch.com>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      940fd304
    • Nicholas Mc Guire's avatar
      IB/ehca: use correct destination for memcpy · 94634e98
      Nicholas Mc Guire authored
      
      
      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: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarNicholas Mc Guire <hofrat@osadl.org>
      Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
      94634e98
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ef208162
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v4.1-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · a156e068
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 9c922a55
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · b3e5838a
      Linus Torvalds authored
      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
    • Linus Torvalds's avatar
      Merge tag 'md/4.1-rc3-fixes' of git://neil.brown.name/md · c91aa67e
      Linus Torvalds authored
      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
    • David Ward's avatar
      net_sched: gred: use correct backlog value in WRED mode · 145a42b3
      David Ward authored
      
      
      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: default avatarDavid Ward <david.ward@ll.mit.edu>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      145a42b3
    • Felix Fietkau's avatar
      pppoe: drop pppoe device in pppoe_unbind_sock_work · 665a6cd8
      Felix Fietkau authored
      
      
      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: default avatarFelix Fietkau <nbd@openwrt.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      665a6cd8
    • Will Deacon's avatar
      iommu/arm-smmu: Fix sign-extension of upstream bus addresses at stage 1 · 5dc5616e
      Will Deacon authored
      
      
      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: default avatarVarun Sethi <varun.sethi@freescale.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      5dc5616e
    • Mark Brown's avatar
      Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and... · c8b35042
      Mark Brown authored
      Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus
      c8b35042
    • Mark Brown's avatar
      Merge tag 'spi-v4.1-rc1' into spi-linus · bed5e4d8
      Mark Brown authored
      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. May 11, 2015