02 Jun, 2019

2 commits

  • Prior to the adoption of SPDX, it was difficult for tools to determine
    the correct license due to incomplete or badly formatted license text.
    The SPDX solves this issue, assuming people can correctly spell
    "SPDX-License-Identifier" although this assumption is broken in some
    places.

    Since scripts/spdxcheck.py parses only lines that exactly matches to
    the correct tag, it cannot (should not) detect this kind of error.

    If the correct tag is missing, scripts/checkpatch.pl warns like this:

    WARNING: Missing or malformed SPDX-License-Identifier tag in line *

    So, people should notice it before the patch submission, but in reality
    broken tags sometimes slip in. The checkpatch warning is not useful for
    checking the committed files globally since large number of files still
    have no SPDX tag.

    Also, I am not sure about the legal effect when the SPDX tag is broken.

    Anyway, these typos are absolutely worth fixing. It is pretty easy to
    find suspicious lines by grep.

    $ git grep --not -e SPDX-License-Identifier --and -e SPDX- -- \
    :^LICENSES :^scripts/spdxcheck.py :^*/license-rules.rst
    arch/arm/kernel/bugs.c:// SPDX-Identifier: GPL-2.0
    drivers/phy/st/phy-stm32-usbphyc.c:// SPDX-Licence-Identifier: GPL-2.0
    drivers/pinctrl/sh-pfc/pfc-r8a77980.c:// SPDX-Lincense-Identifier: GPL 2.0
    lib/test_stackinit.c:// SPDX-Licenses: GPLv2
    sound/soc/codecs/max9759.c:// SPDX-Licence-Identifier: GPL-2.0

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Greg Kroah-Hartman

    Masahiro Yamada
     
  • Causes error: drivers/crypto/ux500/cryp/Makefile:5: *** missing
    separator. Stop.

    Fixes: af873fcecef5 ("treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 194")
    Signed-off-by: Alex Xu (Hello71)
    Signed-off-by: Greg Kroah-Hartman

    Alex Xu (Hello71)
     

31 May, 2019

38 commits

  • Pull yet more SPDX updates from Greg KH:
    "Here is another set of reviewed patches that adds SPDX tags to
    different kernel files, based on a set of rules that are being used to
    parse the comments to try to determine that the license of the file is
    "GPL-2.0-or-later" or "GPL-2.0-only". Only the "obvious" versions of
    these matches are included here, a number of "non-obvious" variants of
    text have been found but those have been postponed for later review
    and analysis.

    There is also a patch in here to add the proper SPDX header to a bunch
    of Kbuild files that we have missed in the past due to new files being
    added and forgetting that Kbuild uses two different file names for
    Makefiles. This issue was reported by the Kbuild maintainer.

    These patches have been out for review on the linux-spdx@vger mailing
    list, and while they were created by automatic tools, they were
    hand-verified by a bunch of different people, all whom names are on
    the patches are reviewers"

    * tag 'spdx-5.2-rc3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (82 commits)
    treewide: Add SPDX license identifier - Kbuild
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 225
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 224
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 223
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 222
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 221
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 220
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 218
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 217
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 216
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 215
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 214
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 213
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 211
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 210
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 209
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 207
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 203
    treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 201
    ...

    Linus Torvalds
     
  • Pull staging and IIO driver fixes from Greg KH:
    "Here are some Staging and IIO driver fixes to resolve some reported
    problems for 5.2-rc3.

    Nothing major here, just some tiny changes, full details are in the
    shortlog.

    All have been in linux-next for a while with no reported issues"

    * tag 'staging-5.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging: kpc2000: Add dependency on MFD_CORE to kconfig symbol 'KPC2000'
    staging: wilc1000: Fix some double unlock bugs in wilc_wlan_cleanup()
    staging: vc04_services: prevent integer overflow in create_pagelist()
    Staging: vc04_services: Fix a couple error codes
    staging: wlan-ng: fix adapter initialization failure
    staging: kpc2000: double unlock in error handling in kpc_dma_transfer()
    staging: kpc2000: Fix build error without CONFIG_UIO
    staging: kpc2000: fix build error on xtensa
    staging: erofs: set sb->s_root to NULL when failing from __getname()
    iio: adc: ti-ads8688: fix timestamp is not updated in buffer
    iio: dac: ds4422/ds4424 fix chip verification
    iio: imu: mpu6050: Fix FIFO layout for ICM20602
    iio: adc: ads124: avoid buffer overflow
    iio: adc: modify NPCM ADC read reference voltage

    Linus Torvalds
     
  • Pull tty/serial driver fixes from Greg KH:
    "Here are some small serial and TTY driver fixes for 5.2-rc3.

    Nothing major, just a number of fixes for reported issues. The fbcon
    core fix also resolves an issue, and was acked by the relevant
    maintainer to go through this tree.

    All of these have been in linux-next with no reported issues"

    * tag 'tty-5.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    vt/fbcon: deinitialize resources in visual_init() after failed memory allocation
    tty: max310x: Fix external crystal register setup
    serial: sh-sci: disable DMA for uart_console
    serial: imx: remove log spamming error message
    tty: serial: msm_serial: Fix XON/XOFF

    Linus Torvalds
     
  • Pull USB fixes from Greg KH:
    "Here are some tiny USB fixes for a number of reported issues for
    5.2-rc3.

    Nothing huge here, just a small collection of xhci and other driver
    bugs that syzbot has been finding in some drivers. There is also a
    usbip fix and a fix for the usbip fix in here :)

    All have been in linux-next with no reported issues"

    * tag 'usb-5.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    usbip: usbip_host: fix stub_dev lock context imbalance regression
    media: smsusb: better handle optional alignment
    xhci: Use %zu for printing size_t type
    xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()
    xhci: Fix immediate data transfer if buffer is already DMA mapped
    usb: xhci: avoid null pointer deref when bos field is NULL
    usb: xhci: Fix a potential null pointer dereference in xhci_debugfs_create_endpoint()
    xhci: update bounce buffer with correct sg num
    media: usb: siano: Fix false-positive "uninitialized variable" warning
    USB: rio500: update Documentation
    USB: rio500: simplify locking
    USB: rio500: fix memory leak in close after disconnect
    USB: rio500: refuse more than one device at a time
    usbip: usbip_host: fix BUG: sleeping function called from invalid context
    USB: sisusbvga: fix oops in error path of sisusb_probe
    USB: Add LPM quirk for Surface Dock GigE adapter
    media: usb: siano: Fix general protection fault in smsusb
    usb: mtu3: fix up undefined reference to usb_debug_root
    USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "Nothing too crazy, pretty quiet, maybe too quiet.

    amdgpu:
    - a fixed version of the raven firmware fix we previously reverted
    - stolen memory fix

    imx:
    - regression fix

    qxl:
    - remove a bad warning

    etnaviv:
    - VM locking fix"

    * tag 'drm-fixes-2019-05-31' of git://anongit.freedesktop.org/drm/drm:
    drm/amdgpu: reserve stollen vram for raven series
    drm/etnaviv: lock MMU while dumping core
    drm/imx: ipuv3-plane: fix atomic update status query for non-plus i.MX6Q
    drm/qxl: drop WARN_ONCE()
    drm/amd/display: Don't load DMCU for Raven 1 (v2)

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Fix OOPS during nf_tables rule dump, from Florian Westphal.

    2) Use after free in ip_vs_in, from Yue Haibing.

    3) Fix various kTLS bugs (NULL deref during device removal resync,
    netdev notification ignoring, etc.) From Jakub Kicinski.

    4) Fix ipv6 redirects with VRF, from David Ahern.

    5) Memory leak fix in igmpv3_del_delrec(), from Eric Dumazet.

    6) Missing memory allocation failure check in ip6_ra_control(), from
    Gen Zhang. And likewise fix ip_ra_control().

    7) TX clean budget logic error in aquantia, from Igor Russkikh.

    8) SKB leak in llc_build_and_send_ui_pkt(), from Eric Dumazet.

    9) Double frees in mlx5, from Parav Pandit.

    10) Fix lost MAC address in r8169 during PCI D3, from Heiner Kallweit.

    11) Fix botched register access in mvpp2, from Antoine Tenart.

    12) Use after free in napi_gro_frags(), from Eric Dumazet.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (89 commits)
    net: correct zerocopy refcnt with udp MSG_MORE
    ethtool: Check for vlan etype or vlan tci when parsing flow_rule
    net: don't clear sock->sk early to avoid trouble in strparser
    net-gro: fix use-after-free read in napi_gro_frags()
    net: dsa: tag_8021q: Create a stable binary format
    net: dsa: tag_8021q: Change order of rx_vid setup
    net: mvpp2: fix bad MVPP2_TXQ_SCHED_TOKEN_CNTR_REG queue value
    ipv4: tcp_input: fix stack out of bounds when parsing TCP options.
    mlxsw: spectrum: Prevent force of 56G
    mlxsw: spectrum_acl: Avoid warning after identical rules insertion
    net: dsa: mv88e6xxx: fix handling of upper half of STATS_TYPE_PORT
    r8169: fix MAC address being lost in PCI D3
    net: core: support XDP generic on stacked devices.
    netvsc: unshare skb in VF rx handler
    udp: Avoid post-GRO UDP checksum recalculation
    net: phy: dp83867: Set up RGMII TX delay
    net: phy: dp83867: do not call config_init twice
    net: phy: dp83867: increase SGMII autoneg timer duration
    net: phy: dp83867: fix speed 10 in sgmii mode
    net: phy: marvell10g: report if the PHY fails to boot firmware
    ...

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:
    "The fixes are still trickling in for arm64, but the only really
    significant one here is actually fixing a regression in the botched
    module relocation range checking merged for -rc2.

    Hopefully we've nailed it this time.

    - Fix implementation of our set_personality() system call, which
    wasn't being wrapped properly

    - Fix system call function types to keep CFI happy

    - Fix siginfo layout when delivering SIGKILL after a kernel fault

    - Really fix module relocation range checking"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: use the correct function type for __arm64_sys_ni_syscall
    arm64: use the correct function type in SYSCALL_DEFINE0
    arm64: fix syscall_fn_t type
    signal/arm64: Use force_sig not force_sig_fault for SIGKILL
    arm64/module: revert to unsigned interpretation of ABS16/32 relocations
    arm64: Fix the arm64_personality() syscall wrapper redirection

    Linus Torvalds
     
  • Pull btrfs fixes from David Sterba:
    "A few more fixes for bugs reported by users, fuzzing tools and
    regressions:

    - fix crashes in relocation:
    + resuming interrupted balance operation does not properly clean
    up orphan trees
    + with enabled qgroups, resuming needs to be more careful about
    block groups due to limited context when updating qgroups

    - fsync and logging fixes found by fuzzing

    - incremental send fixes for no-holes and clone

    - fix spin lock type used in timer function for zstd"

    * tag 'for-5.2-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
    Btrfs: fix race updating log root item during fsync
    Btrfs: fix wrong ctime and mtime of a directory after log replay
    Btrfs: fix fsync not persisting changed attributes of a directory
    btrfs: qgroup: Check bg while resuming relocation to avoid NULL pointer dereference
    btrfs: reloc: Also queue orphan reloc tree for cleanup to avoid BUG_ON()
    Btrfs: incremental send, fix emission of invalid clone operations
    Btrfs: incremental send, fix file corruption when no-holes feature is enabled
    btrfs: correct zstd workspace manager lock to use spin_lock_bh()
    btrfs: Ensure replaced device doesn't have pending chunk allocation

    Linus Torvalds
     
  • Pull configs fix from Christoph Hellwig:

    - fix a use after free in configfs_d_iput (Sahitya Tummala)

    * tag 'configfs-for-5.2-2' of git://git.infradead.org/users/hch/configfs:
    configfs: Fix use-after-free when accessing sd->s_dentry

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "No big surprises here, just a few device-specific fixes.

    HD-audio received several fixes for Acer, Dell, Huawei and other
    laptops as well as the workaround for the new Intel chipset. One
    significant one-liner fix is the disablement of the node-power saving
    on Realtek codecs, which may potentially cover annoying bugs like the
    background noises or click noises on many devices.

    Other than that, a fix for FireWire bit definitions, and another fix
    for LINE6 USB audio bug that was discovered by syzkaller"

    * tag 'sound-5.2-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: fireface: Use ULL suffixes for 64-bit constants
    ALSA: hda/realtek - Improve the headset mic for Acer Aspire laptops
    ALSA: line6: Assure canceling delayed work at disconnection
    ALSA: hda - Force polling mode on CNL for fixing codec communication
    ALSA: hda/realtek - Enable micmute LED for Huawei laptops
    ALSA: hda/realtek - Set default power save node to 0
    ALSA: hda/realtek - Check headset type by unplug and resume

    Linus Torvalds
     
  • Pull clk driver fixes from Stephen Boyd:

    - Don't expose the SiFive clk driver on non-RISCV architectures

    - Fix some bits describing clks in the imx8mm driver

    - Always call clk domain code in the TI driver so non-legacy platforms
    work

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    clk: ti: clkctrl: Fix clkdm_clk handling
    clk: imx: imx8mm: fix int pll clk gate
    clk: sifive: restrict Kconfig scope for the FU540 PRCI driver

    Linus Torvalds
     
  • drm/imx: ipuv3-plane: fix frame rate regression on non-plus i.MX6Q

    Fix a regression introduced by 70e8a0c71e9 ("drm/imx: ipuv3-plane: add
    function to query atomic update status") that halves the frame rate on
    non-plus i.MX6Q, because the pending check always returns "pending"
    even if an update is actually applied.

    Signed-off-by: Dave Airlie

    From: Philipp Zabel
    Link: https://patchwork.freedesktop.org/patch/msgid/1559128738.3651.4.camel@pengutronix.de

    Dave Airlie
     
  • TCP zerocopy takes a uarg reference for every skb, plus one for the
    tcp_sendmsg_locked datapath temporarily, to avoid reaching refcnt zero
    as it builds, sends and frees skbs inside its inner loop.

    UDP and RAW zerocopy do not send inside the inner loop so do not need
    the extra sock_zerocopy_get + sock_zerocopy_put pair. Commit
    52900d22288ed ("udp: elide zerocopy operation in hot path") introduced
    extra_uref to pass the initial reference taken in sock_zerocopy_alloc
    to the first generated skb.

    But, sock_zerocopy_realloc takes this extra reference at the start of
    every call. With MSG_MORE, no new skb may be generated to attach the
    extra_uref to, so refcnt is incorrectly 2 with only one skb.

    Do not take the extra ref if uarg && !tcp, which implies MSG_MORE.
    Update extra_uref accordingly.

    This conditional assignment triggers a false positive may be used
    uninitialized warning, so have to initialize extra_uref at define.

    Changes v1->v2: fix typo in Fixes SHA1

    Fixes: 52900d22288e7 ("udp: elide zerocopy operation in hot path")
    Reported-by: syzbot
    Diagnosed-by: Eric Dumazet
    Signed-off-by: Willem de Bruijn
    Signed-off-by: David S. Miller

    Willem de Bruijn
     
  • When parsing an ethtool flow spec to build a flow_rule, the code checks
    if both the vlan etype and the vlan tci are specified by the user to add
    a FLOW_DISSECTOR_KEY_VLAN match.

    However, when the user only specified a vlan etype or a vlan tci, this
    check silently ignores these parameters.

    For example, the following rule :

    ethtool -N eth0 flow-type udp4 vlan 0x0010 action -1 loc 0

    will result in no error being issued, but the equivalent rule will be
    created and passed to the NIC driver :

    ethtool -N eth0 flow-type udp4 action -1 loc 0

    In the end, neither the NIC driver using the rule nor the end user have
    a way to know that these keys were dropped along the way, or that
    incorrect parameters were entered.

    This kind of check should be left to either the driver, or the ethtool
    flow spec layer.

    This commit makes so that ethtool parameters are forwarded as-is to the
    NIC driver.

    Since none of the users of ethtool_rx_flow_rule_create are using the
    VLAN dissector, I don't think this qualifies as a regression.

    Fixes: eca4205f9ec3 ("ethtool: add ethtool_rx_flow_spec to flow_rule structure translator")
    Signed-off-by: Maxime Chevallier
    Acked-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Maxime Chevallier
     
  • af_inet sets sock->sk to NULL which trips strparser over:

    BUG: kernel NULL pointer dereference, address: 0000000000000012
    PGD 0 P4D 0
    Oops: 0000 [#1] SMP PTI
    CPU: 7 PID: 0 Comm: swapper/7 Not tainted 5.2.0-rc1-00139-g14629453a6d3 #21
    RIP: 0010:tcp_peek_len+0x10/0x60
    RSP: 0018:ffffc02e41c54b98 EFLAGS: 00010246
    RAX: 0000000000000000 RBX: ffff9cf924c4e030 RCX: 0000000000000051
    RDX: 0000000000000000 RSI: 000000000000000c RDI: ffff9cf97128f480
    RBP: ffff9cf9365e0300 R08: ffff9cf94fe7d2c0 R09: 0000000000000000
    R10: 000000000000036b R11: ffff9cf939735e00 R12: ffff9cf91ad9ae40
    R13: ffff9cf924c4e000 R14: ffff9cf9a8fcbaae R15: 0000000000000020
    FS: 0000000000000000(0000) GS:ffff9cf9af7c0000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    CR2: 0000000000000012 CR3: 000000013920a003 CR4: 00000000003606e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    Call Trace:

    strp_data_ready+0x48/0x90
    tls_data_ready+0x22/0xd0 [tls]
    tcp_rcv_established+0x569/0x620
    tcp_v4_do_rcv+0x127/0x1e0
    tcp_v4_rcv+0xad7/0xbf0
    ip_protocol_deliver_rcu+0x2c/0x1c0
    ip_local_deliver_finish+0x41/0x50
    ip_local_deliver+0x6b/0xe0
    ? ip_protocol_deliver_rcu+0x1c0/0x1c0
    ip_rcv+0x52/0xd0
    ? ip_rcv_finish_core.isra.20+0x380/0x380
    __netif_receive_skb_one_core+0x7e/0x90
    netif_receive_skb_internal+0x42/0xf0
    napi_gro_receive+0xed/0x150
    nfp_net_poll+0x7a2/0xd30 [nfp]
    ? kmem_cache_free_bulk+0x286/0x310
    net_rx_action+0x149/0x3b0
    __do_softirq+0xe3/0x30a
    ? handle_irq_event_percpu+0x6a/0x80
    irq_exit+0xe8/0xf0
    do_IRQ+0x85/0xd0
    common_interrupt+0xf/0xf

    RIP: 0010:cpuidle_enter_state+0xbc/0x450

    To avoid this issue set sock->sk after sk_prot->close.
    My grepping and testing did not discover any code which
    would depend on the current behaviour.

    Fixes: c46234ebb4d1 ("tls: RX path for ktls")
    Reported-by: David Beckett
    Signed-off-by: Jakub Kicinski
    Reviewed-by: Dirk van der Merwe
    Signed-off-by: David S. Miller

    Jakub Kicinski
     
  • If a network driver provides to napi_gro_frags() an
    skb with a page fragment of exactly 14 bytes, the call
    to gro_pull_from_frag0() will 'consume' the fragment
    by calling skb_frag_unref(skb, 0), and the page might
    be freed and reused.

    Reading eth->h_proto at the end of napi_frags_skb() might
    read mangled data, or crash under specific debugging features.

    BUG: KASAN: use-after-free in napi_frags_skb net/core/dev.c:5833 [inline]
    BUG: KASAN: use-after-free in napi_gro_frags+0xc6f/0xd10 net/core/dev.c:5841
    Read of size 2 at addr ffff88809366840c by task syz-executor599/8957

    CPU: 1 PID: 8957 Comm: syz-executor599 Not tainted 5.2.0-rc1+ #32
    Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
    Call Trace:
    __dump_stack lib/dump_stack.c:77 [inline]
    dump_stack+0x172/0x1f0 lib/dump_stack.c:113
    print_address_description.cold+0x7c/0x20d mm/kasan/report.c:188
    __kasan_report.cold+0x1b/0x40 mm/kasan/report.c:317
    kasan_report+0x12/0x20 mm/kasan/common.c:614
    __asan_report_load_n_noabort+0xf/0x20 mm/kasan/generic_report.c:142
    napi_frags_skb net/core/dev.c:5833 [inline]
    napi_gro_frags+0xc6f/0xd10 net/core/dev.c:5841
    tun_get_user+0x2f3c/0x3ff0 drivers/net/tun.c:1991
    tun_chr_write_iter+0xbd/0x156 drivers/net/tun.c:2037
    call_write_iter include/linux/fs.h:1872 [inline]
    do_iter_readv_writev+0x5f8/0x8f0 fs/read_write.c:693
    do_iter_write fs/read_write.c:970 [inline]
    do_iter_write+0x184/0x610 fs/read_write.c:951
    vfs_writev+0x1b3/0x2f0 fs/read_write.c:1015
    do_writev+0x15b/0x330 fs/read_write.c:1058

    Fixes: a50e233c50db ("net-gro: restore frag0 optimization")
    Signed-off-by: Eric Dumazet
    Reported-by: syzbot
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Vladimir Oltean says:

    ====================
    Fixes for DSA tagging using 802.1Q

    During the prototyping for the "Decoupling PHYLINK from struct
    net_device" patchset, the CPU port of the sja1105 driver was moved to a
    different spot. This uncovered an issue in the tag_8021q DSA code,
    which used to work by mistake - the CPU port was the last hardware port
    numerically, and this was masking an ordering issue which is very likely
    to be seen in other drivers that make use of 802.1Q tags.

    A question was also raised whether the VID numbers bear any meaning, and
    the conclusion was that they don't, at least not in an absolute sense.
    The second patch defines bit fields inside the DSA 802.1Q VID so that
    tcpdump can decode it unambiguously (although the meaning is now clear
    even by visual inspection).
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Tools like tcpdump need to be able to decode the significance of fake
    VLAN headers that DSA uses to separate switch ports.

    But currently these have no global significance - they are simply an
    ordered list of DSA_MAX_SWITCHES x DSA_MAX_PORTS numbers ending at 4095.

    The reason why this is submitted as a fix is that the existing mapping
    of VIDs should not enter into a stable kernel, so we can pretend that
    only the new format exists. This way tcpdump won't need to try to make
    something out of the VLAN tags on 5.2 kernels.

    Fixes: f9bbe4477c30 ("net: dsa: Optional VLAN-based port separation for switches without tagging")
    Signed-off-by: Vladimir Oltean
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Vladimir Oltean
     
  • The 802.1Q tagging performs an unbalanced setup in terms of RX VIDs on
    the CPU port. For the ingress path of a 802.1Q switch to work, the RX
    VID of a port needs to be seen as tagged egress on the CPU port.

    While configuring the other front-panel ports to be part of this VID,
    for bridge scenarios, the untagged flag is applied even on the CPU port
    in dsa_switch_vlan_add. This happens because DSA applies the same flags
    on the CPU port as on the (bridge-controlled) slave ports, and the
    effect in this case is that the CPU port tagged settings get deleted.

    Instead of fixing DSA by introducing a way to control VLAN flags on the
    CPU port (and hence stop inheriting from the slave ports) - a hard,
    perhaps intractable problem - avoid this situation by moving the setup
    part of the RX VID on the CPU port after all the other front-panel ports
    have been added to the VID.

    Fixes: f9bbe4477c30 ("net: dsa: Optional VLAN-based port separation for switches without tagging")
    Signed-off-by: Ioana Ciornei
    Signed-off-by: Vladimir Oltean
    Reviewed-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Ioana Ciornei
     
  • MVPP2_TXQ_SCHED_TOKEN_CNTR_REG() expects the logical queue id but
    the current code is passing the global tx queue offset, so it ends
    up writing to unknown registers (between 0x8280 and 0x82fc, which
    seemed to be unused by the hardware). This fixes the issue by using
    the logical queue id instead.

    Fixes: 3f518509dedc ("ethernet: Add new driver for Marvell Armada 375 network unit")
    Signed-off-by: Antoine Tenart
    Signed-off-by: David S. Miller

    Antoine Tenart
     
  • The TCP option parsing routines in tcp_parse_options function could
    read one byte out of the buffer of the TCP options.

    1 while (length > 0) {
    2 int opcode = *ptr++;
    3 int opsize;
    4
    5 switch (opcode) {
    6 case TCPOPT_EOL:
    7 return;
    8 case TCPOPT_NOP: /* Ref: RFC 793 section 3.1 */
    9 length--;
    10 continue;
    11 default:
    12 opsize = *ptr++; //out of bound access

    If length = 1, then there is an access in line2.
    And another access is occurred in line 12.
    This would lead to out-of-bound access.

    Therefore, in the patch we check that the available data length is
    larger enough to pase both TCP option code and size.

    Signed-off-by: Young Xiao
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Young Xiao
     
  • Ido Schimmel says:

    ====================
    mlxsw: Two small fixes

    Patch #1 from Jiri fixes an issue specific to Spectrum-2 where the
    insertion of two identical flower filters with different priorities
    would trigger a warning.

    Patch #2 from Amit prevents the driver from trying to configure a port
    with a speed of 56Gb/s and autoneg off as this is not supported and
    results in error messages from firmware.

    Please consider patch #1 for stable.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Force of 56G is not supported by hardware in Ethernet devices. This
    configuration fails with a bad parameter error from firmware.

    Add check of this case. Instead of trying to set 56G with autoneg off,
    return a meaningful error.

    Fixes: 56ade8fe3fe1 ("mlxsw: spectrum: Add initial support for Spectrum ASIC")
    Signed-off-by: Amit Cohen
    Acked-by: Jiri Pirko
    Signed-off-by: Ido Schimmel
    Signed-off-by: David S. Miller

    Amit Cohen
     
  • When identical rules are inserted, the latter one goes to C-TCAM. For
    that, a second eRP with the same mask is created. These 2 eRPs by the
    nature cannot be merged and also one cannot be parent of another.
    Teach mlxsw_sp_acl_erp_delta_fill() about this possibility and handle it
    gracefully.

    Reported-by: Alex Kushnarov
    Fixes: c22291f7cf45 ("mlxsw: spectrum: acl: Implement delta for ERP")
    Signed-off-by: Jiri Pirko
    Signed-off-by: Ido Schimmel
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Currently, the upper half of a 4-byte STATS_TYPE_PORT statistic ends
    up in bits 47:32 of the return value, instead of bits 31:16 as they
    should.

    Fixes: 6e46e2d821bb ("net: dsa: mv88e6xxx: Fix u64 statistics")
    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Vivien Didelot
    Signed-off-by: David S. Miller

    Rasmus Villemoes
     
  • (At least) RTL8168e forgets its MAC address in PCI D3. To fix this set
    the MAC address when resuming. For resuming from runtime-suspend we
    had this in place already, for resuming from S3/S5 it was missing.

    The commit referenced as being fixed isn't wrong, it's just the first
    one where the patch applies cleanly.

    Fixes: 0f07bd850d36 ("r8169: use dev_get_drvdata where possible")
    Signed-off-by: Heiner Kallweit
    Reported-by: Albert Astals Cid
    Tested-by: Albert Astals Cid
    Signed-off-by: David S. Miller

    Heiner Kallweit
     
  • Saeed Mahameed says:

    ====================
    Mellanox, mlx5 fixes 2019-05-28

    This series introduces some fixes to mlx5 driver.

    Please pull and let me know if there is any problem.

    For -stable v4.13:
    ('net/mlx5: Allocate root ns memory using kzalloc to match kfree')

    For -stable v4.16:
    ('net/mlx5: Avoid double free in fs init error unwinding path')

    For -stable v4.18:
    ('net/mlx5e: Disable rxhash when CQE compress is enabled')
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Add SPDX license identifiers to all Make/Kconfig files which:

    - Have no license information of any form

    These files fall under the project license, GPL v2 only. The resulting SPDX
    license identifier is:

    GPL-2.0

    Reported-by: Masahiro Yamada
    Signed-off-by: Greg Kroah-Hartman
    Reviewed-by: Kate Stewart
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Based on 1 normalized pattern(s):

    subject to the gnu public license version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Steve Winslow
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171440.319650492@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    subject to the gnu public license v2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Reviewed-by: Steve Winslow
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171440.222651153@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    subject to the gnu public license v 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 9 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Reviewed-by: Steve Winslow
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171440.130801526@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    license gplv2 this program is free software you can redistribute it
    and or modify it under the terms and conditions of the gnu general
    public license version 2 as published by the free software
    foundation this program is distributed in the hope it will be useful
    but without any warranty without even the implied warranty of
    merchantability or fitness for a particular purpose see the gnu
    general public license for more details you should have received a
    copy of the gnu general public license along with this program if
    not write to the free software foundation inc 51 franklin st fifth
    floor boston ma 02110 1301 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Steve Winslow
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171440.038486796@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    gpl version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Reviewed-by: Steve Winslow
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171439.945432253@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    distributed under the gnu gpl license version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Alexios Zavras
    Reviewed-by: Steve Winslow
    Reviewed-by: Kate Stewart
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171439.854676954@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    you may use this code as per gpl version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 5 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Steve Winslow
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171439.762454146@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    distributed under the terms of the gpl version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Steve Winslow
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171439.671734884@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this file distributed under the gpl version 2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Steve Winslow
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171439.580924717@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this code is licenced under the gpl version 2 as described in the
    copying file that acompanies the linux kernel

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 1 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Alexios Zavras
    Reviewed-by: Allison Randal
    Reviewed-by: Steve Winslow
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190528171439.466585205@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner