Skip to content
  1. Feb 19, 2019
  2. Feb 18, 2019
  3. Feb 17, 2019
  4. Feb 16, 2019
    • David S. Miller's avatar
      Merge branch 'net-dsa-b53-VLAN-and-L2-fixes' · 46f37666
      David S. Miller authored
      
      
      Florian Fainelli says:
      
      ====================
      net: dsa: b53: VLAN and L2 fixes
      
      This patch series contains a collection of fixes to the b53 driver in
      order to:
      
      - consistently program the same default VLAN ID when a port is bridged
        or not
      - properly account for VLAN filtering being turned on/off and turning
        on ingress VID checking accordingly
      - have SYSTEMPORT properly forward BPDU frames to the network stack
        (which it did not)
      - do not assume that WoL is supported by the DSA master network device
        we are connected to
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      46f37666
    • Florian Fainelli's avatar
      net: dsa: b53: Do not program CPU port's PVID · 10163aae
      Florian Fainelli authored
      The CPU port is special and does not need to obey VLAN restrictions as
      far as untagged traffic goes, also, having the CPU port be part of a
      particular PVID is against the idea of keeping it tagged in all VLANs.
      
      Fixes: ca893194
      
       ("net: dsa: b53: Keep CPU port as tagged in all VLANs")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10163aae
    • Florian Fainelli's avatar
      net: dsa: bcm_sf2: Do not assume DSA master supports WoL · c3152ec4
      Florian Fainelli authored
      We assume in the bcm_sf2 driver that the DSA master network device
      supports ethtool_ops::{get,set}_wol operations, which is not a given.
      Avoid de-referencing potentially non-existent function pointers and
      check them as we should.
      
      Fixes: 96e65d7f
      
       ("net: dsa: bcm_sf2: add support for Wake-on-LAN")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3152ec4
    • Florian Fainelli's avatar
      net: systemport: Fix reception of BPDUs · a40061ea
      Florian Fainelli authored
      
      
      SYSTEMPORT has its RXCHK parser block that attempts to validate the
      packet structures, unfortunately setting the L2 header check bit will
      cause Bridge PDUs (BPDUs) to be incorrectly rejected because they look
      like LLC/SNAP packets with a non-IPv4 or non-IPv6 Ethernet Type.
      
      Fixes: 4e8aedfe78c7 ("net: systemport: Turn on offloads by default")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a40061ea
    • Florian Fainelli's avatar
      net: dsa: b53: Properly account for VLAN filtering · dad8d7c6
      Florian Fainelli authored
      VLAN filtering can be built into the kernel, and also dynamically turned
      on/off through the bridge master device. Allow re-configuring the switch
      appropriately to account for that by deciding whether VLAN table
      (v_table) misses should lead to a drop or forward.
      
      Fixes: a2482d2c
      
       ("net: dsa: b53: Plug in VLAN support")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dad8d7c6
    • Florian Fainelli's avatar
      net: dsa: b53: Fix default VLAN ID · fea83353
      Florian Fainelli authored
      We were not consistent in how the default VID of a given port was
      defined, b53_br_leave() would make sure the VLAN ID would be either 0/1
      depending on the switch generation, but b53_configure_vlan(), which is
      the default configuration would unconditionally set it to 1. The correct
      value is 1 for 5325/5365 series and 0 otherwise. To avoid repeating that
      mistake ever again, introduce a helper function: b53_default_pvid() to
      factor that out.
      
      Fixes: 967dd82f
      
       ("net: dsa: b53: Add support for Broadcom RoboSwitch")
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fea83353
    • Willem de Bruijn's avatar
      net: validate untrusted gso packets without csum offload · d5be7f63
      Willem de Bruijn authored
      Syzkaller again found a path to a kernel crash through bad gso input.
      By building an excessively large packet to cause an skb field to wrap.
      
      If VIRTIO_NET_HDR_F_NEEDS_CSUM was set this would have been dropped in
      skb_partial_csum_set.
      
      GSO packets that do not set checksum offload are suspicious and rare.
      Most callers of virtio_net_hdr_to_skb already pass them to
      skb_probe_transport_header.
      
      Move that test forward, change it to detect parse failure and drop
      packets on failure as those cleary are not one of the legitimate
      VIRTIO_NET_HDR_GSO types.
      
      Fixes: bfd5f4a3 ("packet: Add GSO/csum offload support.")
      Fixes: f43798c2
      
       ("tun: Allow GSO using virtio_net_hdr")
      Reported-by: default avatarsyzbot <syzkaller@googlegroups.com>
      Signed-off-by: default avatarWillem de Bruijn <willemb@google.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d5be7f63
    • Hauke Mehrtens's avatar
      net: Fix for_each_netdev_feature on Big endian · 3b89ea9c
      Hauke Mehrtens authored
      The features attribute is of type u64 and stored in the native endianes on
      the system. The for_each_set_bit() macro takes a pointer to a 32 bit array
      and goes over the bits in this area. On little Endian systems this also
      works with an u64 as the most significant bit is on the highest address,
      but on big endian the words are swapped. When we expect bit 15 here we get
      bit 47 (15 + 32).
      
      This patch converts it more or less to its own for_each_set_bit()
      implementation which works on 64 bit integers directly. This is then
      completely in host endianness and should work like expected.
      
      Fixes: fd867d51
      
       ("net/core: generic support for disabling netdev features down stack")
      Signed-off-by: default avatarHauke Mehrtens <hauke.mehrtens@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b89ea9c
    • Paul Kocialkowski's avatar
      net: phy: xgmiitorgmii: Support generic PHY status read · 197f9ab7
      Paul Kocialkowski authored
      
      
      Some PHY drivers like the generic one do not provide a read_status
      callback on their own but rely on genphy_read_status being called
      directly.
      
      With the current code, this results in a NULL function pointer call.
      Call genphy_read_status instead when there is no specific callback.
      
      Signed-off-by: default avatarPaul Kocialkowski <paul.kocialkowski@bootlin.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      197f9ab7
    • Lorenzo Bianconi's avatar
      net: ip6_gre: initialize erspan_ver just for erspan tunnels · 4974d5f6
      Lorenzo Bianconi authored
      After commit c706863b ("net: ip6_gre: always reports o_key to
      userspace"), ip6gre and ip6gretap tunnels started reporting TUNNEL_KEY
      output flag even if it is not configured.
      ip6gre_fill_info checks erspan_ver value to add TUNNEL_KEY for
      erspan tunnels, however in commit 84581bda ("erspan: set
      erspan_ver to 1 by default when adding an erspan dev")
      erspan_ver is initialized to 1 even for ip6gre or ip6gretap
      Fix the issue moving erspan_ver initialization in a dedicated routine
      
      Fixes: c706863b
      
       ("net: ip6_gre: always reports o_key to userspace")
      Signed-off-by: default avatarLorenzo Bianconi <lorenzo.bianconi@redhat.com>
      Reviewed-by: default avatarGreg Rose <gvrose8192@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4974d5f6
    • David S. Miller's avatar
      Merge tag 'mac80211-for-davem-2019-02-15' of... · a31687e8
      David S. Miller authored
      Merge tag 'mac80211-for-davem-2019-02-15' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211
      
      
      
      Johannes Berg says:
      
      ====================
      Just a few fixes this time:
       * mesh rhashtable fixes from Herbert
       * a small error path fix when starting AP interfaces
      ====================
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a31687e8
    • Paul Burton's avatar
      MIPS: eBPF: Remove REG_32BIT_ZERO_EX · 1910faeb
      Paul Burton authored
      
      
      REG_32BIT_ZERO_EX and REG_64BIT are always handled in exactly the same
      way, and reg_val_propagate_range() never actually sets any register to
      type REG_32BIT_ZERO_EX.
      
      Remove the redundant & unused REG_32BIT_ZERO_EX.
      
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      1910faeb
    • Paul Burton's avatar
      MIPS: eBPF: Always return sign extended 32b values · 13443154
      Paul Burton authored
      
      
      The function prototype used to call JITed eBPF code (ie. the type of the
      struct bpf_prog bpf_func field) returns an unsigned int. The MIPS n64
      ABI that MIPS64 kernels target defines that 32 bit integers should
      always be sign extended when passed in registers as either arguments or
      return values.
      
      This means that when returning any value which may not already be sign
      extended (ie. of type REG_64BIT or REG_32BIT_ZERO_EX) we need to perform
      that sign extension in order to comply with the n64 ABI. Without this we
      see strange looking test failures from test_bpf.ko, such as:
      
        test_bpf: #65 ALU64_MOV_X:
          dst = 4294967295 jited:1 ret -1 != -1 FAIL (1 times)
      
      Although the return value printed matches the expected value, this is
      only because printf is only examining the least significant 32 bits of
      the 64 bit register value we returned. The register holding the expected
      value is sign extended whilst the v0 register was set to a zero extended
      value by our JITed code, so when compared by a conditional branch
      instruction the values are not equal.
      
      We already handle this when the return value register is of type
      REG_32BIT_ZERO_EX, so simply extend this to also cover REG_64BIT.
      
      Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
      Fixes: b6bd53f9
      
       ("MIPS: Add missing file for eBPF JIT.")
      Cc: stable@vger.kernel.org # v4.13+
      Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
      13443154
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20190215' of git://git.kernel.dk/linux-block · 24f0a487
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Ensure we insert into the hctx dispatch list, if a request is marked
         as DONTPREP (Jianchao)
      
       - NVMe pull request, single missing unlock on error fix (Keith)
      
       - MD pull request, single fix for a potentially data corrupting issue
         (Nate)
      
       - Floppy check_events regression fix (Yufen)
      
      * tag 'for-linus-20190215' of git://git.kernel.dk/linux-block:
        md/raid1: don't clear bitmap bits on interrupted recovery.
        floppy: check_events callback should not return a negative number
        nvme-pci: add missing unlock for reset error
        blk-mq: insert rq with DONTPREP to hctx dispatch list when requeue
      24f0a487
    • Linus Torvalds's avatar
      Merge tag 'for-5.0/dm-fixes-3' of... · ae3fa8bd
      Linus Torvalds authored
      Merge tag 'for-5.0/dm-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix bug in DM crypt's sizing of its block integrity tag space,
         resulting in less memory use when DM crypt layers on DM integrity.
      
       - Fix a long-standing DM thinp crash consistency bug that was due to
         improper handling of FUA. This issue is specific to writes that fill
         an entire thinp block which needs to be allocated.
      
      * tag 'for-5.0/dm-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm thin: fix bug where bio that overwrites thin block ignores FUA
        dm crypt: don't overallocate the integrity tag space
      ae3fa8bd
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · dfeae337
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "A couple of MMC fixes intended for v5.0-rc7.
      
        MMC core:
         - Fix deadlock bug for block I/O requests
      
        MMC host:
         - sunxi: Disable broken HS-DDR mode for H5 by default
         - sunxi: Avoid unsupported speed modes declared via DT
         - meson-gx: Restore interrupt name"
      
      * tag 'mmc-v5.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: meson-gx: fix interrupt name
        mmc: block: handle complete_work on separate workqueue
        mmc: sunxi: Filter out unsupported modes declared in the device tree
        mmc: sunxi: Disable HS-DDR mode for H5 eMMC controller by default
      dfeae337
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2019-02-15-1' of git://anongit.freedesktop.org/drm/drm · 545aabcb
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Usual pull request, little larger than I'd like but nothing too
        strange in it. Willy found an bug in the lease ioctl calculations, but
        it's a drm master only ioctl which makes it harder to mess with.
      
       i915:
         - combo phy programming fix
         - opregion version check fix for VBT RVDA lookup
         - gem mmap ioctl race fix
         - fbdev hpd during suspend fix
         - array size bounds check fix in pmu
      
        amdgpu:
         - Vega20 psp fix
         - Add vrr range to debugfs for freesync debugging
      
        sched:
         - Scheduler race fix
      
        vkms:
         - license header fixups
      
        imx:
         - Fix CSI register offsets for i.MX51 and i.MX53.
         - Fix delayed page flip completion events on i.MX6QP due to
           unexpected behaviour of the PRE when issuing NOP buffer updates to
           the same buffer address.
         - Stop throwing errors for plane updates on disabled CRTCs when a
           userspace process is killed while a plane update is pending.
         - Add missing of_node_put cleanup in imx_ldb_bind"
      
      * tag 'drm-fixes-2019-02-15-1' of git://anongit.freedesktop.org/drm/drm:
        drm: Use array_size() when creating lease
        drm/amdgpu/psp11: TA firmware is optional (v3)
        drm/i915/opregion: rvda is relative from opregion base in opregion 2.1+
        drm/i915/opregion: fix version check
        drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set
        drm/i915: Block fbdev HPD processing during suspend
        drm/i915/pmu: Fix enable count array size and bounds checking
        drm/i915/cnl: Fix CNL macros for Voltage Swing programming
        drm/i915/icl: combo port vswing programming changes per BSPEC
        drm/vkms: Fix license inconsistent
        drm/amd/display: Expose connector VRR range via debugfs
        drm/sched: Always trace the dependencies we wait on, to fix a race.
        gpu: ipu-v3: pre: don't trigger update if buffer address doesn't change
        gpu: ipu-v3: Fix CSI offsets for imx53
        drm/imx: imx-ldb: add missing of_node_puts
        gpu: ipu-v3: Fix i.MX51 CSI control registers offset
        drm/imx: ignore plane updates on disabled crtcs
      545aabcb