1. 09 May, 2017 5 commits
  2. 08 May, 2017 30 commits
  3. 05 May, 2017 5 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