Skip to content
  1. Sep 01, 2015
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 9551bf29
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/bootinfo: Use kmemdup rather than duplicating its implementation
        m68k/defconfig: Update defconfigs for v4.2-rc1
        m68k/defconfig: Disable experimental CONFIG_DM_CACHE
      9551bf29
    • Linus Torvalds's avatar
      Merge tag 'usb-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 4ff12049
      Linus Torvalds authored
      Pull USB updates from Greg KH:
       "Here's the big USB and PHY patchset for 4.3-rc1.
      
        As usual, the majority of the changes are in the USB gadget portion of
        the tree, lots of little changes all over the place for bugs and new
        hardware.  Other than that, the normal mix of new hardware support and
        bugfixes.
      
        All have been in linux-next with no reported issues"
      
      * tag 'usb-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (261 commits)
        USB: qcserial: add HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module
        USB: ftdi_sio: Added custom PID for CustomWare products
        USB: usb_wwan: silence read errors on disconnect
        USB: option: silence interrupt errors
        USB: symbolserial: Correct transferred data size
        USB: symbolserial: Use usb_get_serial_port_data
        usb: misc: usbtest: format max packet size for iso transfer
        usb: host: ehci-sys: delete useless bus_to_hcd conversion
        Revert "usb: interface authorization: Declare authorized attribute"
        Revert "usb: interface authorization: Introduces the default interface authorization"
        Revert "usb: interface authorization: Control interface probing and claiming"
        Revert "usb: interface authorization: Introduces the USB interface authorization"
        Revert "usb: interface authorization: SysFS part of USB interface authorization"
        Revert "usb: interface authorization: Documentation part"
        Revert "usb: interface authorization: Use a flag for the default device authorization"
        usb: core: hub: Removed some warnings generated by checkpatch.pl
        USB: host: ohci-at91: merge loops in ohci_hcd_at91_drv_probe
        USB: host: ohci-at91: merge ohci_at91_of_init in ohci_hcd_at91_drv_probe
        USB: host: ohci-at91: depend on OF
        USB: host: ohci-at91: move at91_usbh_data definition in c file
        ...
      4ff12049
    • Linus Torvalds's avatar
      Merge tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · c2078402
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the big tty/serial driver update for 4.3-rc1.
      
        Not many major things, a number of driver updates and changes, and the
        8250 driver got split up a bit to make it easier to work with by
        moving some functions to a new file.  Full details are in the
        shortlog.
      
        All have been in linux-next with no reported issues"
      
      * tag 'tty-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (90 commits)
        serial: imx: save and restore context in the suspend path
        serial: imx: allow waking up on RTSD
        serial: imx: introduce serial_imx_enable_wakeup()
        serial: imx: remove unbalanced clk_prepare
        serial: 8250: move rx_running out of the bitfield
        tty: serial: 8250_omap: do not use RX DMA if pause is not supported
        serial:8250_dw: do not alter CTS and DCTS since AFE is enabled
        tty: serial: men_z135_uart.c: Don't initialize port->lock
        tty: serial: men_z135_uart.c: Fix race between IRQ and set_termios()
        serial: 8250: bind to ALi Fast Infrared Controller (ALI5123)
        serial: 8250: don't bind to SMSC IrCC IR port
        serial: mxs-auart: fix baud rate range
        serial: mxs-auart: keep the AUART unit in reset state when not in use
        serial: mxs-auart: use a function name to reflect what it really does
        serial: 8250_pci: fix mode after S3/S4 resume for F81504/508/512
        sc16is7xx: constify devtype
        sc16is7xx: support multiple devices
        sc16is7xx: save and use per-chip line number
        uart: pl011: Add support to ZTE ZX296702 uart
        uart: pl011: Improve LCRH register access decision
        ...
      c2078402
    • Linus Torvalds's avatar
      Merge tag 'staging-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 2f37d65a
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here is the big staging driver updates for 4.3-rc1.
      
        Lots of things all over the place, almost all of them trivial fixups
        and changes.  The usual IIO updates and new drivers and we have added
        the MOST driver subsystem which is getting cleaned up in the tree.
        The ozwpan driver is finally being deleted as it is obviously
        abandoned and no one cares about it.
      
        Full details are in the shortlog, and all of these have been in
        linux-next with no reported issues"
      
      * tag 'staging-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (912 commits)
        staging/lustre/o2iblnd: remove references to ib_reg_phsy_mr()
        staging: wilc1000: fix build warning with setup_timer()
        staging: wilc1000: remove DECLARE_WILC_BUFFER()
        staging: wilc1000: remove void function return statements that are not useful
        staging: wilc1000: coreconfigurator.c: fix kmalloc error check
        staging: wilc1000: coreconfigurator.c: use kmalloc instead of WILC_MALLOC
        staging: wilc1000: remove unused codes of gps8ConfigPacket
        staging: wilc1000: remove unnecessary void pointer cast
        staging: wilc1000: remove WILC_NEW and WILC_NEW_EX
        staging: wilc1000: use kmalloc instead of WILC_NEW
        staging: wilc1000: Process WARN, INFO options of debug levels from user
        staging: wilc1000: remove unneeded tstrWILC_MsgQueueAttrs typedef
        staging: wilc1000: delete wilc_osconfig.h
        staging: wilc1000: delete wilc_log.h
        staging: wilc1000: delete wilc_timer.h
        staging: wilc1000: remove WILC_TimerStart()
        staging: wilc1000: remove WILC_TimerCreate()
        staging: wilc1000: remove WILC_TimerDestroy()
        staging: wilc1000: remove WILC_TimerStop()
        staging: wilc1000: remove tstrWILC_TimerAttrs typedef
        ...
      2f37d65a
  2. Aug 31, 2015
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 1af115d6
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is the new patches for the driver core / sysfs for 4.3-rc1.
      
        Very small number of changes here, all the details are in the
        shortlog, nothing major happening at all this kernel release, which is
        nice to see"
      
      * tag 'driver-core-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        bus: subsys: update return type of ->remove_dev() to void
        driver core: correct device's shutdown order
        driver core: fix docbook for device_private.device
        selftests: firmware: skip timeout checks for kernels without user mode helper
        kernel, cpu: Remove bogus __ref annotations
        cpu: Remove bogus __ref annotation of cpu_subsys_online()
        firmware: fix wrong memory deallocation in fw_add_devm_name()
        sysfs.txt: update show method notes about sprintf/snprintf/scnprintf usage
        devres: fix devres_get()
      1af115d6
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 1c00038c
      Linus Torvalds authored
      Pull char/misc driver patches from Greg KH:
       "Here's the "big" char/misc driver update for 4.3-rc1.
      
        Not much really interesting here, just a number of little changes all
        over the place, and some nice consolidation of the nvmem drivers to a
        common framework.  As usual, the mei drivers stand out as the largest
        "churn" to handle new devices and features in their hardware.
      
        All have been in linux-next for a while with no issues"
      
      * tag 'char-misc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (136 commits)
        auxdisplay: ks0108: initialize local parport variable
        extcon: palmas: Fix build break due to devm_gpiod_get_optional API change
        extcon: palmas: Support GPIO based USB ID detection
        extcon: Fix signedness bugs about break error handling
        extcon: Drop owner assignment from i2c_driver
        extcon: arizona: Simplify pdata symantics for micd_dbtime
        extcon: arizona: Declare 3-pole jack if we detect open circuit on mic
        extcon: Add exception handling to prevent the NULL pointer access
        extcon: arizona: Ensure variables are set for headphone detection
        extcon: arizona: Use gpiod inteface to handle micd_pol_gpio gpio
        extcon: arizona: Add basic microphone detection DT/ACPI bindings
        extcon: arizona: Update to use the new device properties API
        extcon: palmas: Remove the mutually_exclusive array
        extcon: Remove optional print_state() function pointer of struct extcon_dev
        extcon: Remove duplicate header file in extcon.h
        extcon: max77843: Clear IRQ bits state before request IRQ
        toshiba laptop: replace ioremap_cache with ioremap
        misc: eeprom: max6875: clean up max6875_read()
        misc: eeprom: clean up eeprom_read()
        misc: eeprom: 93xx46: clean up eeprom_93xx46_bin_read/write
        ...
      1c00038c
    • Linus Torvalds's avatar
      Merge tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 44e98edc
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "A very small release for x86 and s390 KVM.
      
         - s390: timekeeping changes, cleanups and fixes
      
         - x86: support for Hyper-V MSRs to report crashes, and a bunch of
           cleanups.
      
        One interesting feature that was planned for 4.3 (emulating the local
        APIC in kernel while keeping the IOAPIC and 8254 in userspace) had to
        be delayed because Intel complained about my reading of the manual"
      
      * tag 'kvm-4.3-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (42 commits)
        x86/kvm: Rename VMX's segment access rights defines
        KVM: x86/vPMU: Fix unnecessary signed extension for AMD PERFCTRn
        kvm: x86: Fix error handling in the function kvm_lapic_sync_from_vapic
        KVM: s390: Fix assumption that kvm_set_irq_routing is always run successfully
        KVM: VMX: drop ept misconfig check
        KVM: MMU: fully check zero bits for sptes
        KVM: MMU: introduce is_shadow_zero_bits_set()
        KVM: MMU: introduce the framework to check zero bits on sptes
        KVM: MMU: split reset_rsvds_bits_mask_ept
        KVM: MMU: split reset_rsvds_bits_mask
        KVM: MMU: introduce rsvd_bits_validate
        KVM: MMU: move FNAME(is_rsvd_bits_set) to mmu.c
        KVM: MMU: fix validation of mmio page fault
        KVM: MTRR: Use default type for non-MTRR-covered gfn before WARN_ON
        KVM: s390: host STP toleration for VMs
        KVM: x86: clean/fix memory barriers in irqchip_in_kernel
        KVM: document memory barriers for kvm->vcpus/kvm->online_vcpus
        KVM: x86: remove unnecessary memory barriers for shared MSRs
        KVM: move code related to KVM_SET_BOOT_CPU_ID to x86
        KVM: s390: log capability enablement and vm attribute changes
        ...
      44e98edc
    • Linus Torvalds's avatar
      Linux 4.2 · 64291f7d
      Linus Torvalds authored
      v4.2
      64291f7d
  3. Aug 30, 2015
  4. Aug 29, 2015
    • Linus Torvalds's avatar
      Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 5e7fec29
      Linus Torvalds authored
      Pull libata fixlet from Tejun Heo:
       "Simple blacklist entry addition"
      
      * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        Add factory recertified Crucial M500s to blacklist
      5e7fec29
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · b29083c5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are stable fixes that have been gathered since rc8: fixes for
        HD-audio widget power control regressions since 4.1, a NULL fix for
        HD-audio HDMI, a noise fix for Conexant codecs and a quirk addition
        for USB-Audio DSD"
      
      * tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix path power activation
        ALSA: hda - Check all inputs for is_active_nid_for_any()
        ALSA: hda: fix possible NULL dereference
        ALSA: hda - Shutdown CX20722 on reboot/free to avoid spurious noises
        ALSA: usb: Add native DSD support for Gustard DAC-X20U
      b29083c5
  5. Aug 28, 2015
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4941b8f0
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Fix MSI/MSI-X on pseries from Guilherme"
      
      * tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case
        PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code
      4941b8f0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · e001d708
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "Some straggler bug fixes here:
      
         1) Netlink_sendmsg() doesn't check iterator type properly in mmap
            case, from Ken-ichirou MATSUZAWA.
      
         2) Don't sleep in atomic context in bcmgenet driver, from Florian
            Fainelli.
      
         3) The pfkey_broadcast() code patch can't actually ever use anything
            other than GFP_ATOMIC.  And the cases that right now pass
            GFP_KERNEL or similar will currently trigger an RCU splat.  Just
            use GFP_ATOMIC unconditionally.  From David Ahern.
      
         4) Fix FD bit timings handling in pcan_usb driver, from Marc
            Kleine-Budde.
      
         5) Cache dst leaked in ip6_gre tunnel removal, fix from Huaibin Wang.
      
         6) Traversal into drivers/net/ethernet/renesas should be triggered by
            CONFIG_NET_VENDOR_RENESAS, not a particular driver's config
            option.  From Kazuya Mizuguchi.
      
         7) Fix regression in handling of igmp_join errors in vxlan, from
            Marcelo Ricardo Leitner.
      
         8) Make phy_{read,write}_mmd_indirect() properly take the mdio_lock
            mutex when programming the registers.  From Russell King.
      
         9) Fix non-forced handling in u32_destroy(), from WANG Cong.
      
        10) Test the EVENT_NO_RUNTIME_PM flag before it is cleared in
            usbnet_stop(), from Eugene Shatokhin.
      
        11) In sfc driver, don't fetch statistics firmware isn't capable of,
            from Bert Kenward.
      
        12) Verify ASCONF address parameter location in SCTP, from Xin Long"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state
        sctp: asconf's process should verify address parameter is in the beginning
        sfc: only use vadaptor stats if firmware is capable
        net: phy: fixed: propagate fixed link values to struct
        usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared
        drivers: net: xgene: fix: Oops in linkwatch_fire_event
        cls_u32: complete the check for non-forced case in u32_destroy()
        net: fec: use reinit_completion() in mdio accessor functions
        net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect()
        vxlan: re-ignore EADDRINUSE from igmp_join
        net: compile renesas directory if NET_VENDOR_RENESAS is configured
        ip6_gre: release cached dst on tunnel removal
        phylib: Make PHYs children of their MDIO bus, not the bus' parent.
        can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters
        net: Fix RCU splat in af_key
        net: bcmgenet: fix uncleaned dma flags
        net: bcmgenet: Avoid sleeping in bcmgenet_timeout
        netlink: mmap: fix tx type check
      e001d708
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 5c98bcce
      Linus Torvalds authored
      Pull nvdimm fixlet from Dan Williams:
       "This is a libnvdimm ABI fixup.
      
        I pushed back on this change quite hard given the late date, that it
        appears to be purely cosmetic, sysfs is not necessarily meant to be a
        user friendly UI, and the kernel interprets the reversed polarity of
        the ACPI_NFIT_MEM_ARMED flag correctly.  When this flag is set, the
        energy source of an NVDIMM is not armed and any new writes to the DIMM
        may not be preserved.
      
        However, Bob Moore warned me that it is important to get these things
        named correctly wherever they appear otherwise we run the risk of a
        less than cautious firmware engineer implementing the polarity the
        wrong way.  Once a mistake like that escapes into production platforms
        the flag becomes useless and we need to move to a new bit position.
      
        Bob has agreed to take a change through ACPICA to rename
        ACPI_NFIT_MEM_ARMED to ACPI_NFIT_MEM_NOT_ARMED, and the patch below
        from Toshi brings the sysfs representation of these flags in line with
        their respective polarities.
      
        Please pull for 4.2 as this is the first kernel to expose the ACPI
        NFIT sysfs representation, and this is likely a kernel that firmware
        developers will be using for checking out their NVDIMM enabling"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit: Clarify memory device state flags strings
      5c98bcce
    • lucien's avatar
      sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state · f648f807
      lucien authored
      Commit f8d96052 ("sctp: Enforce retransmission limit during shutdown")
      fixed a problem with excessive retransmissions in the SHUTDOWN_PENDING by not
      resetting the association overall_error_count.  This allowed the association
      to better enforce assoc.max_retrans limit.
      
      However, the same issue still exists when the association is in SHUTDOWN_RECEIVED
      state.  In this state, HB-ACKs will continue to reset the overall_error_count
      for the association would extend the lifetime of association unnecessarily.
      
      This patch solves this by resetting the overall_error_count whenever the current
      state is small then SCTP_STATE_SHUTDOWN_PENDING.  As a small side-effect, we
      end up also handling SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT
      states, but they are not really impacted because we disable Heartbeats in those
      states.
      
      Fixes: Commit f8d96052
      
       ("sctp: Enforce retransmission limit during shutdown")
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f648f807
    • lucien's avatar
      sctp: asconf's process should verify address parameter is in the beginning · ce7b4ccc
      lucien authored
      
      
      in sctp_process_asconf(), we get address parameter from the beginning of
      the addip params. but we never check if it's really there. if the addr
      param is not there, it still can pass sctp_verify_asconf(), then to be
      handled by sctp_process_asconf(), it will not be safe.
      
      so add a code in sctp_verify_asconf() to check the address parameter is in
      the beginning, or return false to send abort.
      
      note that this can also detect multiple address parameters, and reject it.
      
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Signed-off-by: default avatarMarcelo Ricardo Leitner <mleitner@redhat.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ce7b4ccc
    • Toshi Kani's avatar
      nfit: Clarify memory device state flags strings · 402bae59
      Toshi Kani authored
      
      
      ACPI 6.0 NFIT Memory Device State Flags in Table 5-129 defines
      NVDIMM status as follows.  These bits indicate multiple info,
      such as failures, pending event, and capability.
      
        Bit [0] set to 1 to indicate that the previous SAVE to the
        Memory Device failed.
        Bit [1] set to 1 to indicate that the last RESTORE from the
        Memory Device failed.
        Bit [2] set to 1 to indicate that platform flush of data to
        Memory Device failed. As a result, the restored data content
        may be inconsistent even if SAVE and RESTORE do not indicate
        failure.
        Bit [3] set to 1 to indicate that the Memory Device is observed
        to be not armed prior to OSPM hand off. A Memory Device is
        considered armed if it is able to accept persistent writes.
        Bit [4] set to 1 to indicate that the Memory Device observed
        SMART and health events prior to OSPM handoff.
      
      /sys/bus/nd/devices/nmemX/nfit/flags shows this flags info.
      The output strings associated with the bits are "save", "restore",
      "smart", etc., which can be confusing as they may be interpreted
      as positive status, i.e. save succeeded.
      
      Change also the dev_info() message in acpi_nfit_register_dimms()
      to be consistent with the sysfs flags strings.
      
      Reported-by: default avatarRobert Elliott <elliott@hp.com>
      Signed-off-by: default avatarToshi Kani <toshi.kani@hp.com>
      [ross: rename 'not_arm' to 'not_armed']
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      [djbw: defer adding bit5, HEALTH_ENABLED, for now]
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      402bae59
    • Bert Kenward's avatar
      sfc: only use vadaptor stats if firmware is capable · fbe4307e
      Bert Kenward authored
      
      
      Some of the stats handling code differs based on SR-IOV support,
      and SRIOV support is only available if full-featured firmware is
      used.
      Do not use vadaptor stats if firmware mode is not set to
      full-featured.
      
      Signed-off-by: default avatarShradha Shah <sshah@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fbe4307e
    • Madalin Bucur's avatar
      net: phy: fixed: propagate fixed link values to struct · 4b195360
      Madalin Bucur authored
      
      
      The fixed link values parsed from the device tree are stored in
      the struct fixed_phy member status. The struct phy_device members
      speed, duplex were not updated.
      
      Signed-off-by: default avatarMadalin Bucur <madalin.bucur@freescale.com>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4b195360
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 95803812
      Linus Torvalds authored
      Pull amr64 kvm fix from Will Deacon:
       "We've uncovered a nasty bug in the arm64 KVM code which allows a badly
        behaved 32-bit guest to bring down the host.  The fix is simple (it's
        what I believe we call a "brown paper bag" bug) and I don't think it
        makes sense to sit on this, particularly as Russell ended up
        triggering this rather than just somebody noticing a potential problem
        by inspection.
      
        Usually arm64 KVM changes would go via Paolo's tree, but he's on
        holiday at the moment and the deal is that anything urgent gets
        shuffled via the arch trees, so here it is.
      
        Summary:
      
        Fix arm64 KVM issue when injecting an abort into a 32-bit guest, which
        would lead to an illegal exception return at EL2 and a subsequent host
        crash"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: KVM: Fix host crash when injecting a fault into a 32bit guest
      95803812
  6. Aug 27, 2015
    • Marc Zyngier's avatar
      arm64: KVM: Fix host crash when injecting a fault into a 32bit guest · 126c69a0
      Marc Zyngier authored
      
      
      When injecting a fault into a misbehaving 32bit guest, it seems
      rather idiotic to also inject a 64bit fault that is only going
      to corrupt the guest state. This leads to a situation where we
      perform an illegal exception return at EL2 causing the host
      to crash instead of killing the guest.
      
      Just fix the stupid bug that has been there from day 1.
      
      Cc: <stable@vger.kernel.org>
      Reported-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Tested-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
      Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
      126c69a0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · f9ed72dd
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Two fixes in this pull request:
      
         - The writeback regression fix from Tejun, which has been weeks in
           the making.  This fixes a case where we would sometimes not issue
           writeback when we should have.
      
         - An older fix for a memory corruption issue in mtip32xx.  It was
           deferred since we wanted a better fix for this (driver should not
           have to handle that case), but given the timing, it's better to put
           the simple fix in for 4.2 release"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        mtip32x: fix regression introduced by blk-mq per-hctx flush
        writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes()
      f9ed72dd
  7. Aug 26, 2015
    • Guillermo A. Amaral's avatar
      Add factory recertified Crucial M500s to blacklist · 7a7184b0
      Guillermo A. Amaral authored
      
      
      The Crucial M500 is known to have issues with queued TRIM commands, the
      factory recertified SSDs use a different model number naming convention
      which causes them to get ignored by the blacklist.
      
      The new naming convention boils down to: s/Crucial_/FC/
      
      Signed-off-by: default avatarGuillermo A. Amaral <g@maral.me>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: stable@vger.kernel.org
      7a7184b0
    • Guilherme G. Piccoli's avatar
      powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case · 4d9aac39
      Guilherme G. Piccoli authored
      Since commit 1851617c ("PCI/MSI: Disable MSI at enumeration even if
      kernel doesn't support MSI"), the setup of dev->msi_cap/msix_cap and the
      disable of MSI/MSI-X interrupts isn't being done at PCI probe time, as
      the logic responsible for this was moved in the aforementioned commit
      from pci_device_add() to pci_setup_device(). The latter function is not
      reachable on PowerPC pseries platform during Open Firmware PCI probing
      time.
      
      This exhibits as drivers not being able to enable MSI, eg:
      
        bnx2x 0000:01:00.0: no msix capability found
      
      This patch calls pci_msi_setup_pci_dev() explicitly to disable MSI/MSI-X
      during PCI probe time on pSeries platform.
      
      Fixes: 1851617c
      
       ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI")
      [mpe: Flesh out change log and clarify comment]
      Signed-off-by: default avatarGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      4d9aac39
    • Guilherme G. Piccoli's avatar
      PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code · 22b6839b
      Guilherme G. Piccoli authored
      Commit 1851617c ("PCI/MSI: Disable MSI at enumeration even if kernel
      doesn't support MSI") changed the location of the code that initialises
      dev->msi_cap/msix_cap and then disables MSI/MSI-X interrupts at PCI
      probe time in devices that have this flag set. It moved the code from
      pci_msi_init_pci_dev() to a new function named pci_msi_setup_pci_dev(),
      called by pci_setup_device().
      
      The pseries PCI probing code does not call pci_setup_device(), so since
      the aforementioned commit the function pci_msi_setup_pci_dev() is not
      called and MSI/MSI-X interrupts are left enabled. Additionally because
      dev->msi_cap/msix_cap are not initialised no driver can ever enable
      MSI/MSI-X.
      
      To fix this, the pseries PCI probe should manually call
      pci_msi_setup_pci_dev(), so this patch makes it non-static.
      
      Fixes: 1851617c
      
       ("PCI/MSI: Disable MSI at enumeration even if kernel doesn't support MSI")
      [mpe: Update change log to mention dev->msi_cap/msix_cap]
      Signed-off-by: default avatarGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      22b6839b
    • Eugene Shatokhin's avatar
      usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared · f50791ac
      Eugene Shatokhin authored
      
      
      It is needed to check EVENT_NO_RUNTIME_PM bit of dev->flags in
      usbnet_stop(), but its value should be read before it is cleared
      when dev->flags is set to 0.
      
      The problem was spotted and the fix was provided by
      Oliver Neukum <oneukum@suse.de>.
      
      Signed-off-by: default avatarEugene Shatokhin <eugene.shatokhin@rosalab.ru>
      Acked-by: default avatarOliver Neukum <oneukum@suse.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f50791ac
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · f5db4b31
      Linus Torvalds authored
      Pull LSM regression fix from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        LSM: restore certain default error codes
      f5db4b31
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · f045fd75
      Linus Torvalds authored
      Pull nvdimm fix from Dan Williams:
       "A single fix for status register read size in the nd_blk driver.
      
        The effect of getting the width of this register read wrong is that
        all I/O fails when the read returns non-zero.  Given the availability
        of ACPI 6 NFIT enabled platforms, this could reasonably wait to come
        in during the 4.3 merge window with a tag for 4.2-stable.  Otherwise,
        this makes the 4.2 kernel fully functional with devices that conform
        to the mmio-block-apertures defined in the ACPI 6 NFIT (NVDIMM
        Firmware Interface Table)"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit, nd_blk: BLK status register is only 32 bits
      f045fd75
    • Iyappan Subramanian's avatar
      drivers: net: xgene: fix: Oops in linkwatch_fire_event · ccc02ddb
      Iyappan Subramanian authored
      
      
      [ 1065.801569] Internal error: Oops: 96000006 [#1] SMP
      ...
      [ 1065.866655] Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0 Apr 22 2015
      [ 1065.873937] Workqueue: events_power_efficient phy_state_machine
      [ 1065.879837] task: fffffe01de105e80 ti: fffffe00bcf18000 task.ti: fffffe00bcf18000
      [ 1065.887288] PC is at linkwatch_fire_event+0xac/0xc0
      [ 1065.892141] LR is at linkwatch_fire_event+0xa0/0xc0
      [ 1065.896995] pc : [<fffffe000060284c>] lr : [<fffffe0000602840>] pstate: 200001c5
      [ 1065.904356] sp : fffffe00bcf1bd00
      ...
      [ 1066.196813] Call Trace:
      [ 1066.199248] [<fffffe000060284c>] linkwatch_fire_event+0xac/0xc0
      [ 1066.205140] [<fffffe000061167c>] netif_carrier_off+0x54/0x64
      [ 1066.210773] [<fffffe00004f1654>] phy_state_machine+0x120/0x3bc
      [ 1066.216578] [<fffffe00000d8d10>] process_one_work+0x15c/0x3a8
      [ 1066.222296] [<fffffe00000d9090>] worker_thread+0x134/0x470
      [ 1066.227757] [<fffffe00000df014>] kthread+0xe0/0xf8
      [ 1066.232525] Code: 97f65ee9 f9420660 d538d082 8b000042 (885f7c40)
      
      The fix is to call phy_disconnect() from xgene_enet_mdio_remove,
      which in turn call cancel_delayed_work_sync().
      
      Signed-off-by: default avatarIyappan Subramanian <isubramanian@apm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccc02ddb
    • WANG Cong's avatar
      cls_u32: complete the check for non-forced case in u32_destroy() · a6c1aea0
      WANG Cong authored
      In commit 1e052be6 ("net_sched: destroy proto tp when all filters are gone")
      I added a check in u32_destroy() to see if all real filters are gone
      for each tp, however, that is only done for root_ht, same is needed
      for others.
      
      This can be reproduced by the following tc commands:
      
      tc filter add dev eth0 parent 1:0 prio 5 handle 15: protocol ip u32 divisor 256
      tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:2 u32
      ht 15:2: match ip src 10.0.0.2 flowid 1:10
      tc filter add dev eth0 protocol ip parent 1: prio 5 handle 15:2:3 u32
      ht 15:2: match ip src 10.0.0.3 flowid 1:10
      
      Fixes: 1e052be6
      
       ("net_sched: destroy proto tp when all filters are gone")
      Reported-by: default avatarAkshat Kakkar <akshat.1984@gmail.com>
      Cc: Jamal Hadi Salim <jhs@mojatatu.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarCong Wang <cwang@twopensource.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a6c1aea0
    • Jan Beulich's avatar
      LSM: restore certain default error codes · e308fd3b
      Jan Beulich authored
      While in most cases commit b1d9e6b0
      
       ("LSM: Switch to lists of hooks")
      retained previous error returns, in three cases it altered them without
      any explanation in the commit message. Restore all of them - in the
      security_old_inode_init_security() case this led to reiserfs using
      uninitialized data, sooner or later crashing the system (the only other
      user of this function - ocfs2 - was unaffected afaict, since it passes
      pre-initialized structures).
      
      Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
      Signed-off-by: default avatarCasey Schaufler <casey@schaufler-ca.com>
      Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
      e308fd3b
    • Ross Zwisler's avatar
      nfit, nd_blk: BLK status register is only 32 bits · de4a196c
      Ross Zwisler authored
      
      
      Only read 32 bits for the BLK status register in read_blk_stat().
      
      The format and size of this register is defined in the
      "NVDIMM Driver Writer's guide":
      
      http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf
      
      Signed-off-by: default avatarRoss Zwisler <ross.zwisler@linux.intel.com>
      Reported-by: default avatarNicholas Moulin <nicholas.w.moulin@linux.intel.com>
      Tested-by: default avatarNicholas Moulin <nicholas.w.moulin@linux.intel.com>
      Reviewed-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      de4a196c
    • Russell King's avatar
      net: fec: use reinit_completion() in mdio accessor functions · aac27c7a
      Russell King authored
      
      
      Rather than re-initialising the entire completion on every mdio access,
      use reinit_completion() which only resets the completion count.  This
      avoids possible reinitialisation of the contained spinlock and waitqueue
      while they may be in use (eg, mid-completion.)
      
      Such an event could occur if there's a long delay in interrupt handling
      causing the mdio accessor to time out, then a second access comes in
      while the interrupt handler on a different CPU has called complete().
      Another scenario where this has been observed is while locking has
      been missing at the phy layer, allowing concurrent attempts to access
      the MDIO bus.
      
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aac27c7a
    • Russell King's avatar
      net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect() · 05a7f582
      Russell King authored
      The phy layer is missing locking for the above two functions - it
      has been observed that two threads (userspace and the phy worker
      thread) can race, entering the bus ->write or ->read functions
      simultaneously.
      
      This causes the FEC driver to initialise a completion while another
      thread is waiting on it or while the interrupt is calling complete()
      on it, which causes spinlock unlock-without-lock, spinlock lockups,
      and completion timeouts.
      
      Fixes: a59a4d19 ("phy: add the EEE support and the way to access to the MMD registers.")
      Fixes: 0c1d77df
      
       ("net: libphy: Add phy specific function to access mmd phy registers")
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      05a7f582
    • Marcelo Ricardo Leitner's avatar
      vxlan: re-ignore EADDRINUSE from igmp_join · bef0057b
      Marcelo Ricardo Leitner authored
      Before 56ef9c90[1] it used to ignore all errors from igmp_join().
      That commit enhanced that and made it error out whatever error happened
      with igmp_join(), but that's not good because when using multicast
      groups vxlan will try to join it multiple times if the socket is reused
      and then the 2nd and further attempts will fail with EADDRINUSE.
      
      As we don't track to which groups the socket is already subscribed, it's
      okay to just ignore that error.
      
      Fixes: 56ef9c90
      
       ("vxlan: Move socket initialization to within rtnl scope")
      Reported-by: default avatarJohn Nielsen <lists@jnielsen.net>
      Signed-off-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bef0057b
    • David S. Miller's avatar
      Merge tag 'linux-can-fixes-for-4.2-20150825' of... · e732cdd4
      David S. Miller authored
      
      Merge tag 'linux-can-fixes-for-4.2-20150825' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
      
      Marc Kleine-Budde says:
      
      ====================
      this is the updated pull request of one patch by me for the peak_usb
      driver. It fixes the driver, so that non FD adapters don't provide CAN
      FD bittimings.
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e732cdd4
    • Kazuya Mizuguchi's avatar
      net: compile renesas directory if NET_VENDOR_RENESAS is configured · 83bc805b
      Kazuya Mizuguchi authored
      Currently the renesas ethernet driver directory is compiled if SH_ETH is
      configured rather than NET_VENDOR_RENESAS. Although incorrect that was
      quite harmless as until recently as SH_ETH configured the only driver in
      the renesas directory. However, as of c156633f
      
       ("Renesas Ethernet AVB
      driver proper") the renesas directory includes another driver, configured
      by RAVB, and it makes little sense for it to have a hidden dependency on
      SH_ETH.
      
      Signed-off-by: default avatarKazuya Mizuguchi <kazuya.mizuguchi.ks@renesas.com>
      [horms: rewrote changelog]
      Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      83bc805b
    • huaibin Wang's avatar
      ip6_gre: release cached dst on tunnel removal · d4257295
      huaibin Wang authored
      When a tunnel is deleted, the cached dst entry should be released.
      
      This problem may prevent the removal of a netns (seen with a x-netns IPv6
      gre tunnel):
        unregister_netdevice: waiting for lo to become free. Usage count = 3
      
      CC: Dmitry Kozlov <xeb@mail.ru>
      Fixes: c12b395a
      
       ("gre: Support GRE over IPv6")
      Signed-off-by: default avatarhuaibin Wang <huaibin.wang@6wind.com>
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4257295
    • Jeff Moyer's avatar
      mtip32x: fix regression introduced by blk-mq per-hctx flush · 74c9c913
      Jeff Moyer authored
      Hi,
      
      After commit f70ced09
      
       (blk-mq: support per-distpatch_queue flush
      machinery), the mtip32xx driver may oops upon module load due to walking
      off the end of an array in mtip_init_cmd.  On initialization of the
      flush_rq, init_request is called with request_index >= the maximum queue
      depth the driver supports.  For mtip32xx, this value is used to index
      into an array.  What this means is that the driver will walk off the end
      of the array, and either oops or cause random memory corruption.
      
      The problem is easily reproduced by doing modprobe/rmmod of the mtip32xx
      driver in a loop.  I can typically reproduce the problem in about 30
      seconds.
      
      Now, in the case of mtip32xx, it actually doesn't support flush/fua, so
      I think we can simply return without doing anything.  In addition, no
      other mq-enabled driver does anything with the request_index passed into
      init_request(), so no other driver is affected.  However, I'm not really
      sure what is expected of drivers.  Ming, what did you envision drivers
      would do when initializing the flush requests?
      
      Signed-off-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      74c9c913
    • Tejun Heo's avatar
      writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes() · 006a0973
      Tejun Heo authored
      e7972912
      
       ("writeback: don't issue wb_writeback_work if clean")
      updated writeback path to avoid kicking writeback work items if there
      are no inodes to be written out; unfortunately, the avoidance logic
      was too aggressive and broke sync_inodes_sb().
      
      * sync_inodes_sb() must write out I_DIRTY_TIME inodes but I_DIRTY_TIME
        inodes dont't contribute to bdi/wb_has_dirty_io() tests and were
        being skipped over.
      
      * inodes are taken off wb->b_dirty/io/more_io lists after writeback
        starts on them.  sync_inodes_sb() skipping wait_sb_inodes() when
        bdi_has_dirty_io() breaks it by making it return while writebacks
        are in-flight.
      
      This patch fixes the breakages by
      
      * Removing bdi_has_dirty_io() shortcut from bdi_split_work_to_wbs().
        The callers are already testing the condition.
      
      * Removing bdi_has_dirty_io() shortcut from sync_inodes_sb() so that
        it always calls into bdi_split_work_to_wbs() and wait_sb_inodes().
      
      * Making bdi_split_work_to_wbs() consider the b_dirty_time list for
        WB_SYNC_ALL writebacks.
      
      Kudos to Eryu, Dave and Jan for tracking down the issue.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Fixes: e7972912
      
       ("writeback: don't issue wb_writeback_work if clean")
      Link: http://lkml.kernel.org/g/20150812101204.GE17933@dhcp-13-216.nay.redhat.com
      Reported-and-bisected-by: default avatarEryu Guan <eguan@redhat.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Ted Ts'o <tytso@google.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      006a0973