1. 09 May, 2017 1 commit
  2. 08 May, 2017 30 commits
  3. 05 May, 2017 6 commits
    • Rakesh Pandit's avatar
      net: alx: handle pci_alloc_irq_vectors return correctly · 2c041afc
      Rakesh Pandit authored
      It was introduced while switching to pci_alloc_irq_vectors recently
      and fixes:
      
      [   60.527052] alx 0000:03:00.0 enp3s0: Enabling MSI-X interrupts failed!
      [   60.529323] BUG: unable to handle kernel NULL pointer dereference at 00000000000000b8
      [   60.531589] IP: alx_alloc_napis+0xe6/0x1e0 [alx]
      [   60.533831] PGD 0
      [   60.533833] P4D 0
      
      [   60.540559] Oops: 0002 [#1] SMP
      [   60.542759] Modules linked in: ebtables ip6table_filter ip6_tables.....
      [   60.549990]  drm_kms_helper drm crc32c_intel alx serio_raw mdio wmi video i2c_hid uas usb_storage
      [   60.551404] CPU: 0 PID: 999 Comm: NetworkManager Not tainted 4.11.0+ #1
      [   60.552813] Hardware name: Acer Predator G9-591/Mustang_SLS, BIOS V1.10 03/03/2016
      [   60.554219] task: ffff8804ae833c00 task.stack: ffffc90003eec000
      [   60.555383] RIP: 0010:alx_alloc_napis+0xe6/0x1e0 [alx]
      [   60.556615] RSP: 0018:ffffc90003eef660 EFLAGS: 00010286
      [   60.557787] RAX: ffff8804962835a0 RBX: ffff8804aee8a8c0 RCX: 0000000000000000
      [   60.558987] RDX: 0000000000000060 RSI: 0000000000000000 RDI: ffff880496283600
      [   60.559979] RBP: ffffc90003eef688 R08: ffff8804c1c1e7e0 R09: ffff8804962835a0
      [   60.560978] R10: ffff8804962835a0 R11: 0000000000000102 R12: 0000000000000000
      [   60.561974] R13: 0000000000000000 R14: ffff8804aee8aaf0 R15: ffffffffa0052ea0
      [   60.562974] FS:  00007f1cecbc9940(0000) GS:ffff8804c1c00000(0000) knlGS:0000000000000000
      [   60.564003] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [   60.564884] CR2: 00000000000000b8 CR3: 0000000496025000 CR4: 00000000003406f0
      [   60.565782] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [   60.566676] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
      [   60.567560] Call Trace:
      [   60.568500]  __alx_open+0xa2/0x570 [alx]
      [   60.569355]  ? notifier_call_chain+0x4a/0x70
      [   60.570144]  alx_open+0x17/0x20 [alx]
      [   60.570909]  __dev_open+0xc6/0x140
      [   60.571682]  ? _raw_spin_unlock_bh+0x1a/0x20
      [   60.572469]  __dev_change_flags+0x9d/0x160
      [   60.573252]  dev_change_flags+0x29/0x60
      [   60.574070]  do_setlink+0x32e/0xc90
      [   60.574815]  ? ttwu_do_activate+0x77/0x80
      [   60.575544]  ? drm_fb_helper_dirty.isra.17+0xc7/0xe0 [drm_kms_helper]
      [   60.576273]  ? drm_fb_helper_cfb_imageblit+0x30/0x40 [drm_kms_helper]
      [   60.577004]  ? bit_putcs+0x2f7/0x560
      [   60.577729]  ? nla_parse+0x35/0x140
      [   60.578518]  rtnl_newlink+0x7d3/0x900
      [   60.579280]  ? security_capset+0x30/0x80
      [   60.580029]  ? ns_capable_common+0x68/0x80
      [   60.580747]  ? ns_capable+0x13/0x20
      [   60.581453]  rtnetlink_rcv_msg+0xee/0x220
      [   60.582198]  ? rtnl_newlink+0x900/0x900
      [   60.582909]  netlink_rcv_skb+0xe7/0x120
      [   60.583601]  rtnetlink_rcv+0x28/0x30
      [   60.584303]  netlink_unicast+0x18c/0x220
      [   60.585002]  netlink_sendmsg+0x2ba/0x3b0
      [   60.585703]  sock_sendmsg+0x38/0x50
      [   60.586436]  ___sys_sendmsg+0x2b6/0x2d0
      [   60.587123]  ? lockref_put_or_lock+0x5e/0x80
      [   60.587822]  ? dput+0x155/0x1d0
      [   60.588518]  ? mntput+0x24/0x40
      [   60.589215]  __sys_sendmsg+0x54/0x90
      [   60.589907]  ? __sys_sendmsg+0x54/0x90
      [   60.590627]  SyS_sendmsg+0x12/0x20
      [   60.591333]  entry_SYSCALL_64_fastpath+0x1a/0xa5
      [   60.592021] RIP: 0033:0x7f1ceb44e3b0
      [   60.592697] RSP: 002b:00007fffd7f0a2d0 EFLAGS: 00000293 ORIG_RAX: 000000000000002e
      [   60.593385] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f1ceb44e3b0
      [   60.594107] RDX: 0000000000000000 RSI: 00007fffd7f0a380 RDI: 000000000000000c
      [   60.594798] RBP: 00007fffd7f0a800 R08: 0000000000000000 R09: 0000000000000000
      [   60.595502] R10: 0000564ffbae6e20 R11: 0000000000000293 R12: 0000000000000001
      [   60.596200] R13: 0000000000000002 R14: 0000000000000010 R15: 00007fffd7f0a4d0
      [   60.596899] Code: ed 85 c9 0f 8f ec 00 00 00 48 8b 3d 9d 97 1a e2 ba 50 00 00 00 be c0 80 40 01 4c 8b a3 30 02 00 00 e8 ff e5 1d e1 48 85 c0 74 a3 <49> 89 84 24 b8 00 00 00 48 8b 93 30 02 00 00 48 8b 4b 08 48 89
      [   60.597642] RIP: alx_alloc_napis+0xe6/0x1e0 [alx] RSP: ffffc90003eef660
      [   60.598427] CR2: 00000000000000b8
      
      Fixes: f3297f68 ("net: alx: switch to pci_alloc_irq_vectors")
      Signed-off-by: default avatarRakesh Pandit <rakesh@tuxera.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c041afc
    • Eric Dumazet's avatar
      tcp: randomize timestamps on syncookies · 84b114b9
      Eric Dumazet authored
      Whole point of randomization was to hide server uptime, but an attacker
      can simply start a syn flood and TCP generates 'old style' timestamps,
      directly revealing server jiffies value.
      
      Also, TSval sent by the server to a particular remote address vary
      depending on syncookies being sent or not, potentially triggering PAWS
      drops for innocent clients.
      
      Lets implement proper randomization, including for SYNcookies.
      
      Also we do not need to export sysctl_tcp_timestamps, since it is not
      used from a module.
      
      In v2, I added Florian feedback and contribution, adding tsoff to
      tcp_get_cookie_sock().
      
      v3 removed one unused variable in tcp_v4_connect() as Florian spotted.
      
      Fixes: 95a22cae ("tcp: randomize tcp timestamp offsets for each connection")
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Reviewed-by: default avatarFlorian Westphal <fw@strlen.de>
      Tested-by: default avatarFlorian Westphal <fw@strlen.de>
      Cc: Yuchung Cheng <ycheng@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      84b114b9
    • Tobias Klauser's avatar
      bridge: netlink: account for IFLA_BRPORT_{B, M}CAST_FLOOD size and policy · 9051247d
      Tobias Klauser authored
      The attribute sizes for IFLA_BRPORT_MCAST_FLOOD and
      IFLA_BRPORT_BCAST_FLOOD weren't accounted for in br_port_info_size()
      when they were added. Do so now and also add the corresponding policy
      entries:
      
      Cc: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Cc: Mike Manning <mmanning@brocade.com>
      Fixes: b6cb5ac8 ("net: bridge: add per-port multicast flood flag")
      Fixes: 99f906e9 ("bridge: add per-port broadcast flood flag")
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Acked-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9051247d
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · af82455f
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big set of new char/misc driver drivers and features for
        4.12-rc1.
      
        There's lots of new drivers added this time around, new firmware
        drivers from Google, more auxdisplay drivers, extcon drivers, fpga
        drivers, and a bunch of other driver updates. Nothing major, except if
        you happen to have the hardware for these drivers, and then you will
        be happy :)
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'char-misc-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (136 commits)
        firmware: google memconsole: Fix return value check in platform_memconsole_init()
        firmware: Google VPD: Fix return value check in vpd_platform_init()
        goldfish_pipe: fix build warning about using too much stack.
        goldfish_pipe: An implementation of more parallel pipe
        fpga fr br: update supported version numbers
        fpga: region: release FPGA region reference in error path
        fpga altera-hps2fpga: disable/unprepare clock on error in alt_fpga_bridge_probe()
        mei: drop the TODO from samples
        firmware: Google VPD sysfs driver
        firmware: Google VPD: import lib_vpd source files
        misc: lkdtm: Add volatile to intentional NULL pointer reference
        eeprom: idt_89hpesx: Add OF device ID table
        misc: ds1682: Add OF device ID table
        misc: tsl2550: Add OF device ID table
        w1: Remove unneeded use of assert() and remove w1_log.h
        w1: Use kernel common min() implementation
        uio_mf624: Align memory regions to page size and set correct offsets
        uio_mf624: Refactor memory info initialization
        uio: Allow handling of non page-aligned memory regions
        hangcheck-timer: Fix typo in comment
        ...
      af82455f
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.12-rc1' of... · 0be75179
      Linus Torvalds authored
      Merge tag 'driver-core-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Very tiny pull request for 4.12-rc1 for the driver core this time
        around.
      
        There are some documentation fixes, an eventpoll.h fixup to make it
        easier for the libc developers to take our header files directly, and
        some very minor driver core fixes and changes.
      
        All have been in linux-next for a very long time with no reported
        issues"
      
      * tag 'driver-core-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        Revert "kref: double kref_put() in my_data_handler()"
        driver core: don't initialize 'parent' in device_add()
        drivers: base: dma-mapping: use nth_page helper
        Documentation/ABI: add information about cpu_capacity
        debugfs: set no_llseek in DEFINE_DEBUGFS_ATTRIBUTE
        eventpoll.h: add missing epoll event masks
        eventpoll.h: fix epoll event masks
      0be75179
    • Linus Torvalds's avatar
      Merge tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 8f28472a
      Linus Torvalds authored
      Pull USB updates from Greg KH:
       "Here is the big USB patchset for 4.12-rc1.
      
        Lots of good stuff here, after many many many attempts, the kernel
        finally has a working typeC interface, many thanks to Heikki and
        Guenter and others who have taken the time to get this merged. It
        wasn't an easy path for them at all.
      
        There's also a staging driver that uses this new api, which is why
        it's coming in through this tree.
      
        Along with that, there's the usual huge number of changes for gadget
        drivers, xhci, and other stuff. Johan also finally refactored pretty
        much every driver that was looking at USB endpoints to do it in a
        common way, which will help prevent any "badly-formed" devices from
        causing problems in drivers. That too wasn't a simple task.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-4.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
        staging: typec: Fairchild FUSB302 Type-c chip driver
        staging: typec: Type-C Port Controller Interface driver (tcpci)
        staging: typec: USB Type-C Port Manager (tcpm)
        usb: host: xhci: remove #ifdef around PM functions
        usb: musb: don't mark of_dev_auxdata as initdata
        usb: misc: legousbtower: Fix buffers on stack
        USB: Revert "cdc-wdm: fix "out-of-sync" due to missing notifications"
        usb: Make sure usb/phy/of gets built-in
        USB: storage: e-mail update in drivers/usb/storage/unusual_devs.h
        usb: host: xhci: print correct command ring address
        usb: host: xhci: delete sp_dma_buffers for scratchpad
        usb: host: xhci: using correct specification chapter reference for DCBAAP
        xhci: switch to pci_alloc_irq_vectors
        usb: host: xhci-plat: set resume_quirk() for R-Car controllers
        usb: host: xhci-plat: add resume_quirk()
        usb: host: xhci-plat: enable clk in resume timing
        usb: host: plat: Enable xHCI plat runtime PM
        USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
        USB: serial: constify static arrays
        usb: fix some references for /proc/bus/usb
        ...
      8f28472a
  4. 04 May, 2017 3 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 4ac4d584
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) The wireless rate info fix from Johannes Berg.
      
       2) When a RAW socket is in hdrincl mode, we need to make sure that the
          user provided at least a minimally sized ipv4/ipv6 header. Fix from
          Alexander Potapenko.
      
       3) We must emit IFLA_PHYS_PORT_NAME netlink attributes using
          nla_put_string() so that it is NULL terminated.
      
       4) Fix a bug in TCP fastopen handling, wherein child sockets
          erroneously inherit the fastopen_req from the parent, and later can
          end up derefencing freed memory or doing a double free. From Eric
          Dumazet.
      
       5) Don't clear out netdev stats at close time in tg3 driver, from
          YueHaibing.
      
       6) Fix refcount leak in xt_CT, from Gao Feng.
      
       7) In nft_set_bitmap() don't leak dummy elements, from Liping Zhang.
      
       8) Fix deadlock due to taking the expectation lock twice, also from
          Liping Zhang.
      
       9) Make xt_socket work again with ipv6, from Peter Tirsek.
      
      10) Don't allow IPV6 to be used with IPVS if ipv6.disable=1, from Paolo
          Abeni.
      
      11) Make the BPF loader more flexible wrt. changes to the bpf MAP entry
          layout. From Jesper Dangaard Brouer.
      
      12) Fix ethtool reported device name in aquantia driver, from Pavel
          Belous.
      
      13) Fix build failures due to the compile time size test not working in
          netfilter conntrack. From Geert Uytterhoeven.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)
        cfg80211: make RATE_INFO_BW_20 the default
        ipv6: initialize route null entry in addrconf_init()
        qede: Fix possible misconfiguration of advertised autoneg value.
        qed: Fix overriding of supported autoneg value.
        qed*: Fix possible overflow for status block id field.
        rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string
        netvsc: make sure napi enabled before vmbus_open
        aquantia: Fix driver name reported by ethtool
        ipv4, ipv6: ensure raw socket message is big enough to hold an IP header
        net/sched: remove redundant null check on head
        tcp: do not inherit fastopen_req from parent
        forcedeth: remove unnecessary carrier status check
        ibmvnic: Move queue restarting in ibmvnic_tx_complete
        ibmvnic: Record SKB RX queue during poll
        ibmvnic: Continue skb processing after skb completion error
        ibmvnic: Check for driver reset first in ibmvnic_xmit
        ibmvnic: Wait for any pending scrqs entries at driver close
        ibmvnic: Clean up tx pools when closing
        ibmvnic: Whitespace correction in release_rx_pools
        ibmvnic: Delete napi's when releasing driver resources
        ...
      4ac4d584
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 8d5e72df
      Linus Torvalds authored
      Pull SCSI updates from James Bottomley:
       "This update includes the usual round of major driver updates
        (hisi_sas, ufs, fnic, cxlflash, be2iscsi, ipr, stex). There's also the
        usual amount of cosmetic and spelling stuff"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (155 commits)
        scsi: qla4xxx: fix spelling mistake: "Tempalate" -> "Template"
        scsi: stex: make S6flag static
        scsi: mac_esp: fix to pass correct device identity to free_irq()
        scsi: aacraid: pci_alloc_consistent() failures on ARM64
        scsi: ufs: make ufshcd_get_lists_status() register operation obvious
        scsi: ufs: use MASK_EE_STATUS
        scsi: mac_esp: Replace bogus memory barrier with spinlock
        scsi: fcoe: make fcoe_e_d_tov and fcoe_r_a_tov static
        scsi: sd_zbc: Do not write lock zones for reset
        scsi: sd_zbc: Remove superfluous assignments
        scsi: sd: sd_zbc: Rename sd_zbc_setup_write_cmnd
        scsi: Improve scsi_get_sense_info_fld
        scsi: sd: Cleanup sd_done sense data handling
        scsi: sd: Improve sd_completed_bytes
        scsi: sd: Fix function descriptions
        scsi: mpt3sas: remove redundant wmb
        scsi: mpt: Move scsi_remove_host() out of mptscsih_remove_host()
        scsi: sg: reset 'res_in_use' after unlinking reserved array
        scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case
        scsi: fusion: fix spelling mistake: "Persistancy" -> "Persistency"
        ...
      8d5e72df
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 2bd80401
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v4.12 kernel cycle.
      
        Core changes:
      
         - Return NULL from gpiod_get_optional() when GPIOLIB is disabled.
           This was a much discussed change. It affects use cases where people
           write drivers that might or might not be using GPIO resources. I
           have decided that this is the lesser evil right now.
      
         - Make gpiod_count() behave consistently across different hardware
           descriptions.
      
         - Fix the syntax around open drain/open source to not infer active
           high/low semantics.
      
        New drivers:
      
         - A new single-register fixed-direction framework driver for hardware
           that have lines controlled by a single register that just work in
           one direction (out or in), including IRQ support.
      
         - Support the Fintek F71889A GPIO SuperIO controller.
      
         - Support the National NI 169445 MMIO GPIO.
      
         - Support for the X-Gene derivative of the DWC GPIO controller
      
         - Support for the Rohm BD9571MWV-M PMIC GPIO controller.
      
         - Refactor the Gemini GPIO driver to a generic Faraday FTGPIO driver
           and replace both the Gemini and the Moxa ART custom drivers with
           this driver.
      
        Driver improvements:
      
         - A whole slew of drivers have their spinlocks chaned to raw
           spinlocks as they provide irqchips, and thus we are progressing on
           realtime compliance.
      
         - Use devm_irq_alloc_descs() in a slew of drivers, getting managed
           resources.
      
         - Support for the embedded PWM controller inside the MVEBU driver.
      
         - Debounce, open source and open drain support for the Aspeed driver.
      
         - Misc smaller fixes like spelling and syntax and whatnot"
      
      * tag 'gpio-v4.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (77 commits)
        gpio: f7188x: Add a missing break
        gpio: omap: return error if requested debounce time is not possible
        gpio: Add ROHM BD9571MWV-M PMIC GPIO driver
        gpio: gpio-wcove: fix GPIO IRQ status mask
        gpio: DT bindings, move tca9554 from pcf857x to pca953x
        gpio: move tca9554 from pcf857x to pca953x
        gpio: arizona: Correct check whether the pin is an input
        gpio: Add XRA1403 DTS binding documentation
        dt-bindings: add exar to vendor prefixes list
        gpio: gpio-wcove: fix irq pending status bit width
        gpio: dwapb: use dwapb_read instead of readl_relaxed
        gpio: aspeed: Add open-source and open-drain support
        gpio: aspeed: Add debounce support
        gpio: aspeed: dt: Add optional clocks property
        gpio: aspeed: dt: Fix description alignment in bindings document
        gpio: mvebu: Add limited PWM support
        gpio: Use unsigned int for interrupt numbers
        gpio: f7188x: Add F71889A GPIO support.
        gpio: core: Decouple open drain/source flag with active low/high
        gpio: arizona: Correct handling for reading input GPIOs
        ...
      2bd80401