1. 16 7月, 2019 3 次提交
    • F
      ethernet: remove redundant memset · 3a5ee3b3
      Fuqian Huang 提交于
      kvzalloc already zeroes the memory during the allocation.
      pci_alloc_consistent calls dma_alloc_coherent directly.
      In commit 518a2f19
      ("dma-mapping: zero memory returned from dma_alloc_*"),
      dma_alloc_coherent has already zeroed the memory.
      So the memset after these function is not needed.
      Signed-off-by: NFuqian Huang <huangfq.daxian@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3a5ee3b3
    • F
      atm: idt77252: Remove call to memset after dma_alloc_coherent · cef86f15
      Fuqian Huang 提交于
      In commit 518a2f19
      ("dma-mapping: zero memory returned from dma_alloc_*"),
      dma_alloc_coherent has already zeroed the memory.
      So memset is not needed.
      Signed-off-by: NFuqian Huang <huangfq.daxian@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cef86f15
    • L
      net: neigh: fix multiple neigh timer scheduling · 071c3798
      Lorenzo Bianconi 提交于
      Neigh timer can be scheduled multiple times from userspace adding
      multiple neigh entries and forcing the neigh timer scheduling passing
      NTF_USE in the netlink requests.
      This will result in a refcount leak and in the following dump stack:
      
      [   32.465295] NEIGH: BUG, double timer add, state is 8
      [   32.465308] CPU: 0 PID: 416 Comm: double_timer_ad Not tainted 5.2.0+ #65
      [   32.465311] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.12.0-2.fc30 04/01/2014
      [   32.465313] Call Trace:
      [   32.465318]  dump_stack+0x7c/0xc0
      [   32.465323]  __neigh_event_send+0x20c/0x880
      [   32.465326]  ? ___neigh_create+0x846/0xfb0
      [   32.465329]  ? neigh_lookup+0x2a9/0x410
      [   32.465332]  ? neightbl_fill_info.constprop.0+0x800/0x800
      [   32.465334]  neigh_add+0x4f8/0x5e0
      [   32.465337]  ? neigh_xmit+0x620/0x620
      [   32.465341]  ? find_held_lock+0x85/0xa0
      [   32.465345]  rtnetlink_rcv_msg+0x204/0x570
      [   32.465348]  ? rtnl_dellink+0x450/0x450
      [   32.465351]  ? mark_held_locks+0x90/0x90
      [   32.465354]  ? match_held_lock+0x1b/0x230
      [   32.465357]  netlink_rcv_skb+0xc4/0x1d0
      [   32.465360]  ? rtnl_dellink+0x450/0x450
      [   32.465363]  ? netlink_ack+0x420/0x420
      [   32.465366]  ? netlink_deliver_tap+0x115/0x560
      [   32.465369]  ? __alloc_skb+0xc9/0x2f0
      [   32.465372]  netlink_unicast+0x270/0x330
      [   32.465375]  ? netlink_attachskb+0x2f0/0x2f0
      [   32.465378]  netlink_sendmsg+0x34f/0x5a0
      [   32.465381]  ? netlink_unicast+0x330/0x330
      [   32.465385]  ? move_addr_to_kernel.part.0+0x20/0x20
      [   32.465388]  ? netlink_unicast+0x330/0x330
      [   32.465391]  sock_sendmsg+0x91/0xa0
      [   32.465394]  ___sys_sendmsg+0x407/0x480
      [   32.465397]  ? copy_msghdr_from_user+0x200/0x200
      [   32.465401]  ? _raw_spin_unlock_irqrestore+0x37/0x40
      [   32.465404]  ? lockdep_hardirqs_on+0x17d/0x250
      [   32.465407]  ? __wake_up_common_lock+0xcb/0x110
      [   32.465410]  ? __wake_up_common+0x230/0x230
      [   32.465413]  ? netlink_bind+0x3e1/0x490
      [   32.465416]  ? netlink_setsockopt+0x540/0x540
      [   32.465420]  ? __fget_light+0x9c/0xf0
      [   32.465423]  ? sockfd_lookup_light+0x8c/0xb0
      [   32.465426]  __sys_sendmsg+0xa5/0x110
      [   32.465429]  ? __ia32_sys_shutdown+0x30/0x30
      [   32.465432]  ? __fd_install+0xe1/0x2c0
      [   32.465435]  ? lockdep_hardirqs_off+0xb5/0x100
      [   32.465438]  ? mark_held_locks+0x24/0x90
      [   32.465441]  ? do_syscall_64+0xf/0x270
      [   32.465444]  do_syscall_64+0x63/0x270
      [   32.465448]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      
      Fix the issue unscheduling neigh_timer if selected entry is in 'IN_TIMER'
      receiving a netlink request with NTF_USE flag set
      Reported-by: NMarek Majkowski <marek@cloudflare.com>
      Fixes: 0c5c2d30 ("neigh: Allow for user space users of the neighbour table")
      Signed-off-by: NLorenzo Bianconi <lorenzo.bianconi@redhat.com>
      Reviewed-by: NDavid Ahern <dsahern@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      071c3798
  2. 15 7月, 2019 4 次提交
  3. 14 7月, 2019 12 次提交
    • V
      bonding: add documentation for peer_notif_delay · 0307d589
      Vincent Bernat 提交于
      Ability to tweak the interval between peer notifications has been
      added in 07a4ddec ("bonding: add an option to specify a delay
      between peer notifications") but the documentation was not updated.
      Signed-off-by: NVincent Bernat <vincent@bernat.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0307d589
    • H
      r8169: fix issue with confused RX unit after PHY power-down on RTL8411b · fe4e8db0
      Heiner Kallweit 提交于
      On RTL8411b the RX unit gets confused if the PHY is powered-down.
      This was reported in [0] and confirmed by Realtek. Realtek provided
      a sequence to fix the RX unit after PHY wakeup.
      
      The issue itself seems to have been there longer, the Fixes tag
      refers to where the fix applies properly.
      
      [0] https://bugzilla.redhat.com/show_bug.cgi?id=1692075
      
      Fixes: a99790bf ("r8169: Reinstate ASPM Support")
      Tested-by: NIonut Radu <ionut.radu@gmail.com>
      Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fe4e8db0
    • L
      Merge tag 'powerpc-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 192f0f8e
      Linus Torvalds 提交于
      Pull powerpc updates from Michael Ellerman:
       "Notable changes:
      
         - Removal of the NPU DMA code, used by the out-of-tree Nvidia driver,
           as well as some other functions only used by drivers that haven't
           (yet?) made it upstream.
      
         - A fix for a bug in our handling of hardware watchpoints (eg. perf
           record -e mem: ...) which could lead to register corruption and
           kernel crashes.
      
         - Enable HAVE_ARCH_HUGE_VMAP, which allows us to use large pages for
           vmalloc when using the Radix MMU.
      
         - A large but incremental rewrite of our exception handling code to
           use gas macros rather than multiple levels of nested CPP macros.
      
        And the usual small fixes, cleanups and improvements.
      
        Thanks to: Alastair D'Silva, Alexey Kardashevskiy, Andreas Schwab,
        Aneesh Kumar K.V, Anju T Sudhakar, Anton Blanchard, Arnd Bergmann,
        Athira Rajeev, Cédric Le Goater, Christian Lamparter, Christophe
        Leroy, Christophe Lombard, Christoph Hellwig, Daniel Axtens, Denis
        Efremov, Enrico Weigelt, Frederic Barrat, Gautham R. Shenoy, Geert
        Uytterhoeven, Geliang Tang, Gen Zhang, Greg Kroah-Hartman, Greg Kurz,
        Gustavo Romero, Krzysztof Kozlowski, Madhavan Srinivasan, Masahiro
        Yamada, Mathieu Malaterre, Michael Neuling, Nathan Lynch, Naveen N.
        Rao, Nicholas Piggin, Nishad Kamdar, Oliver O'Halloran, Qian Cai, Ravi
        Bangoria, Sachin Sant, Sam Bobroff, Satheesh Rajendran, Segher
        Boessenkool, Shaokun Zhang, Shawn Anastasio, Stewart Smith, Suraj
        Jitindar Singh, Thiago Jung Bauermann, YueHaibing"
      
      * tag 'powerpc-5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (163 commits)
        powerpc/powernv/idle: Fix restore of SPRN_LDBAR for POWER9 stop state.
        powerpc/eeh: Handle hugepages in ioremap space
        ocxl: Update for AFU descriptor template version 1.1
        powerpc/boot: pass CONFIG options in a simpler and more robust way
        powerpc/boot: add {get, put}_unaligned_be32 to xz_config.h
        powerpc/irq: Don't WARN continuously in arch_local_irq_restore()
        powerpc/module64: Use symbolic instructions names.
        powerpc/module32: Use symbolic instructions names.
        powerpc: Move PPC_HA() PPC_HI() and PPC_LO() to ppc-opcode.h
        powerpc/module64: Fix comment in R_PPC64_ENTRY handling
        powerpc/boot: Add lzo support for uImage
        powerpc/boot: Add lzma support for uImage
        powerpc/boot: don't force gzipped uImage
        powerpc/8xx: Add microcode patch to move SMC parameter RAM.
        powerpc/8xx: Use IO accessors in microcode programming.
        powerpc/8xx: replace #ifdefs by IS_ENABLED() in microcode.c
        powerpc/8xx: refactor programming of microcode CPM params.
        powerpc/8xx: refactor printing of microcode patch name.
        powerpc/8xx: Refactor microcode write
        powerpc/8xx: refactor writing of CPM microcode arrays
        ...
      192f0f8e
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · ec924975
      Linus Torvalds 提交于
      Pull sparc updates from David Miller:
       "Just a few small changes:
      
         - Fix console naming inconsistency with hypervisor consoles, from
           John Paul Adrian Glaubitz
      
         - Fix userland compilation due to use of u_int, from Masahiro Yamada"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Add missing newline at end of file
        sparc: fix unknown type name u_int in uapi header
        sparc: configs: Remove useless UEVENT_HELPER_PATH
        sparc: Remove redundant copy of the LGPL-2.0
        sunhv: Fix device naming inconsistency between sunhv_console and sunhv_reg
      ec924975
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · d1210929
      Linus Torvalds 提交于
      Pull networking fixes from David Miller:
      
       1) Fix excessive stack usage in cxgb4, from Arnd Bergmann.
      
       2) Missing skb queue lock init in tipc, from Chris Packham.
      
       3) Fix some regressions in ipv6 flow label handling, from Eric Dumazet.
      
       4) Elide flow dissection of local packets in FIB rules, from Petar
          Penkov.
      
       5) Fix TLS support build failure in mlx5, from Tariq Toukab.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (36 commits)
        ppp: mppe: Revert "ppp: mppe: Add softdep to arc4"
        net: dsa: qca8k: replace legacy gpio include
        net: hisilicon: Use devm_platform_ioremap_resource
        cxgb4: reduce kernel stack usage in cudbg_collect_mem_region()
        tipc: ensure head->lock is initialised
        tc-tests: updated skbedit tests
        nfp: flower: ensure ip protocol is specified for L4 matches
        nfp: flower: fix ethernet check on match fields
        net/mlx5e: Provide cb_list pointer when setting up tc block on rep
        net: phy: make exported variables non-static
        net: sched: Fix NULL-pointer dereference in tc_indr_block_ing_cmd()
        davinci_cpdma: don't cast dma_addr_t to pointer
        net: openvswitch: do not update max_headroom if new headroom is equal to old headroom
        net/mlx5e: Convert single case statement switch statements into if statements
        net/mlx5: E-Switch, Reduce ingress acl modify metadata stack usage
        net/mlx5e: Fix unused variable warning when CONFIG_MLX5_ESWITCH is off
        net/mlx5e: Fix compilation error in TLS code
        ipv6: fix static key imbalance in fl_create()
        ipv6: fix potential crash in ip6_datagram_dst_update()
        ipv6: tcp: fix flowlabels reflection for RST packets
        ...
      d1210929
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide · 1fa91854
      Linus Torvalds 提交于
      Pull IDE update from David Miller:
       "Small cleanup"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide:
        ide: use BIT() macro for defining bit-flags
      1fa91854
    • L
      Merge tag 'mtd/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 3f069622
      Linus Torvalds 提交于
      Pull MTD updates from Miquel Raynal:
       "This contains the following changes for MTD:
      
        MTD core changes:
         - New Hyperbus framework
         - New _is_locked (concat) implementation
         - Various cleanups
      
        NAND core changes:
         - use longest matching pattern in ->exec_op() default parser
         - export NAND operation tracer
         - add flag to indicate panic_write in MTD
         - use kzalloc() instead of kmalloc() and memset()
      
        Raw NAND controller drivers changes:
         - brcmnand:
             - fix BCH ECC layout for large page NAND parts
             - fallback to detected ecc-strength, ecc-step-size
             - when oops in progress use pio and interrupt polling
             - code refactor code to introduce helper functions
             - add support for v7.3 controller
         - FSMC:
             - use nand_op_trace for operation tracing
         - GPMI:
             - move all driver code into single file
             - various cleanups (including dmaengine changes)
             - use runtime PM to manage clocks
             - implement exec_op
         - MTK:
             - correct low level time calculation of r/w cycle
             - improve data sampling timing for read cycle
             - add validity check for CE# pin setting
             - fix wrongly assigned OOB buffer pointer issue
             - re-license MTK NAND driver as Dual MIT/GPL
         - STM32:
             - manage the get_irq error case
             - increase DMA completion timeouts
      
        Raw NAND chips drivers changes:
         - Macronix: add read-retry support
      
        Onenand driver changes:
         - add support for 8Gb datasize chips
         - avoid fall-through warnings
      
        SPI-NAND changes:
         - define macros for page-read ops with three-byte addresses
         - add support for two-byte device IDs and then for GigaDevice
           GD5F1GQ4UFxxG
         - add initial support for Paragon PN26G0xA
         - handle the case where the last page read has bitflips
      
        SPI-NOR core changes:
         - add support for the mt25ql02g and w25q16jv flashes
         - print error in case of jedec read id fails
         - is25lp256: add post BFPT fix to correct the addr_width
      
        SPI NOR controller drivers changes:
         - intel-spi: Add support for Intel Elkhart Lake SPI serial flash
         - smt32: remove the driver as the driver was replaced by spi-stm32-qspi.c
         - cadence-quadspi: add reset control"
      
      * tag 'mtd/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (60 commits)
        mtd: concat: implement _is_locked mtd operation
        mtd: concat: refactor concat_lock/concat_unlock
        mtd: abi: do not use C++ style comments in uapi header
        mtd: afs: remove unneeded NULL check
        mtd: rawnand: stm32_fmc2: increase DMA completion timeouts
        mtd: rawnand: Use kzalloc() instead of kmalloc() and memset()
        mtd: hyperbus: Add driver for TI's HyperBus memory controller
        mtd: spinand: read returns badly if the last page has bitflips
        mtd: spinand: Add initial support for Paragon PN26G0xA
        mtd: rawnand: mtk: Re-license MTK NAND driver as Dual MIT/GPL
        mtd: rawnand: gpmi: remove double assignment to block_size
        dt-bindings: mtd: brcmnand: Add brcmnand, brcmnand-v7.3 support
        mtd: rawnand: brcmnand: Add support for v7.3 controller
        mtd: rawnand: brcmnand: Refactored code to introduce helper functions
        mtd: rawnand: brcmnand: When oops in progress use pio and interrupt polling
        mtd: Add flag to indicate panic_write
        mtd: rawnand: Add Macronix NAND read retry support
        mtd: onenand: Avoid fall-through warnings
        mtd: spinand: Add support for GigaDevice GD5F1GQ4UFxxG
        mtd: spinand: Add support for two-byte device IDs
        ...
      3f069622
    • L
      Merge tag 'for-5.3/dm-changes' of... · 22608405
      Linus Torvalds 提交于
      Merge tag 'for-5.3/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper updates from Mike Snitzer:
      
       - Add encrypted byte-offset initialization vector (eboiv) to DM crypt.
      
       - Add optional discard features to DM snapshot which allow freeing
         space from a DM device whose free space was exhausted.
      
       - Various small improvements to use struct_size() and kzalloc().
      
       - Fix to check if DM thin metadata is in fail_io mode before attempting
         to update the superblock to set the needs_check flag. Otherwise the
         DM thin-pool can hang.
      
       - Fix DM bufio shrinker's potential for ABBA recursion deadlock with DM
         thin provisioning on loop usecase.
      
      * tag 'for-5.3/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm bufio: fix deadlock with loop device
        dm snapshot: add optional discard support features
        dm crypt: implement eboiv - encrypted byte-offset initialization vector
        dm crypt: remove obsolete comment about plumb IV
        dm crypt: wipe private IV struct after key invalid flag is set
        dm integrity: use kzalloc() instead of kmalloc() + memset()
        dm: update stale comment in end_clone_bio()
        dm log writes: fix incorrect comment about the logged sequence example
        dm log writes: use struct_size() to calculate size of pending_block
        dm crypt: use struct_size() when allocating encryption context
        dm integrity: always set version on superblock update
        dm thin metadata: check if in fail_io mode when setting needs_check
      22608405
    • L
      Merge tag 'for-linus-5.3' of git://github.com/cminyard/linux-ipmi · 92adeb61
      Linus Torvalds 提交于
      Pull IPMI updates from Corey Minyard:
       "Some small fixes for various things, nothing huge, mostly found by
        automated tools.
      
        Plus add a driver that allows Linux to act as an IPMB slave device, so
        it can be a satellite MC in an IPMI network"
      
      * tag 'for-linus-5.3' of git://github.com/cminyard/linux-ipmi:
        docs: ipmb: place it at driver-api and convert to ReST
        fix platform_no_drv_owner.cocci warnings
        ipmi: ipmb: don't allocate i2c_client on stack
        ipmi: ipmb: Fix build error while CONFIG_I2C is set to m
        Add support for IPMB driver
        drivers: ipmi: Drop device reference
        ipmi_ssif: fix unexpected driver unregister warning
        ipmi_si: use bool type for initialized variable
        ipmi_si: fix unexpected driver unregister warning
      92adeb61
    • L
      Merge tag 'pinctrl-v5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 43c95d36
      Linus Torvalds 提交于
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v5.3 kernel cycle:
      
        Core changes:
      
         - Device links can optionally be added between a pin control producer
           and its consumers. This will affect how the system power management
           is handled: a pin controller will not suspend before all of its
           consumers have been suspended.
      
           This was necessary for the ST Microelectronics STMFX expander and
           need to be tested on other systems as well: it makes sense to make
           this default in the long run.
      
           Right now it is opt-in per driver.
      
         - Drive strength can be specified in microamps. With decreases in
           silicon technology, milliamps isn't granular enough, let's make it
           possible to select drive strengths in microamps.
      
           Right now the Meson (AMlogic) driver needs this.
      
        New drivers:
      
         - New subdriver for the Tegra 194 SoC.
      
         - New subdriver for the Qualcomm SDM845.
      
         - New subdriver for the Qualcomm SM8150.
      
         - New subdriver for the Freescale i.MX8MN (Freescale is now a product
           line of NXP).
      
         - New subdriver for Marvell MV98DX1135.
      
        Driver improvements:
      
         - The Bitmain BM1880 driver now supports pin config in addition to
           muxing.
      
         - The Qualcomm drivers can now reserve some GPIOs as taken aside and
           not usable for users. This is used in ACPI systems to take out some
           GPIO lines used by the BIOS so that noone else (neither kernel nor
           userspace) will play with them by mistake and crash the machine.
      
         - A slew of refurbishing around the Aspeed drivers (board management
           controllers for servers) in preparation for the new Aspeed AST2600
           SoC.
      
         - A slew of improvements over the SH PFC drivers as usual.
      
         - Misc cleanups and fixes"
      
      * tag 'pinctrl-v5.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (106 commits)
        pinctrl: aspeed: Strip moved macros and structs from private header
        pinctrl: aspeed: Fix missed include
        pinctrl: baytrail: Use GENMASK() consistently
        pinctrl: baytrail: Re-use data structures from pinctrl-intel.h
        pinctrl: baytrail: Use defined macro instead of magic in byt_get_gpio_mux()
        pinctrl: qcom: Add SM8150 pinctrl driver
        dt-bindings: pinctrl: qcom: Add SM8150 pinctrl binding
        dt-bindings: pinctrl: qcom: Document missing gpio nodes
        pinctrl: aspeed: Add implementation-related documentation
        pinctrl: aspeed: Split out pinmux from general pinctrl
        pinctrl: aspeed: Clarify comment about strapping W1C
        pinctrl: aspeed: Correct comment that is no longer true
        MAINTAINERS: Add entry for ASPEED pinctrl drivers
        dt-bindings: pinctrl: aspeed: Convert AST2500 bindings to json-schema
        dt-bindings: pinctrl: aspeed: Convert AST2400 bindings to json-schema
        dt-bindings: pinctrl: aspeed: Split bindings document in two
        pinctrl: qcom: Add irq_enable callback for msm gpio
        pinctrl: madera: Fixup SPDX headers
        pinctrl: qcom: sdm845: Fix CONFIG preprocessor guard
        pinctrl: tegra: Add bitmask support for parked bits
        ...
      43c95d36
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 073c916b
      Linus Torvalds 提交于
      Pull input updates from Dmitry Torokhov:
      
       - an update to Elan touchpad SMBus driver to fetch device parameters
         (size, resolution) while it is still in PS/2 mode, before switching
         over to SMBus, as in that mode some devices return garbage dimensions
      
       - update to iforce joystick driver
      
       - miscellaneous driver fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (48 commits)
        Input: gpio_keys_polled - allow specifying name of input device
        Input: edt-ft5x06 - simplify event reporting code
        Input: max77650-onkey - add MODULE_ALIAS()
        Input: atmel_mxt_ts - fix leak in mxt_update_cfg()
        Input: synaptics - enable SMBUS on T480 thinkpad trackpad
        Input: atmel_mxt_ts - fix -Wunused-const-variable
        Input: joydev - extend absolute mouse detection
        HID: quirks: Refactor ELAN 400 and 401 handling
        Input: elan_i2c - export the device id whitelist
        Input: edt-ft5x06 - use get_unaligned_be16()
        Input: iforce - add the Saitek R440 Force Wheel
        Input: iforce - use unaligned accessors, where appropriate
        Input: iforce - drop couple of temps from transport code
        Input: iforce - drop bus type from iforce structure
        Input: iforce - use DMA-safe buffores for USB transfers
        Input: iforce - allow callers supply data buffer when fetching device IDs
        Input: iforce - only call iforce_process_packet() if initialized
        Input: iforce - signal command completion from transport code
        Input: iforce - do not combine arguments for iforce_process_packet()
        Input: iforce - factor out hat handling when parsing packets
        ...
      073c916b
    • L
      Merge tag 'for-5.3/io_uring-20190711' of git://git.kernel.dk/linux-block · a2d79c71
      Linus Torvalds 提交于
      Pull io_uring updates from Jens Axboe:
       "This contains:
      
         - Support for recvmsg/sendmsg as first class opcodes.
      
           I don't envision going much further down this path, as there are
           plans in progress to support potentially any system call in an
           async fashion through io_uring. But I think it does make sense to
           have certain core ops available directly, especially those that can
           support a "try this non-blocking" flag/mode. (me)
      
         - Handle generic short reads automatically.
      
           This can happen fairly easily if parts of the buffered read is
           cached. Since the application needs to issue another request for
           the remainder, just do this internally and save kernel/user
           roundtrip while providing a nicer more robust API. (me)
      
         - Support for linked SQEs.
      
           This allows SQEs to depend on each other, enabling an application
           to eg queue a read-from-this-file,write-to-that-file pair. (me)
      
         - Fix race in stopping SQ thread (Jackie)"
      
      * tag 'for-5.3/io_uring-20190711' of git://git.kernel.dk/linux-block:
        io_uring: fix io_sq_thread_stop running in front of io_sq_thread
        io_uring: add support for recvmsg()
        io_uring: add support for sendmsg()
        io_uring: add support for sqe links
        io_uring: punt short reads to async context
        uio: make import_iovec()/compat_import_iovec() return bytes on success
      a2d79c71
  4. 13 7月, 2019 21 次提交
    • E
      ppp: mppe: Revert "ppp: mppe: Add softdep to arc4" · 25a09ce7
      Eric Biggers 提交于
      Commit 0e5a610b ("ppp: mppe: switch to RC4 library interface"),
      which was merged through the crypto tree for v5.3, changed ppp_mppe.c to
      use the new arc4_crypt() library function rather than access RC4 through
      the dynamic crypto_skcipher API.
      
      Meanwhile commit aad1dcc4 ("ppp: mppe: Add softdep to arc4") was
      merged through the net tree and added a module soft-dependency on "arc4".
      
      The latter commit no longer makes sense because the code now uses the
      "libarc4" module rather than "arc4", and also due to the direct use of
      arc4_crypt(), no module soft-dependency is required.
      
      So revert the latter commit.
      
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: NEric Biggers <ebiggers@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      25a09ce7
    • L
      Merge tag 'dlm-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm · 964a4eac
      Linus Torvalds 提交于
      Pull dlm updates from David Teigland:
       "This set removes some unnecessary debugfs error handling, and checks
        that lowcomms workqueues are not NULL before destroying"
      
      * tag 'dlm-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm:
        dlm: no need to check return value of debugfs_create functions
        dlm: check if workqueues are NULL before flushing/destroying
      964a4eac
    • L
      Merge tag '9p-for-5.3' of git://github.com/martinetd/linux · 23bbbf5c
      Linus Torvalds 提交于
      Pull 9p updates from Dominique Martinet:
       "Two small fixes to properly cleanup the 9p transports list if
        virtio/xen module initialization fail.
      
        9p might otherwise try to access memory from a module that failed to
        register got freed"
      
      * tag '9p-for-5.3' of git://github.com/martinetd/linux:
        9p/xen: Add cleanup path in p9_trans_xen_init
        9p/virtio: Add cleanup path in p9_virtio_init
      23bbbf5c
    • L
      Merge tag 'f2fs-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · a641a88e
      Linus Torvalds 提交于
      Pull f2fs updates from Jaegeuk Kim:
       "In this round, we've introduced native swap file support which can
        exploit DIO, enhanced existing checkpoint=disable feature with
        additional mount option to tune the triggering condition, and allowed
        user to preallocate physical blocks in a pinned file which will be
        useful to avoid f2fs fragmentation in append-only workloads. In
        addition, we've fixed subtle quota corruption issue.
      
        Enhancements:
         - add swap file support which uses DIO
         - allocate blocks for pinned file
         - allow SSR and mount option to enhance checkpoint=disable
         - enhance IPU IOs
         - add more sanity checks such as memory boundary access
      
        Bug fixes:
         - quota corruption in very corner case of error-injected SPO case
         - fix root_reserved on remount and some wrong counts
         - add missing fsck flag
      
        Some patches were also introduced to clean up ambiguous i_flags and
        debugging messages codes"
      
      * tag 'f2fs-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (33 commits)
        f2fs: improve print log in f2fs_sanity_check_ckpt()
        f2fs: avoid out-of-range memory access
        f2fs: fix to avoid long latency during umount
        f2fs: allow all the users to pin a file
        f2fs: support swap file w/ DIO
        f2fs: allocate blocks for pinned file
        f2fs: fix is_idle() check for discard type
        f2fs: add a rw_sem to cover quota flag changes
        f2fs: set SBI_NEED_FSCK for xattr corruption case
        f2fs: use generic EFSBADCRC/EFSCORRUPTED
        f2fs: Use DIV_ROUND_UP() instead of open-coding
        f2fs: print kernel message if filesystem is inconsistent
        f2fs: introduce f2fs_<level> macros to wrap f2fs_printk()
        f2fs: avoid get_valid_blocks() for cleanup
        f2fs: ioctl for removing a range from F2FS
        f2fs: only set project inherit bit for directory
        f2fs: separate f2fs i_flags from fs_flags and ext4 i_flags
        f2fs: replace ktype default_attrs with default_groups
        f2fs: Add option to limit required GC for checkpoint=disable
        f2fs: Fix accounting for unusable blocks
        ...
      a641a88e
    • L
      Merge tag 'xfs-5.3-merge-12' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 4ce9d181
      Linus Torvalds 提交于
      Pull xfs updates from Darrick Wong:
       "In this release there are a significant amounts of consolidations and
        cleanups in the log code; restructuring of the log to issue struct
        bios directly; new bulkstat ioctls to return v5 fs inode information
        (and fix all the padding problems of the old ioctl); the beginnings of
        multithreaded inode walks (e.g. quotacheck); and a reduction in memory
        usage in the online scrub code leading to reduced runtimes.
      
         - Refactor inode geometry calculation into a single structure instead
           of open-coding pieces everywhere.
      
         - Add online repair to build options.
      
         - Remove unnecessary function call flags and functions.
      
         - Claim maintainership of various loose xfs documentation and header
           files.
      
         - Use struct bio directly for log buffer IOs instead of struct
           xfs_buf.
      
         - Reduce log item boilerplate code requirements.
      
         - Merge log item code spread across too many files.
      
         - Further distinguish between log item commits and cancellations.
      
         - Various small cleanups to the ag small allocator.
      
         - Support cgroup-aware writeback
      
         - libxfs refactoring for mkfs cleanup
      
         - Remove unneeded #includes
      
         - Fix a memory allocation miscalculation in the new log bio code
      
         - Fix bisection problems
      
         - Fix a crash in ioend processing caused by tripping over freeing of
           preallocated transactions
      
         - Split out a generic inode walk mechanism from the bulkstat code,
           hook up all the internal users to use the walking code, then clean
           up bulkstat to serve only the bulkstat ioctls.
      
         - Add a multithreaded iwalk implementation to speed up quotacheck on
           fast storage with many CPUs.
      
         - Remove unnecessary return values in logging teardown functions.
      
         - Supplement the bstat and inogrp structures with new bulkstat and
           inumbers structures that have all the fields we need for v5
           filesystem features and none of the padding problems of their
           predecessors.
      
         - Wire up new ioctls that use the new structures with a much simpler
           bulk_ireq structure at the head instead of the pointerhappy mess we
           had before.
      
         - Enable userspace to constrain bulkstat returns to a single AG or a
           single special inode so that we can phase out a lot of geometry
           guesswork in userspace.
      
         - Reduce memory consumption and zeroing overhead in extended
           attribute scrub code.
      
         - Fix some behavioral regressions in the new bulkstat backend code.
      
         - Fix some behavioral regressions in the new log bio code"
      
      * tag 'xfs-5.3-merge-12' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (100 commits)
        xfs: chain bios the right way around in xfs_rw_bdev
        xfs: bump INUMBERS cursor correctly in xfs_inumbers_walk
        xfs: don't update lastino for FSBULKSTAT_SINGLE
        xfs: online scrub needn't bother zeroing its temporary buffer
        xfs: only allocate memory for scrubbing attributes when we need it
        xfs: refactor attr scrub memory allocation function
        xfs: refactor extended attribute buffer pointer functions
        xfs: attribute scrub should use seen_enough to pass error values
        xfs: allow single bulkstat of special inodes
        xfs: specify AG in bulk req
        xfs: wire up the v5 inumbers ioctl
        xfs: wire up new v5 bulkstat ioctls
        xfs: introduce v5 inode group structure
        xfs: introduce new v5 bulkstat structure
        xfs: rename bulkstat functions
        xfs: remove various bulk request typedef usage
        fs: xfs: xfs_log: Change return type from int to void
        xfs: poll waiting for quotacheck
        xfs: multithreaded iwalk implementation
        xfs: refactor INUMBERS to use iwalk functions
        ...
      4ce9d181
    • L
      Merge tag 'vfs-fix-ioctl-checking-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 5010fe9f
      Linus Torvalds 提交于
      Pull common SETFLAGS/FSSETXATTR parameter checking from Darrick Wong:
       "Here's a patch series that sets up common parameter checking functions
        for the FS_IOC_SETFLAGS and FS_IOC_FSSETXATTR ioctl implementations.
      
        The goal here is to reduce the amount of behaviorial variance between
        the filesystems where those ioctls originated (ext2 and XFS,
        respectively) and everybody else.
      
         - Standardize parameter checking for the SETFLAGS and FSSETXATTR
           ioctls (which were the file attribute setters for ext4 and xfs and
           have now been hoisted to the vfs)
      
         - Only allow the DAX flag to be set on files and directories"
      
      * tag 'vfs-fix-ioctl-checking-3' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        vfs: only allow FSSETXATTR to set DAX flag on files and dirs
        vfs: teach vfs_ioc_fssetxattr_check to check extent size hints
        vfs: teach vfs_ioc_fssetxattr_check to check project id info
        vfs: create a generic checking function for FS_IOC_FSSETXATTR
        vfs: create a generic checking and prep function for FS_IOC_SETFLAGS
      5010fe9f
    • L
      Merge tag 'linux-kselftest-5.3-rc1' of... · 8487d822
      Linus Torvalds 提交于
      Merge tag 'linux-kselftest-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
      
      Pull Kselftest updates from Shuah Khan:
       "This Kselftest update for Linux 5.3-rc1 consists of build failure
        fixes and minor code cleaning patch to remove duplicate headers"
      
      * tag 'linux-kselftest-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
        rseq/selftests: Fix Thumb mode build failure on arm32
        kselftests: cgroup: remove duplicated include from test_freezer.c
        selftests: timestamping: Fix SIOCGSTAMP undeclared build failure
        selftests: dma-buf: Adding kernel config fragment CONFIG_UDMABUF=y
      8487d822
    • L
      Merge tag 'kconfig-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 106f1466
      Linus Torvalds 提交于
      Pull Kconfig updates from Masahiro Yamada:
      
       - always require argument for --defconfig and remove the hard-coded
         arch/$(ARCH)/defconfig path
      
       - make arch/$(SRCARCH)/configs/defconfig the new default of defconfig
      
       - some code cleanups
      
      * tag 'kconfig-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kconfig: remove meaningless if-conditional in conf_read()
        kconfig: Fix spelling of sym_is_changable
        unicore32: rename unicore32_defconfig to defconfig
        kconfig: make arch/*/configs/defconfig the default of KBUILD_DEFCONFIG
        kconfig: add static qualifier to expand_string()
        kconfig: require the argument of --defconfig
        kconfig: remove always false ifeq ($(KBUILD_DEFCONFIG,) conditional
      106f1466
    • L
      Merge tag 'kbuild-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 39ceda5c
      Linus Torvalds 提交于
      Pull Kbuild updates from Masahiro Yamada:
      
       - remove headers_{install,check}_all targets
      
       - remove unreasonable 'depends on !UML' from CONFIG_SAMPLES
      
       - re-implement 'make headers_install' more cleanly
      
       - add new header-test-y syntax to compile-test headers
      
       - compile-test exported headers to ensure they are compilable in
         user-space
      
       - compile-test headers under include/ to ensure they are self-contained
      
       - remove -Waggregate-return, -Wno-uninitialized, -Wno-unused-value
         flags
      
       - add -Werror=unknown-warning-option for Clang
      
       - add 128-bit built-in types support to genksyms
      
       - fix missed rebuild of modules.builtin
      
       - propagate 'No space left on device' error in fixdep to Make
      
       - allow Clang to use its integrated assembler
      
       - improve some coccinelle scripts
      
       - add a new flag KBUILD_ABS_SRCTREE to request Kbuild to use absolute
         path for $(srctree).
      
       - do not ignore errors when compression utility is missing
      
       - misc cleanups
      
      * tag 'kbuild-v5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (49 commits)
        kbuild: use -- separater intead of $(filter-out ...) for cc-cross-prefix
        kbuild: Inform user to pass ARCH= for make mrproper
        kbuild: fix compression errors getting ignored
        kbuild: add a flag to force absolute path for srctree
        kbuild: replace KBUILD_SRCTREE with boolean building_out_of_srctree
        kbuild: remove src and obj from the top Makefile
        scripts/tags.sh: remove unused environment variables from comments
        scripts/tags.sh: drop SUBARCH support for ARM
        kbuild: compile-test kernel headers to ensure they are self-contained
        kheaders: include only headers into kheaders_data.tar.xz
        kheaders: remove meaningless -R option of 'ls'
        kbuild: support header-test-pattern-y
        kbuild: do not create wrappers for header-test-y
        kbuild: compile-test exported headers to ensure they are self-contained
        init/Kconfig: add CONFIG_CC_CAN_LINK
        kallsyms: exclude kasan local symbols on s390
        kbuild: add more hints about SUBDIRS replacement
        coccinelle: api/stream_open: treat all wait_.*() calls as blocking
        coccinelle: put_device: Add a cast to an expression for an assignment
        coccinelle: put_device: Adjust a message construction
        ...
      39ceda5c
    • L
      Merge tag 'asm-generic-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 5f26f114
      Linus Torvalds 提交于
      Pull asm-generic updates from Arnd Bergmann:
       "The asm-generic changes for 5.3 consist of a cleanup series to remove
        ptrace.h from Christoph Hellwig, who explains:
      
          'asm-generic/ptrace.h is a little weird in that it doesn't actually
           implement any functionality, but it provided multiple layers of
           macros that just implement trivial inline functions. We implement
           those directly in the few architectures and be off with a much
           simpler design.'
      
        at https://lore.kernel.org/lkml/20190624054728.30966-1-hch@lst.de/"
      
      * tag 'asm-generic-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic: remove ptrace.h
        x86: don't use asm-generic/ptrace.h
        sh: don't use asm-generic/ptrace.h
        powerpc: don't use asm-generic/ptrace.h
        arm64: don't use asm-generic/ptrace.h
      5f26f114
    • L
      Merge tag 's390-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · aabfea8d
      Linus Torvalds 提交于
      Pull more s390 updates from Vasily Gorbik:
      
       - Fix integer overflow during stack frame unwind with invalid
         backchain.
      
       - Cleanup unused symbol export in zcrypt code.
      
       - Fix MIO addressing control activation in PCI code and expose its
         usage via sysfs.
      
       - Fix kernel image signature verification report presence detection.
      
       - Fix irq registration in vfio-ap code.
      
       - Add CPU measurement counters for newer machines.
      
       - Add base DASD thin provisioning support and code cleanups.
      
      * tag 's390-5.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (21 commits)
        s390/unwind: avoid int overflow in outside_of_stack
        s390/zcrypt: remove the exporting of ap_query_configuration
        s390/pci: add mio_enabled attribute
        s390: fix setting of mio addressing control
        s390/ipl: Fix detection of has_secure attribute
        s390: vfio-ap: fix irq registration
        s390/cpumf: Add extended counter set definitions for model 8561 and 8562
        s390/dasd: Handle out-of-space constraint
        s390/dasd: Add discard support for ESE volumes
        s390/dasd: Use ALIGN_DOWN macro
        s390/dasd: Make dasd_setup_queue() a discipline function
        s390/dasd: Add new ioctl to release space
        s390/dasd: Add dasd_sleep_on_queue_interruptible()
        s390/dasd: Add missing intensity definition
        s390/dasd: Fix whitespace
        s390/dasd: Add dynamic formatting support for ESE volumes
        s390/dasd: Recognise data for ESE volumes
        s390/dasd: Put sub-order definitions in a separate section
        s390/dasd: Make layout analysis ESE compatible
        s390/dasd: Remove old defines and function
        ...
      aabfea8d
    • C
      net: dsa: qca8k: replace legacy gpio include · f32ae8a5
      Christian Lamparter 提交于
      This patch replaces the legacy bulk gpio.h include
      with the proper gpio/consumer.h variant. This was
      caught by the kbuild test robot that was running
      into an error because of this.
      
      For more information why linux/gpio.h is bad can be found in:
      commit 56a46b61 ("gpio: Clarify that <linux/gpio.h> is legacy")
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Link: https://www.spinics.net/lists/netdev/msg584447.html
      Fixes: a653f2f5 ("net: dsa: qca8k: introduce reset via gpio feature")
      Signed-off-by: NChristian Lamparter <chunkeey@gmail.com>
      Reviewed-by: NVivien Didelot <vivien.didelot@gmail.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f32ae8a5
    • L
      Merge tag 'nios2-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2 · 7181feb9
      Linus Torvalds 提交于
      Pull arch/nios2 updates from Ley Foon Tan.
      
      * tag 'nios2-v5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2:
        nios2: configs: Remove useless UEVENT_HELPER_PATH
        nios2: remove pointless second entry for CONFIG_TRACE_IRQFLAGS_SUPPORT
      7181feb9
    • J
      net: hisilicon: Use devm_platform_ioremap_resource · 56170ba3
      Jiangfeng Xiao 提交于
      Use devm_platform_ioremap_resource instead of
      devm_ioremap_resource. Make the code simpler.
      Signed-off-by: NJiangfeng Xiao <xiaojiangfeng@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      56170ba3
    • A
      cxgb4: reduce kernel stack usage in cudbg_collect_mem_region() · 752c2ea2
      Arnd Bergmann 提交于
      The cudbg_collect_mem_region() and cudbg_read_fw_mem() both use several
      hundred kilobytes of kernel stack space. One gets inlined into the other,
      which causes the stack usage to be combined beyond the warning limit
      when building with clang:
      
      drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c:1057:12: error: stack frame size of 1244 bytes in function 'cudbg_collect_mem_region' [-Werror,-Wframe-larger-than=]
      
      Restructuring cudbg_collect_mem_region() lets clang do the same
      optimization that gcc does and reuse the stack slots as it can
      see that the large variables are never used together.
      
      A better fix might be to avoid using cudbg_meminfo on the stack
      altogether, but that requires a larger rewrite.
      
      Fixes: a1c69520 ("cxgb4: collect MC memory dump")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      752c2ea2
    • L
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 39d7530d
      Linus Torvalds 提交于
      Pull KVM updates from Paolo Bonzini:
       "ARM:
         - support for chained PMU counters in guests
         - improved SError handling
         - handle Neoverse N1 erratum #1349291
         - allow side-channel mitigation status to be migrated
         - standardise most AArch64 system register accesses to msr_s/mrs_s
         - fix host MPIDR corruption on 32bit
         - selftests ckleanups
      
        x86:
         - PMU event {white,black}listing
         - ability for the guest to disable host-side interrupt polling
         - fixes for enlightened VMCS (Hyper-V pv nested virtualization),
         - new hypercall to yield to IPI target
         - support for passing cstate MSRs through to the guest
         - lots of cleanups and optimizations
      
        Generic:
         - Some txt->rST conversions for the documentation"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (128 commits)
        Documentation: virtual: Add toctree hooks
        Documentation: kvm: Convert cpuid.txt to .rst
        Documentation: virtual: Convert paravirt_ops.txt to .rst
        KVM: x86: Unconditionally enable irqs in guest context
        KVM: x86: PMU Event Filter
        kvm: x86: Fix -Wmissing-prototypes warnings
        KVM: Properly check if "page" is valid in kvm_vcpu_unmap
        KVM: arm/arm64: Initialise host's MPIDRs by reading the actual register
        KVM: LAPIC: Retry tune per-vCPU timer_advance_ns if adaptive tuning goes insane
        kvm: LAPIC: write down valid APIC registers
        KVM: arm64: Migrate _elx sysreg accessors to msr_s/mrs_s
        KVM: doc: Add API documentation on the KVM_REG_ARM_WORKAROUNDS register
        KVM: arm/arm64: Add save/restore support for firmware workaround state
        arm64: KVM: Propagate full Spectre v2 workaround state to KVM guests
        KVM: arm/arm64: Support chained PMU counters
        KVM: arm/arm64: Remove pmc->bitmask
        KVM: arm/arm64: Re-create event when setting counter value
        KVM: arm/arm64: Extract duplicated code to own function
        KVM: arm/arm64: Rename kvm_pmu_{enable/disable}_counter functions
        KVM: LAPIC: ARBPRI is a reserved register for x2APIC
        ...
      39d7530d
    • C
      tipc: ensure head->lock is initialised · d12cffe9
      Chris Packham 提交于
      tipc_named_node_up() creates a skb list. It passes the list to
      tipc_node_xmit() which has some code paths that can call
      skb_queue_purge() which relies on the list->lock being initialised.
      
      The spin_lock is only needed if the messages end up on the receive path
      but when the list is created in tipc_named_node_up() we don't
      necessarily know if it is going to end up there.
      
      Once all the skb list users are updated in tipc it will then be possible
      to update them to use the unlocked variants of the skb list functions
      and initialise the lock when we know the message will follow the receive
      path.
      Signed-off-by: NChris Packham <chris.packham@alliedtelesis.co.nz>
      Acked-by: NJon Maloy <jon.maloy@ericsson.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d12cffe9
    • R
      tc-tests: updated skbedit tests · 100c4043
      Roman Mashak 提交于
      - Added mask upper bound test case
      - Added mask validation test case
      - Added mask replacement case
      Signed-off-by: NRoman Mashak <mrv@mojatatu.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      100c4043
    • D
      Merge branch 'nfp-flower-bugs' · be4d2a5b
      David S. Miller 提交于
      John Hurley says:
      
      ====================
      Fix bugs in NFP flower match offload
      
      This patchset contains bug fixes for corner cases in the match fields of
      flower offloads. The patches ensure that flows that should not be
      supported are not (incorrectly) offloaded. These include rules that match
      on layer 3 and/or 4 data without specified ethernet or ip protocol fields.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      be4d2a5b
    • J
      nfp: flower: ensure ip protocol is specified for L4 matches · 103b7c25
      John Hurley 提交于
      Flower rules on the NFP firmware are able to match on an IP protocol
      field. When parsing rules in the driver, unknown IP protocols are only
      rejected when further matches are to be carried out on layer 4 fields, as
      the firmware will not be able to extract such fields from packets.
      
      L4 protocol dissectors such as FLOW_DISSECTOR_KEY_PORTS are only parsed if
      an IP protocol is specified. This leaves a loophole whereby a rule that
      attempts to match on transport layer information such as port numbers but
      does not explicitly give an IP protocol type can be incorrectly offloaded
      (in this case with wildcard port numbers matches).
      
      Fix this by rejecting the offload of flows that attempt to match on L4
      information, not only when matching on an unknown IP protocol type, but
      also when the protocol is wildcarded.
      
      Fixes: 2a047845 ("nfp: flower: check L4 matches on unknown IP protocols")
      Signed-off-by: NJohn Hurley <john.hurley@netronome.com>
      Reviewed-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      103b7c25
    • J
      nfp: flower: fix ethernet check on match fields · fd262a6d
      John Hurley 提交于
      NFP firmware does not explicitly match on an ethernet type field. Rather,
      each rule has a bitmask of match fields that can be used to infer the
      ethernet type.
      
      Currently, if a flower rule contains an unknown ethernet type, a check is
      carried out for matches on other fields of the packet. If matches on
      layer 3 or 4 are found, then the offload is rejected as firmware will not
      be able to extract these fields from a packet with an ethernet type it
      does not currently understand.
      
      However, if a rule contains an unknown ethernet type without any L3 (or
      above) matches then this will effectively be offloaded as a rule with a
      wildcarded ethertype. This can lead to misclassifications on the firmware.
      
      Fix this issue by rejecting all flower rules that specify a match on an
      unknown ethernet type.
      
      Further ensure correct offloads by moving the 'L3 and above' check to any
      rule that does not specify an ethernet type and rejecting rules with
      further matches. This means that we can still offload rules with a
      wildcarded ethertype if they only match on L2 fields but will prevent
      rules which match on further fields that we cannot be sure if the firmware
      will be able to extract.
      
      Fixes: af9d842c ("nfp: extend flower add flow offload")
      Signed-off-by: NJohn Hurley <john.hurley@netronome.com>
      Reviewed-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd262a6d