31 Mar, 2020

1 commit


27 Mar, 2020

2 commits

  • Pull input fixes from Dmitry Torokhov:

    - a fix to generate proper timestamps on key autorepeat events that
    were broken recently

    - a fix for Synaptics driver to only activate reduced reporting mode
    when explicitly requested

    - a new keycode for "selective screenshot" function

    - other assorted fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: fix stale timestamp on key autorepeat events
    Input: move the new KEY_SELECTIVE_SCREENSHOT keycode
    Input: avoid BIT() macro usage in the serio.h UAPI header
    Input: synaptics-rmi4 - set reduced reporting mode only when requested
    Input: synaptics - enable RMI on HP Envy 13-ad105ng
    Input: allocate keycode for "Selective Screenshot" key
    Input: tm2-touchkey - add support for Coreriver TC360 variant
    dt-bindings: input: add Coreriver TC360 binding
    dt-bindings: vendor-prefixes: Add Coreriver vendor prefix
    Input: raydium_i2c_ts - fix error codes in raydium_i2c_boot_trigger()

    Linus Torvalds
     
  • We should try to keep keycodes sequential unless there is a reason to leave
    a gap in numbering, so let's move it from 0x280 to 0x27a while we still
    can.

    Fixes: 3b059da9835c ("Input: allocate keycode for Selective Screenshot key")
    Acked-by: Rajat Jain
    Link: https://lore.kernel.org/r/20200326182711.GA259753@dtor-ws
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

25 Mar, 2020

1 commit

  • The commit 19ba1eb15a2a ("Input: psmouse - add a custom serio protocol
    to send extra information") introduced usage of the BIT() macro
    for SERIO_* flags; this macro is not provided in UAPI headers.
    Replace if with similarly defined _BITUL() macro defined
    in .

    Fixes: 19ba1eb15a2a ("Input: psmouse - add a custom serio protocol to send extra information")
    Signed-off-by: Eugene Syromiatnikov
    Cc: # v5.0+
    Link: https://lore.kernel.org/r/20200324041341.GA32335@asgard.redhat.com
    Signed-off-by: Dmitry Torokhov

    Eugene Syromiatnikov
     

24 Mar, 2020

2 commits

  • Add a new param for user-space to determine if kernel module is SM5
    capable.

    Signed-off-by: Deepak Rawat
    Reviewed-by: Thomas Hellström (VMware)
    Reviewed-by: Roland Scheidegger
    Signed-off-by: Roland Scheidegger

    Deepak Rawat
     
  • Surface define v4 added new member buffer_byte_stride. With this patch
    add buffer_byte_stride in surface metadata and create surface using new
    command if support is available.

    Also with this patch replace device specific data types with kernel
    types.

    Signed-off-by: Deepak Rawat
    Reviewed-by: Thomas Hellström (VMware)
    Reviewed-by: Roland Scheidegger
    Signed-off-by: Roland Scheidegger

    Deepak Rawat
     

19 Mar, 2020

1 commit

  • UAPI Changes:

    On i915 we have a new UAPI to allow userspace to specify CS ring buffer size on
    construction (I915_CONTEXT_PARAM_RINGSIZE) and also new sysfs entries exposing
    various engine properties

    GVT Changes:

    VFIO edid getting expanded to all platforms and a big cleanup around attr
    group, unused vblank complete, kvmgt, Intel engine and dev_priv usages.

    i915 Changes:

    - new UAPI to allow userspace to specify CS ring buffer size on construction
    (I915_CONTEXT_PARAM_RINGSIZE) - (Chris)
    - New sysfs entries exposing various engine properties (Chris)
    - Tiger Lake is out of require_force_probe protection (Jose)
    - Changes in many places around active requests, reset and heartbeat (Chris)
    - Stop assigning drm-dev_private pointer (Jani)
    - Many code refactor in many places, including intel_modeset_init,
    increasing use of intel_uncore_*, vgpu, and gvt stuff (Jani)
    - Fixes around display pipe iterators (Anshuman)
    - Tigerlake enabling work (Matt Ropper, Matt Atwood, Ville, Lucas, Daniele,
    Jose, Anusha, Vivek, Swathi, Caz. Kai)
    - Code clean-up like reducing use of drm/i915_drv.h, removing unused
    registers, removing garbage warns, and some other code polishing (Jani, Lucas,
    Ville)
    - Selftests fixes, improvements and additions (Chris, Dan, Aditya, Matt Auld)
    - Fix plane possible_crtcs bit mask (Anshuman)
    - Fixes and cleanup on GLK pre production identification and w/a (Ville)
    - Fix display orientation on few cases (Hans, Ville)
    - dbuf clean-up and improvements for slice arrays handling (Ville)
    - Improvement around min cdclk calculation (Stanislav)
    - Fixes and refactor around display PLLs (Imre)
    - Other execlists and perf fixes (Chris)
    - Documentation fixes (Jani, Chris)
    - Fix build issue (Anshuman)
    - Many more fixes around the locking mechanisms (Chris)
    - Other fixes and debugability info around preemption (Chris, Tvrtko)
    - Add mechanism to submit a context WA on ring submission (Mika)
    - Clear all Eu/L3 resitual context (Prathap)
    - More changes around local memory (Abdiel, Matt, Chris)
    - Fix RPS (Chris)
    - DP MST fix (Lyude)
    - Display FBC fixes (Jose, RK)
    - debugfs cleanup (Tvrtko)
    - More convertion towards drm_debive based loggin (Wambui, Ram)
    - Avoid potential buffer overflow (Takashi)
    - Ice Lake and Elkhart Lake workarounds (Matt Roper)

    Signed-off-by: Dave Airlie

    From: Rodrigo Vivi
    Link: https://patchwork.freedesktop.org/patch/msgid/20200314001535.GA2969344@intel.com

    Dave Airlie
     

18 Mar, 2020

1 commit

  • New Chrome OS keyboards have a "snip" key that is basically a selective
    screenshot (allows a user to select an area of screen to be copied).
    Allocate a keycode for it.

    Signed-off-by: Rajat Jain
    Reviewed-by: Harry Cutts
    Link: https://lore.kernel.org/r/20200313180333.75011-1-rajatja@google.com
    Signed-off-by: Dmitry Torokhov

    Rajat Jain
     

13 Mar, 2020

2 commits

  • Pull networking fixes from David Miller:
    "It looks like a decent sized set of fixes, but a lot of these are one
    liner off-by-one and similar type changes:

    1) Fix netlink header pointer to calcular bad attribute offset
    reported to user. From Pablo Neira Ayuso.

    2) Don't double clear PHY interrupts when ->did_interrupt is set,
    from Heiner Kallweit.

    3) Add missing validation of various (devlink, nl802154, fib, etc.)
    attributes, from Jakub Kicinski.

    4) Missing *pos increments in various netfilter seq_next ops, from
    Vasily Averin.

    5) Missing break in of_mdiobus_register() loop, from Dajun Jin.

    6) Don't double bump tx_dropped in veth driver, from Jiang Lidong.

    7) Work around FMAN erratum A050385, from Madalin Bucur.

    8) Make sure ARP header is pulled early enough in bonding driver,
    from Eric Dumazet.

    9) Do a cond_resched() during multicast processing of ipvlan and
    macvlan, from Mahesh Bandewar.

    10) Don't attach cgroups to unrelated sockets when in interrupt
    context, from Shakeel Butt.

    11) Fix tpacket ring state management when encountering unknown GSO
    types. From Willem de Bruijn.

    12) Fix MDIO bus PHY resume by checking mdio_bus_phy_may_suspend()
    only in the suspend context. From Heiner Kallweit"

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (112 commits)
    net: systemport: fix index check to avoid an array out of bounds access
    tc-testing: add ETS scheduler to tdc build configuration
    net: phy: fix MDIO bus PM PHY resuming
    net: hns3: clear port base VLAN when unload PF
    net: hns3: fix RMW issue for VLAN filter switch
    net: hns3: fix VF VLAN table entries inconsistent issue
    net: hns3: fix "tc qdisc del" failed issue
    taprio: Fix sending packets without dequeueing them
    net: mvmdio: avoid error message for optional IRQ
    net: dsa: mv88e6xxx: Add missing mask of ATU occupancy register
    net: memcg: fix lockdep splat in inet_csk_accept()
    s390/qeth: implement smarter resizing of the RX buffer pool
    s390/qeth: refactor buffer pool code
    s390/qeth: use page pointers to manage RX buffer pool
    seg6: fix SRv6 L2 tunnels to use IANA-assigned protocol number
    net: dsa: Don't instantiate phylink for CPU/DSA ports unless needed
    net/packet: tpacket_rcv: do not increment ring index on drop
    sxgbe: Fix off by one in samsung driver strncpy size arg
    net: caif: Add lockdep expression to RCU traversal primitive
    MAINTAINERS: remove Sathya Perla as Emulex NIC maintainer
    ...

    Linus Torvalds
     
  • amd-drm-next-5.7-2020-03-10:

    amdgpu:
    - SR-IOV fixes
    - Fix up fallout from drm load/unload callback removal
    - Navi, renoir power management watermark fixes
    - Refactor smu parameter handling
    - Display FEC fixes
    - Display DCC fixes
    - HDCP fixes
    - Add support for USB-C PD firmware updates
    - Pollock detection fix
    - Rework compute ring priority handling
    - RAS fixes
    - Misc cleanups

    amdkfd:
    - Consolidate more gfx config details in amdgpu
    - Consolidate bo alloc flags
    - Improve code comments
    - SDMA MQD fixes
    - Misc cleanups

    gpu scheduler:
    - Add suport for modifying the sched list

    uapi:
    - Clarify comments about GEM_CREATE flags that are not used by userspace.
    The kernel driver has always prevented userspace from using these.
    They are only used internally in the kernel driver.

    Signed-off-by: Dave Airlie

    From: Alex Deucher
    Link: https://patchwork.freedesktop.org/patch/msgid/20200310212748.4519-1-alexander.deucher@amd.com

    Dave Airlie
     

12 Mar, 2020

1 commit

  • The Internet Assigned Numbers Authority (IANA) has recently assigned
    a protocol number value of 143 for Ethernet [1].

    Before this assignment, encapsulation mechanisms such as Segment Routing
    used the IPv6-NoNxt protocol number (59) to indicate that the encapsulated
    payload is an Ethernet frame.

    In this patch, we add the definition of the Ethernet protocol number to the
    kernel headers and update the SRv6 L2 tunnels to use it.

    [1] https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

    Signed-off-by: Paolo Lungaroni
    Reviewed-by: Andrea Mayer
    Acked-by: Ahmed Abdelsalam
    Signed-off-by: David S. Miller

    Paolo Lungaroni
     

11 Mar, 2020

1 commit


07 Mar, 2020

1 commit


05 Mar, 2020

1 commit

  • Pull device mapper fixes from Mike Snitzer:

    - Fix request-based DM's congestion_fn and actually wire it up to the
    bdi.

    - Extend dm-bio-record to track additional struct bio members needed by
    DM integrity target.

    - Fix DM core to properly advertise that a device is suspended during
    unload (between the presuspend and postsuspend hooks). This change is
    a prereq for related DM integrity and DM writecache fixes. It
    elevates DM integrity's 'suspending' state tracking to DM core.

    - Four stable fixes for DM integrity target.

    - Fix crash in DM cache target due to incorrect work item cancelling.

    - Fix DM thin metadata lockdep warning that was introduced during 5.6
    merge window.

    - Fix DM zoned target's chunk work refcounting that regressed during
    recent conversion to refcount_t.

    - Bump the minor version for DM core and all target versions that have
    seen interface changes or important fixes during the 5.6 cycle.

    * tag 'for-5.6/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
    dm: bump version of core and various targets
    dm: fix congested_fn for request-based device
    dm integrity: use dm_bio_record and dm_bio_restore
    dm bio record: save/restore bi_end_io and bi_integrity
    dm zoned: Fix reference counter initial value of chunk works
    dm writecache: verify watermark during resume
    dm: report suspended device during destroy
    dm thin metadata: fix lockdep complaint
    dm cache: fix a crash due to incorrect work item cancelling
    dm integrity: fix invalid table returned due to argument count mismatch
    dm integrity: fix a deadlock due to offloading to an incorrect workqueue
    dm integrity: fix recalculation when moving from journal mode to bitmap mode

    Linus Torvalds
     

04 Mar, 2020

1 commit

  • Changes made during the 5.6 cycle warrant bumping the version number
    for DM core and the targets modified by this commit.

    It should be noted that dm-thin, dm-crypt and dm-raid already had
    their target version bumped during the 5.6 merge window.

    Signed-off-by; Mike Snitzer

    Mike Snitzer
     

26 Feb, 2020

1 commit

  • No good reason why we must always use a static ringsize, so let
    userspace select one during construction.

    Link: https://github.com/intel/compute-runtime/pull/261
    Signed-off-by: Chris Wilson
    Cc: Joonas Lahtinen
    Cc: Steve Carbonari
    Reviewed-by: Janusz Krzysztofik
    Link: https://patchwork.freedesktop.org/patch/msgid/20200225192206.1107336-2-chris@chris-wilson.co.uk

    Chris Wilson
     

22 Feb, 2020

4 commits

  • Pull USB/Thunderbolt fixes from Greg KH:
    "Here are a number of small USB driver fixes for 5.6-rc3.

    Included in here are:
    - MAINTAINER file updates
    - USB gadget driver fixes
    - usb core quirk additions and fixes for regressions
    - xhci driver fixes
    - usb serial driver id additions and fixes
    - thunderbolt bugfix

    Thunderbolt patches come in through here now that USB4 is really
    thunderbolt.

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

    * tag 'usb-5.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (34 commits)
    USB: misc: iowarrior: add support for the 100 device
    thunderbolt: Prevent crash if non-active NVMem file is read
    usb: gadget: udc-xilinx: Fix xudc_stop() kernel-doc format
    USB: misc: iowarrior: add support for the 28 and 28L devices
    USB: misc: iowarrior: add support for 2 OEMed devices
    USB: Fix novation SourceControl XL after suspend
    xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2
    Revert "xhci: Fix memory leak when caching protocol extended capability PSI tables"
    MAINTAINERS: Sort entries in database for THUNDERBOLT
    usb: dwc3: debug: fix string position formatting mixup with ret and len
    usb: gadget: serial: fix Tx stall after buffer overflow
    usb: gadget: ffs: ffs_aio_cancel(): Save/restore IRQ flags
    usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows
    usb: dwc2: Fix in ISOC request length checking
    usb: gadget: composite: Support more than 500mA MaxPower
    usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus
    usb: gadget: u_audio: Fix high-speed max packet size
    usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields
    USB: core: clean up endpoint-descriptor parsing
    USB: quirks: blacklist duplicate ep on Sound Devices USBPre2
    ...

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) Limit xt_hashlimit hash table size to avoid OOM or hung tasks, from
    Cong Wang.

    2) Fix deadlock in xsk by publishing global consumer pointers when NAPI
    is finished, from Magnus Karlsson.

    3) Set table field properly to RT_TABLE_COMPAT when necessary, from
    Jethro Beekman.

    4) NLA_STRING attributes are not necessary NULL terminated, deal wiht
    that in IFLA_ALT_IFNAME. From Eric Dumazet.

    5) Fix checksum handling in atlantic driver, from Dmitry Bezrukov.

    6) Handle mtu==0 devices properly in wireguard, from Jason A.
    Donenfeld.

    7) Fix several lockdep warnings in bonding, from Taehee Yoo.

    8) Fix cls_flower port blocking, from Jason Baron.

    9) Sanitize internal map names in libbpf, from Toke Høiland-Jørgensen.

    10) Fix RDMA race in qede driver, from Michal Kalderon.

    11) Fix several false lockdep warnings by adding conditions to
    list_for_each_entry_rcu(), from Madhuparna Bhowmik.

    12) Fix sleep in atomic in mlx5 driver, from Huy Nguyen.

    13) Fix potential deadlock in bpf_map_do_batch(), from Yonghong Song.

    14) Hey, variables declared in switch statement before any case
    statements are not initialized. I learn something every day. Get
    rids of this stuff in several parts of the networking, from Kees
    Cook.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (99 commits)
    bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs.
    bnxt_en: Improve device shutdown method.
    net: netlink: cap max groups which will be considered in netlink_bind()
    net: thunderx: workaround BGX TX Underflow issue
    ionic: fix fw_status read
    net: disable BRIDGE_NETFILTER by default
    net: macb: Properly handle phylink on at91rm9200
    s390/qeth: fix off-by-one in RX copybreak check
    s390/qeth: don't warn for napi with 0 budget
    s390/qeth: vnicc Fix EOPNOTSUPP precedence
    openvswitch: Distribute switch variables for initialization
    net: ip6_gre: Distribute switch variables for initialization
    net: core: Distribute switch variables for initialization
    udp: rehash on disconnect
    net/tls: Fix to avoid gettig invalid tls record
    bpf: Fix a potential deadlock with bpf_map_do_batch
    bpf: Do not grab the bucket spinlock by default on htab batch ops
    ice: Wait for VF to be reset/ready before configuration
    ice: Don't tell the OS that link is going down
    ice: Don't reject odd values of usecs set by user
    ...

    Linus Torvalds
     
  • QEMU has a funny new build error message when I use the upstream kernel
    headers:

    CC block/file-posix.o
    In file included from /home/cborntra/REPOS/qemu/include/qemu/timer.h:4,
    from /home/cborntra/REPOS/qemu/include/qemu/timed-average.h:29,
    from /home/cborntra/REPOS/qemu/include/block/accounting.h:28,
    from /home/cborntra/REPOS/qemu/include/block/block_int.h:27,
    from /home/cborntra/REPOS/qemu/block/file-posix.c:30:
    /usr/include/linux/swab.h: In function `__swab':
    /home/cborntra/REPOS/qemu/include/qemu/bitops.h:20:34: error: "sizeof" is not defined, evaluates to 0 [-Werror=undef]
    20 | #define BITS_PER_LONG (sizeof (unsigned long) * BITS_PER_BYTE)
    | ^~~~~~
    /home/cborntra/REPOS/qemu/include/qemu/bitops.h:20:41: error: missing binary operator before token "("
    20 | #define BITS_PER_LONG (sizeof (unsigned long) * BITS_PER_BYTE)
    | ^
    cc1: all warnings being treated as errors
    make: *** [/home/cborntra/REPOS/qemu/rules.mak:69: block/file-posix.o] Error 1
    rm tests/qemu-iotests/socket_scm_helper.o

    This was triggered by commit d5767057c9a ("uapi: rename ext2_swab() to
    swab() and share globally in swab.h"). That patch is doing

    #include

    but it uses BITS_PER_LONG.

    The kernel file asm/bitsperlong.h provide only __BITS_PER_LONG.

    Let us use the __ variant in swap.h

    Link: http://lkml.kernel.org/r/20200213142147.17604-1-borntraeger@de.ibm.com
    Fixes: d5767057c9a ("uapi: rename ext2_swab() to swab() and share globally in swab.h")
    Signed-off-by: Christian Borntraeger
    Cc: Yury Norov
    Cc: Allison Randal
    Cc: Joe Perches
    Cc: Thomas Gleixner
    Cc: William Breathitt Gray
    Cc: Torsten Hilbrich
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christian Borntraeger
     
  • There are no in-kernel users remaining, but there may still be users that
    include linux/time.h instead of sys/time.h from user space, so leave the
    types available to user space while hiding them from kernel space.

    Only the __kernel_old_* versions of these types remain now.

    Link: http://lkml.kernel.org/r/20200110154232.4104492-4-arnd@arndb.de
    Signed-off-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Cc: Deepa Dinamani
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     

21 Feb, 2020

1 commit

  • drm-misc-next for 5.7:

    UAPI Changes:
    - lima: Add support for heap buffers

    Cross-subsystem Changes:

    Core Changes:
    - Implement mode_config mode_valid for memory constrained drivers
    - Bus format negociation between bridges
    - Consolidate fake vblank events for drivers without vblank interrupts
    - drm/bufs: dma_alloc related cleanups
    - drm/dp_mst: Various fixes
    - drm/print: New drm_device based print helpers
    - Thomas is a drm-misc maintainer now!

    Driver Changes:
    - DPMS cleanups for atomic drivers
    - Removal of owner field in SPI tinydrm drivers
    - Removal of explicit dependency on DT for tinydrm drivers
    - Conversion to YAML schemas for DT bindings
    - tidss: New driver
    - virtio: various reworks and fixes
    - Our usual dozen or so new panels or bridges

    Signed-off-by: Dave Airlie

    From: Maxime Ripard
    Link: https://patchwork.freedesktop.org/patch/msgid/20200210093421.xu4sofldm6wm6xq6@gilmour.lan

    Dave Airlie
     

20 Feb, 2020

1 commit

  • Alexei Starovoitov says:

    ====================
    pull-request: bpf 2020-02-19

    The following pull-request contains BPF updates for your *net* tree.

    We've added 10 non-merge commits during the last 10 day(s) which contain
    a total of 10 files changed, 93 insertions(+), 31 deletions(-).

    The main changes are:

    1) batched bpf hashtab fixes from Brian and Yonghong.

    2) various selftests and libbpf fixes.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Feb, 2020

1 commit

  • Pablo Neira Ayuso says:

    ====================
    Netfilter fixes for net

    This batch contains Netfilter fixes for net:

    1) Restrict hashlimit size to 1048576, from Cong Wang.

    2) Check for offload flags from nf_flow_table_offload_setup(),
    this fixes a crash in case the hardware offload is disabled.
    From Florian Westphal.

    3) Three preparation patches to extend the conntrack clash resolution,
    from Florian.

    4) Extend clash resolution to deal with DNS packets from the same flow
    racing to set up the NAT configuration.

    5) Small documentation fix in pipapo, from Stefano Brivio.

    6) Remove misleading unlikely() from pipapo_refill(), also from Stefano.

    7) Reduce hashlimit mutex scope, from Cong Wang. This patch is actually
    triggering another problem, still under discussion, another patch to
    fix this will follow up.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     

18 Feb, 2020

1 commit

  • The performance of bpf_redirect() is now roughly the same as that of
    bpf_redirect_map(). However, David Ahern pointed out that the header file
    has not been updated to reflect this, and still says that a significant
    performance increase is possible when using bpf_redirect_map(). Remove this
    text from the bpf_redirect_map() description, and reword the description in
    bpf_redirect() slightly. Also fix the 'Return' section of the
    bpf_redirect_map() documentation.

    Fixes: 1d233886dd90 ("xdp: Use bulking for non-map XDP_REDIRECT and consolidate code paths")
    Reported-by: David Ahern
    Signed-off-by: Toke Høiland-Jørgensen
    Signed-off-by: Daniel Borkmann
    Reviewed-by: Quentin Monnet
    Link: https://lore.kernel.org/bpf/20200218130334.29889-1-toke@redhat.com

    Toke Høiland-Jørgensen
     

17 Feb, 2020

1 commit

  • This patch further relaxes the need to drop an skb due to a clash with
    an existing conntrack entry.

    Current clash resolution handles the case where the clash occurs between
    two identical entries (distinct nf_conn objects with same tuples), i.e.:

    Original Reply
    existing: 10.2.3.4:42 -> 10.8.8.8:53 10.2.3.4:42 10.8.8.8:53 10.2.3.4:42 _nfct point to the existing one. The skb can then be
    processed normally just as if the clash would not have existed in the
    first place.

    For other clashes, the skb needs to be dropped.
    This frequently happens with DNS resolvers that send A and AAAA queries
    back-to-back when NAT rules are present that cause packets to get
    different DNAT transformations applied, for example:

    -m statistics --mode random ... -j DNAT --dnat-to 10.0.0.6:5353
    -m statistics --mode random ... -j DNAT --dnat-to 10.0.0.7:5353

    In this case the A or AAAA query is dropped which incurs a costly
    delay during name resolution.

    This patch also allows this collision type:
    Original Reply
    existing: 10.2.3.4:42 -> 10.8.8.8:53 10.2.3.4:42 10.8.8.8:53 10.2.3.4:42 10.8.8.8:53 (A)
    2. 10.2.3.4:42 -> 10.8.8.8:53 (AAAA)
    3. Apply DNAT, reply changed to 10.0.0.6
    4. 10.2.3.4:42 -> 10.8.8.8:53 (AAAA)
    5. Apply DNAT, reply changed to 10.0.0.7
    6. confirm/commit to conntrack table, no collisions
    7. commit clashing entry

    Reply comes in:

    10.2.3.4:42 Finds a conntrack, DNAT is reversed & packet forwarded to 10.2.3.4:42
    10.2.3.4:42 Finds a conntrack, DNAT is reversed & packet forwarded to 10.2.3.4:42
    The conntrack entry is deleted from table, as it has the NAT_CLASH
    bit set.

    In case of a retransmit from ORIGINAL dir, all further packets will get
    the DNAT transformation to 10.0.0.6.

    I tried to come up with other solutions but they all have worse
    problems.

    Alternatives considered were:
    1. Confirm ct entries at allocation time, not in postrouting.
    a. will cause uneccesarry work when the skb that creates the
    conntrack is dropped by ruleset.
    b. in case nat is applied, ct entry would need to be moved in
    the table, which requires another spinlock pair to be taken.
    c. breaks the 'unconfirmed entry is private to cpu' assumption:
    we would need to guard all nfct->ext allocation requests with
    ct->lock spinlock.

    2. Make the unconfirmed list a hash table instead of a pcpu list.
    Shares drawback c) of the first alternative.

    3. Document this is expected and force users to rearrange their
    ruleset (e.g. by using "-m cluster" instead of "-m statistics").
    nft has the 'jhash' expression which can be used instead of 'numgen'.

    Major drawback: doesn't fix what I consider a bug, not very realistic
    and I believe its reasonable to have the existing rulesets to 'just
    work'.

    4. Document this is expected and force users to steer problematic
    packets to the same CPU -- this would serialize the "allocate new
    conntrack entry/nat table evaluation/perform nat/confirm entry", so
    no race can occur. Similar drawback to 3.

    Another advantage of this patch compared to 1) and 2) is that there are
    no changes to the hot path; things are handled in the udp tracker and
    the clash resolution path.

    Cc: rcu@vger.kernel.org
    Cc: "Paul E. McKenney"
    Cc: Josh Triplett
    Cc: Jozsef Kadlecsik
    Signed-off-by: Florian Westphal
    Signed-off-by: Pablo Neira Ayuso

    Florian Westphal
     

11 Feb, 2020

1 commit


10 Feb, 2020

1 commit

  • Pull new zonefs file system from Damien Le Moal:
    "Zonefs is a very simple file system exposing each zone of a zoned
    block device as a file.

    Unlike a regular file system with native zoned block device support
    (e.g. f2fs or the on-going btrfs effort), zonefs does not hide the
    sequential write constraint of zoned block devices to the user. As a
    result, zonefs is not a POSIX compliant file system. Its goal is to
    simplify the implementation of zoned block devices support in
    applications by replacing raw block device file accesses with a richer
    file based API, avoiding relying on direct block device file ioctls
    which may be more obscure to developers.

    One example of this approach is the implementation of LSM
    (log-structured merge) tree structures (such as used in RocksDB and
    LevelDB) on zoned block devices by allowing SSTables to be stored in a
    zone file similarly to a regular file system rather than as a range of
    sectors of a zoned device. The introduction of the higher level
    construct "one file is one zone" can help reducing the amount of
    changes needed in the application while at the same time allowing the
    use of zoned block devices with various programming languages other
    than C.

    Zonefs IO management implementation uses the new iomap generic code.
    Zonefs has been successfully tested using a functional test suite
    (available with zonefs userland format tool on github) and a prototype
    implementation of LevelDB on top of zonefs"

    * tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
    zonefs: Add documentation
    fs: New zonefs file system

    Linus Torvalds
     

07 Feb, 2020

2 commits

  • zonefs is a very simple file system exposing each zone of a zoned block
    device as a file. Unlike a regular file system with zoned block device
    support (e.g. f2fs), zonefs does not hide the sequential write
    constraint of zoned block devices to the user. Files representing
    sequential write zones of the device must be written sequentially
    starting from the end of the file (append only writes).

    As such, zonefs is in essence closer to a raw block device access
    interface than to a full featured POSIX file system. The goal of zonefs
    is to simplify the implementation of zoned block device support in
    applications by replacing raw block device file accesses with a richer
    file API, avoiding relying on direct block device file ioctls which may
    be more obscure to developers. One example of this approach is the
    implementation of LSM (log-structured merge) tree structures (such as
    used in RocksDB and LevelDB) on zoned block devices by allowing SSTables
    to be stored in a zone file similarly to a regular file system rather
    than as a range of sectors of a zoned device. The introduction of the
    higher level construct "one file is one zone" can help reducing the
    amount of changes needed in the application as well as introducing
    support for different application programming languages.

    Zonefs on-disk metadata is reduced to an immutable super block to
    persistently store a magic number and optional feature flags and
    values. On mount, zonefs uses blkdev_report_zones() to obtain the device
    zone configuration and populates the mount point with a static file tree
    solely based on this information. E.g. file sizes come from the device
    zone type and write pointer offset managed by the device itself.

    The zone files created on mount have the following characteristics.
    1) Files representing zones of the same type are grouped together
    under a common sub-directory:
    * For conventional zones, the sub-directory "cnv" is used.
    * For sequential write zones, the sub-directory "seq" is used.
    These two directories are the only directories that exist in zonefs.
    Users cannot create other directories and cannot rename nor delete
    the "cnv" and "seq" sub-directories.
    2) The name of zone files is the number of the file within the zone
    type sub-directory, in order of increasing zone start sector.
    3) The size of conventional zone files is fixed to the device zone size.
    Conventional zone files cannot be truncated.
    4) The size of sequential zone files represent the file's zone write
    pointer position relative to the zone start sector. Truncating these
    files is allowed only down to 0, in which case, the zone is reset to
    rewind the zone write pointer position to the start of the zone, or
    up to the zone size, in which case the file's zone is transitioned
    to the FULL state (finish zone operation).
    5) All read and write operations to files are not allowed beyond the
    file zone size. Any access exceeding the zone size is failed with
    the -EFBIG error.
    6) Creating, deleting, renaming or modifying any attribute of files and
    sub-directories is not allowed.
    7) There are no restrictions on the type of read and write operations
    that can be issued to conventional zone files. Buffered, direct and
    mmap read & write operations are accepted. For sequential zone files,
    there are no restrictions on read operations, but all write
    operations must be direct IO append writes. mmap write of sequential
    files is not allowed.

    Several optional features of zonefs can be enabled at format time.
    * Conventional zone aggregation: ranges of contiguous conventional
    zones can be aggregated into a single larger file instead of the
    default one file per zone.
    * File ownership: The owner UID and GID of zone files is by default 0
    (root) but can be changed to any valid UID/GID.
    * File access permissions: the default 640 access permissions can be
    changed.

    The mkzonefs tool is used to format zoned block devices for use with
    zonefs. This tool is available on Github at:

    git@github.com:damien-lemoal/zonefs-tools.git.

    zonefs-tools also includes a test suite which can be run against any
    zoned block device, including null_blk block device created with zoned
    mode.

    Example: the following formats a 15TB host-managed SMR HDD with 256 MB
    zones with the conventional zones aggregation feature enabled.

    $ sudo mkzonefs -o aggr_cnv /dev/sdX
    $ sudo mount -t zonefs /dev/sdX /mnt
    $ ls -l /mnt/
    total 0
    dr-xr-xr-x 2 root root 1 Nov 25 13:23 cnv
    dr-xr-xr-x 2 root root 55356 Nov 25 13:23 seq

    The size of the zone files sub-directories indicate the number of files
    existing for each type of zones. In this example, there is only one
    conventional zone file (all conventional zones are aggregated under a
    single file).

    $ ls -l /mnt/cnv
    total 137101312
    -rw-r----- 1 root root 140391743488 Nov 25 13:23 0

    This aggregated conventional zone file can be used as a regular file.

    $ sudo mkfs.ext4 /mnt/cnv/0
    $ sudo mount -o loop /mnt/cnv/0 /data

    The "seq" sub-directory grouping files for sequential write zones has
    in this example 55356 zones.

    $ ls -lv /mnt/seq
    total 14511243264
    -rw-r----- 1 root root 0 Nov 25 13:23 0
    -rw-r----- 1 root root 0 Nov 25 13:23 1
    -rw-r----- 1 root root 0 Nov 25 13:23 2
    ...
    -rw-r----- 1 root root 0 Nov 25 13:23 55354
    -rw-r----- 1 root root 0 Nov 25 13:23 55355

    For sequential write zone files, the file size changes as data is
    appended at the end of the file, similarly to any regular file system.

    $ dd if=/dev/zero of=/mnt/seq/0 bs=4K count=1 conv=notrunc oflag=direct
    1+0 records in
    1+0 records out
    4096 bytes (4.1 kB, 4.0 KiB) copied, 0.000452219 s, 9.1 MB/s

    $ ls -l /mnt/seq/0
    -rw-r----- 1 root root 4096 Nov 25 13:23 /mnt/seq/0

    The written file can be truncated to the zone size, preventing any
    further write operation.

    $ truncate -s 268435456 /mnt/seq/0
    $ ls -l /mnt/seq/0
    -rw-r----- 1 root root 268435456 Nov 25 13:49 /mnt/seq/0

    Truncation to 0 size allows freeing the file zone storage space and
    restart append-writes to the file.

    $ truncate -s 0 /mnt/seq/0
    $ ls -l /mnt/seq/0
    -rw-r----- 1 root root 0 Nov 25 13:49 /mnt/seq/0

    Since files are statically mapped to zones on the disk, the number of
    blocks of a file as reported by stat() and fstat() indicates the size
    of the file zone.

    $ stat /mnt/seq/0
    File: /mnt/seq/0
    Size: 0 Blocks: 524288 IO Block: 4096 regular empty file
    Device: 870h/2160d Inode: 50431 Links: 1
    Access: (0640/-rw-r-----) Uid: ( 0/ root) Gid: ( 0/ root)
    Access: 2019-11-25 13:23:57.048971997 +0900
    Modify: 2019-11-25 13:52:25.553805765 +0900
    Change: 2019-11-25 13:52:25.553805765 +0900
    Birth: -

    The number of blocks of the file ("Blocks") in units of 512B blocks
    gives the maximum file size of 524288 * 512 B = 256 MB, corresponding
    to the device zone size in this example. Of note is that the "IO block"
    field always indicates the minimum IO size for writes and corresponds
    to the device physical sector size.

    This code contains contributions from:
    * Johannes Thumshirn ,
    * Darrick J. Wong ,
    * Christoph Hellwig ,
    * Chaitanya Kulkarni and
    * Ting Yao .

    Signed-off-by: Damien Le Moal
    Reviewed-by: Dave Chinner

    Damien Le Moal
     
  • Pull more KVM updates from Paolo Bonzini:
    "s390:
    - fix register corruption
    - ENOTSUPP/EOPNOTSUPP mixed
    - reset cleanups/fixes
    - selftests

    x86:
    - Bug fixes and cleanups
    - AMD support for APIC virtualization even in combination with
    in-kernel PIT or IOAPIC.

    MIPS:
    - Compilation fix.

    Generic:
    - Fix refcount overflow for zero page"

    * tag 'kvm-5.6-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (42 commits)
    KVM: vmx: delete meaningless vmx_decache_cr0_guest_bits() declaration
    KVM: x86: Mark CR4.UMIP as reserved based on associated CPUID bit
    x86: vmxfeatures: rename features for consistency with KVM and manual
    KVM: SVM: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses
    KVM: x86: Fix perfctr WRMSR for running counters
    x86/kvm/hyper-v: don't allow to turn on unsupported VMX controls for nested guests
    x86/kvm/hyper-v: move VMX controls sanitization out of nested_enable_evmcs()
    kvm: mmu: Separate generating and setting mmio ptes
    kvm: mmu: Replace unsigned with unsigned int for PTE access
    KVM: nVMX: Remove stale comment from nested_vmx_load_cr3()
    KVM: MIPS: Fold comparecount_func() into comparecount_wakeup()
    KVM: MIPS: Fix a build error due to referencing not-yet-defined function
    x86/kvm: do not setup pv tlb flush when not paravirtualized
    KVM: fix overflow of zero page refcount with ksm running
    KVM: x86: Take a u64 when checking for a valid dr7 value
    KVM: x86: use raw clock values consistently
    KVM: x86: reorganize pvclock_gtod_data members
    KVM: nVMX: delete meaningless nested_vmx_run() declaration
    KVM: SVM: allow AVIC without split irqchip
    kvm: ioapic: Lazy update IOAPIC EOI
    ...

    Linus Torvalds
     

06 Feb, 2020

1 commit

  • Pull sound fixes from Takashi Iwai:
    "A collection of pending small fixes:

    ALSA core:
    - PCM memory leak fix

    ASoC:
    - Lots of SOF and Intel driver fixes
    - Addition of COMMON_CLK for wcd934x
    - Regression fixes for AMD and Tegra platforms

    HD-audio:
    - DP-MST HDMI regression fix, Tegra workarounds, HP quirk fix

    Others:
    - A few fixes relevant with the recent uapi-updates
    - Sparse warnings and endianness fixes"

    * tag 'sound-fix-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (35 commits)
    ALSA: hda: Clear RIRB status before reading WP
    ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported
    ASoC: wcd934x: Add missing COMMON_CLK dependency to SND_SOC_ALL_CODECS
    ALSA: hda - Fix DP-MST support for NVIDIA codecs
    ASoC: wcd934x: Add missing COMMON_CLK dependency
    MAINTAINERS: Remove the Bard Liao from the MAINTAINERS of Realtek CODECs
    ASoC: tegra: Revert 24 and 32 bit support
    ASoC: SOF: Intel: add PCI ID for JasperLake
    ALSA: hdsp: Make the firmware loading ioctl a bit more readable
    ALSA: emu10k1: Fix annotation and cast for the recent uapi header change
    ALSA: dummy: Fix PCM format loop in proc output
    ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk
    ALSA: usb-audio: Fix endianess in descriptor validation
    ALSA: hda: Add JasperLake PCI ID and codec vid
    ALSA: pcm: Fix sparse warnings wrt snd_pcm_state_t
    ALSA: pcm: Fix memory leak at closing a stream without hw_free
    ALSA: uapi: Fix sparse warning
    ASoC: rt715: Add __maybe_unused to PM callbacks
    ASoC: rt711: Add __maybe_unused to PM callbacks
    ASoC: rt700: Add __maybe_unused to PM callbacks
    ...

    Linus Torvalds
     

05 Feb, 2020

1 commit


04 Feb, 2020

1 commit

  • Pull RTC updates from Alexandre Belloni:
    "The VL_READ and VL_CLR ioctls have been reworked to be more useful.
    This will not break userspace as there are very few users and they are
    using the integer value as a boolean.

    Apart from that, two drivers were reworked and a few fixes here and
    there for a net reduction of number of lines.

    Summary:

    Subsystem:
    - the VL_READ and VL_CLR ioctls are now documented and their behavior
    is unified across all the drivers.
    - RTC_I2C_AND_SPI Kconfig option rework to avoid selecting both
    REGMAP_I2C and REGMAP_SPI unecessarily.

    Drivers:
    - at91rm9200: remove deprecated procfs, add sam9x60, sama5d4 and
    sama5d2 compatibles.
    - cmos: solve lost interrupts issue on MS Surface 3
    - hym8563: return proper errno when time is invalid
    - rv3029: many fixes, nvram support"

    * tag 'rtc-5.6' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (63 commits)
    dt-bindings: rtc: at91rm9200: document clocks property
    rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
    rtc: Kconfig: select REGMAP_I2C when necessary
    rtc: Kconfig: properly indent sd3078 entry
    rtc: cmos: Refactor code by using the new dmi_get_bios_year() helper
    rtc: cmos: Use predefined value for RTC IRQ on legacy x86
    rtc: cmos: Stop using shared IRQ
    rtc: tps6586x: Use IRQ_NOAUTOEN flag
    rtc: at91rm9200: use FIELD_PREP/FIELD_GET
    rtc: at91rm9200: avoid time readout in at91_rtc_setalarm
    rtc: at91rm9200: move register definitions to C file
    rtc: at91rm9200: add sama5d4 and sama5d2 compatibles
    dt-bindings: rtc: at91rm9200: convert bindings to json-schema
    rtc: at91rm9200: remove procfs information
    dt-bindings: atmel, at91rm9200-rtc: add microchip, sam9x60-rtc
    rtc: pcf8563: Use BIT
    rtc: moxart: Convert to SPDX identifier
    rtc: ds1343: Remove unused struct spi_device in struct ds1343_priv
    rtc: rx8025: Remove struct i2c_client from struct rx8025_data
    rtc: hym8563: Read the valid flag directly instead of caching it
    ...

    Linus Torvalds
     

02 Feb, 2020

1 commit

  • Pull random changes from Ted Ts'o:
    "Change /dev/random so that it uses the CRNG and only blocking if the
    CRNG hasn't initialized, instead of the old blocking pool. Also clean
    up archrandom.h, and some other miscellaneous cleanups"

    * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (24 commits)
    s390x: Mark archrandom.h functions __must_check
    powerpc: Mark archrandom.h functions __must_check
    powerpc: Use bool in archrandom.h
    x86: Mark archrandom.h functions __must_check
    linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
    linux/random.h: Use false with bool
    linux/random.h: Remove arch_has_random, arch_has_random_seed
    s390: Remove arch_has_random, arch_has_random_seed
    powerpc: Remove arch_has_random, arch_has_random_seed
    x86: Remove arch_has_random, arch_has_random_seed
    random: remove some dead code of poolinfo
    random: fix typo in add_timer_randomness()
    random: Add and use pr_fmt()
    random: convert to ENTROPY_BITS for better code readability
    random: remove unnecessary unlikely()
    random: remove kernel.random.read_wakeup_threshold
    random: delete code to pull data into pools
    random: remove the blocking pool
    random: make /dev/random be almost like /dev/urandom
    random: ignore GRND_RANDOM in getentropy(2)
    ...

    Linus Torvalds
     

01 Feb, 2020

7 commits

  • Prepare input updates for 5.6 merge window.

    Dmitry Torokhov
     
  • Pull PCI updates from Bjorn Helgaas:

    "Resource management:

    - Improve resource assignment for hot-added nested bridges, e.g.,
    Thunderbolt (Nicholas Johnson)

    Power management:

    - Optionally print config space of devices before suspend (Chen Yu)

    - Increase D3 delay for AMD Ryzen5/7 XHCI controllers (Daniel Drake)

    Virtualization:

    - Generalize DMA alias quirks (James Sewart)

    - Add DMA alias quirk for PLX PEX NTB (James Sewart)

    - Fix IOV memory leak (Navid Emamdoost)

    AER:

    - Log which device prevents error recovery (Yicong Yang)

    Peer-to-peer DMA:

    - Whitelist Intel SkyLake-E (Armen Baloyan)

    Broadcom iProc host bridge driver:

    - Apply PAXC quirk whether driver is built-in or module (Wei Liu)

    Broadcom STB host bridge driver:

    - Add Broadcom STB PCIe host controller driver (Jim Quinlan)

    Intel Gateway SoC host bridge driver:

    - Add driver for Intel Gateway SoC (Dilip Kota)

    Intel VMD host bridge driver:

    - Add support for DMA aliases on other buses (Jon Derrick)

    - Remove dma_map_ops overrides (Jon Derrick)

    - Remove now-unused X86_DEV_DMA_OPS (Christoph Hellwig)

    NVIDIA Tegra host bridge driver:

    - Fix Tegra30 afi_pex2_ctrl register offset (Marcel Ziswiler)

    Panasonic UniPhier host bridge driver:

    - Remove module code since driver can't be built as a module
    (Masahiro Yamada)

    Qualcomm host bridge driver:

    - Add support for SDM845 PCIe controller (Bjorn Andersson)

    TI Keystone host bridge driver:

    - Fix "num-viewport" DT property error handling (Kishon Vijay Abraham I)

    - Fix link training retries initiation (Yurii Monakov)

    - Fix outbound region mapping (Yurii Monakov)

    Misc:

    - Add Switchtec Gen4 support (Kelvin Cao)

    - Add Switchtec Intercomm Notify and Upstream Error Containment
    support (Logan Gunthorpe)

    - Use dma_set_mask_and_coherent() since Switchtec supports 64-bit
    addressing (Wesley Sheng)"

    * tag 'pci-v5.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (60 commits)
    PCI: Allow adjust_bridge_window() to shrink resource if necessary
    PCI: Set resource size directly in adjust_bridge_window()
    PCI: Rename extend_bridge_window() to adjust_bridge_window()
    PCI: Rename extend_bridge_window() parameter
    PCI: Consider alignment of hot-added bridges when assigning resources
    PCI: Remove local variable usage in pci_bus_distribute_available_resources()
    PCI: Pass size + alignment to pci_bus_distribute_available_resources()
    PCI: Rename variables
    PCI: vmd: Add two VMD Device IDs
    PCI: Remove unnecessary braces
    PCI: brcmstb: Add MSI support
    PCI: brcmstb: Add Broadcom STB PCIe host controller driver
    x86/PCI: Remove X86_DEV_DMA_OPS
    PCI: vmd: Remove dma_map_ops overrides
    iommu/vt-d: Remove VMD child device sanity check
    iommu/vt-d: Use pci_real_dma_dev() for mapping
    PCI: Introduce pci_real_dma_dev()
    x86/PCI: Expose VMD's pci_dev in struct pci_sysdata
    x86/PCI: Add to_pci_sysdata() helper
    PCI/AER: Initialize aer_fifo
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - New staging driver for Rockship ISPv1 unit

    - New staging driver for Rockchip MIPI Synopsys DPHY RX0

    - y2038 fixes at V4L2 API (backward-compatible)

    - A dvb core fix when receiving invalid EIT sections

    - Some clang-specific warnings got fixed

    - Added support for touch V4L2 interface at vivid

    - Several drivers were converted to use the new
    i2c_new_scanned_device() kAPI

    - Added sm1 support at meson's vdec driver

    - Several other driver cleanups, fixes and improvements

    * tag 'media/v5.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (207 commits)
    media: staging/intel-ipu3: remove TODO item about acronyms
    media: v4l2-fwnode: Print the node name while parsing endpoints
    media: Revert "media: staging/intel-ipu3: make imgu use fixed running mode"
    media: mt9v111: constify copied structure
    media: platform: VIDEO_MEDIATEK_JPEG can also depend on MTK_IOMMU
    media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value
    media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors
    media: hantro: fix post-processing NULL pointer dereference
    media: rcar-vin: Use correct pixel format when aligning format
    media: MAINTAINERS: add entry for Rockchip ISP1 driver
    media: staging: rkisp1: add TODO file for staging
    media: staging: rkisp1: add document for rkisp1 meta buffer format
    media: staging: rkisp1: add output device for parameters
    media: staging: rkisp1: add capture device for statistics
    media: staging: rkisp1: add user space ABI definitions
    media: staging: rkisp1: add streaming paths
    media: staging: rkisp1: add Rockchip ISP1 base driver
    media: staging: phy-rockchip-dphy-rx0: add Rockchip MIPI Synopsys DPHY RX0 driver
    media: staging: dt-bindings: add Rockchip MIPI RX D-PHY RX0 yaml bindings
    media: staging: dt-bindings: add Rockchip ISP1 yaml bindings
    ...

    Linus Torvalds
     
  • Pull rdma updates from Jason Gunthorpe:
    "A very quiet cycle with few notable changes. Mostly the usual list of
    one or two patches to drivers changing something that isn't quite rc
    worthy. The subsystem seems to be seeing a larger number of rework and
    cleanup style patches right now, I feel that several vendors are
    prepping their drivers for new silicon.

    Summary:

    - Driver updates and cleanup for qedr, bnxt_re, hns, siw, mlx5, mlx4,
    rxe, i40iw

    - Larger series doing cleanup and rework for hns and hfi1.

    - Some general reworking of the CM code to make it a little more
    understandable

    - Unify the different code paths connected to the uverbs FD scheme

    - New UAPI ioctls conversions for get context and get async fd

    - Trace points for CQ and CM portions of the RDMA stack

    - mlx5 driver support for virtio-net formatted rings as RDMA raw
    ethernet QPs

    - verbs support for setting the PCI-E relaxed ordering bit on DMA
    traffic connected to a MR

    - A couple of bug fixes that came too late to make rc7"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma: (108 commits)
    RDMA/core: Make the entire API tree static
    RDMA/efa: Mask access flags with the correct optional range
    RDMA/cma: Fix unbalanced cm_id reference count during address resolve
    RDMA/umem: Fix ib_umem_find_best_pgsz()
    IB/mlx4: Fix leak in id_map_find_del
    IB/opa_vnic: Spelling correction of 'erorr' to 'error'
    IB/hfi1: Fix logical condition in msix_request_irq
    RDMA/cm: Remove CM message structs
    RDMA/cm: Use IBA functions for complex structure members
    RDMA/cm: Use IBA functions for simple structure members
    RDMA/cm: Use IBA functions for swapping get/set acessors
    RDMA/cm: Use IBA functions for simple get/set acessors
    RDMA/cm: Add SET/GET implementations to hide IBA wire format
    RDMA/cm: Add accessors for CM_REQ transport_type
    IB/mlx5: Return the administrative GUID if exists
    RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence
    IB/mlx4: Fix memory leak in add_gid error flow
    IB/mlx5: Expose RoCE accelerator counters
    RDMA/mlx5: Set relaxed ordering when requested
    RDMA/core: Add the core support field to METHOD_GET_CONTEXT
    ...

    Linus Torvalds
     
  • Pull updates from Andrew Morton:
    "Most of -mm and quite a number of other subsystems: hotfixes, scripts,
    ocfs2, misc, lib, binfmt, init, reiserfs, exec, dma-mapping, kcov.

    MM is fairly quiet this time. Holidays, I assume"

    * emailed patches from Andrew Morton : (118 commits)
    kcov: ignore fault-inject and stacktrace
    include/linux/io-mapping.h-mapping: use PHYS_PFN() macro in io_mapping_map_atomic_wc()
    execve: warn if process starts with executable stack
    reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
    init/main.c: fix misleading "This architecture does not have kernel memory protection" message
    init/main.c: fix quoted value handling in unknown_bootoption
    init/main.c: remove unnecessary repair_env_string in do_initcall_level
    init/main.c: log arguments and environment passed to init
    fs/binfmt_elf.c: coredump: allow process with empty address space to coredump
    fs/binfmt_elf.c: coredump: delete duplicated overflow check
    fs/binfmt_elf.c: coredump: allocate core ELF header on stack
    fs/binfmt_elf.c: make BAD_ADDR() unlikely
    fs/binfmt_elf.c: better codegen around current->mm
    fs/binfmt_elf.c: don't copy ELF header around
    fs/binfmt_elf.c: fix ->start_code calculation
    fs/binfmt_elf.c: smaller code generation around auxv vector fill
    lib/find_bit.c: uninline helper _find_next_bit()
    lib/find_bit.c: join _find_next_bit{_le}
    uapi: rename ext2_swab() to swab() and share globally in swab.h
    lib/scatterlist.c: adjust indentation in __sg_alloc_table
    ...

    Linus Torvalds
     
  • ext2_swab() is defined locally in lib/find_bit.c However it is not
    specific to ext2, neither to bitmaps.

    There are many potential users of it, so rename it to just swab() and
    move to include/uapi/linux/swab.h

    ABI guarantees that size of unsigned long corresponds to BITS_PER_LONG,
    therefore drop unneeded cast.

    Link: http://lkml.kernel.org/r/20200103202846.21616-1-yury.norov@gmail.com
    Signed-off-by: Yury Norov
    Cc: Allison Randal
    Cc: Joe Perches
    Cc: Thomas Gleixner
    Cc: William Breathitt Gray
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yury Norov
     
  • As zone reclaim has been replaced by node reclaim, this patch fixes
    related comments.

    Link: http://lkml.kernel.org/r/20191126141346.GA22665@haolee.github.io
    Signed-off-by: Hao Lee
    Reviewed-by: Andrew Morton
    Cc: Anshuman Khandual
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hao Lee