tree 062e221eeb7d4da5959f5ee0e268ecb0bec400be
parent 82b5a24938c46fd99a9462391e5da37b83398eeb
parent f3a2f786ebf31d305c0a3d3fdb750ca437c34331
author Lucas Wei <lucaswei@google.com> 1641968240 +0800
committer Lucas Wei <lucaswei@google.com> 1642686970 +0800

Merge android-4.14-stable (4.14.261) into android-msm-pixel-4.14-lts

Merge 4.14.261 into android-4.14-stable
Linux 4.14.261
  * sctp: use call_rcu to free endpoint
      include/net/sctp/sctp.h
      include/net/sctp/structs.h
      net/sctp/endpointola.c
      net/sctp/sctp_diag.c
      net/sctp/socket.c
  * net: fix use-after-free in tw_timer_handler
      net/ipv4/af_inet.c
    Input: spaceball - fix parsing of movement data packets
    Input: appletouch - initialize work before device registration
    scsi: vmw_pvscsi: Set residual data length conditionally
  * binder: fix async_free_space accounting for empty parcels
      drivers/android/binder_alloc.c
  * usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
      drivers/usb/gadget/function/f_fs.c
  * xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
      drivers/usb/host/xhci-pci.c
  * uapi: fix linux/nfc.h userspace compilation errors
      include/uapi/linux/nfc.h
  * nfc: uapi: use kernel size_t to fix user-space builds
      include/uapi/linux/nfc.h
    fsl/fman: Fix missing put_device() call in fman_port_probe
    NFC: st21nfca: Fix memory leak in device probe and remove
    net: usb: pegasus: Do not drop long Ethernet frames
    scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write()
  * selinux: initialize proto variable in selinux_ip_postroute_compat()
      security/selinux/hooks.c
    recordmcount.pl: fix typo in s390 mcount regex
    platform/x86: apple-gmux: use resource_size() with res
    tee: handle lookup of shm with reference count 0
  * HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option
      drivers/hid/Kconfig
    Merge 4.14.260 into android-4.14-stable
Linux 4.14.260
    phonet/pep: refuse to enable an unbound pipe
    hamradio: improve the incomplete fix to avoid NPD
    hamradio: defer ax25 kfree after unregister_netdev
    ax25: NPD bug when detaching AX25 device
    hwmon: (lm90) Do not report 'busy' status bit as alarm
    KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state
  * usb: gadget: u_ether: fix race in setting MAC address in setup phase
      drivers/usb/gadget/function/u_ether.c
  * f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr()
      fs/f2fs/xattr.c
    ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling
    pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines
    x86/pkey: Fix undefined behaviour with PKRU_WD_BIT
    Input: atmel_mxt_ts - fix double free in mxt_read_info_block
    ALSA: drivers: opl3: Fix incorrect use of vp->state
  * ALSA: jack: Check the return value of kstrdup()
      sound/core/jack.c
    hwmon: (lm90) Fix usage of CONFIG2 register in detect function
    sfc: falcon: Check null pointer of rx_queue->page_ring
    drivers: net: smc911x: Check for error irq
    fjes: Check for error irq
  * bonding: fix ad_actor_system option setting to default
      drivers/net/bonding/bond_options.c
  * net: skip virtio_net_hdr_set_proto if protocol already set
      include/linux/virtio_net.h
  * net: accept UFOv6 packages in virtio_net_hdr_to_skb
      include/linux/virtio_net.h
    qlcnic: potential dereference null pointer of rx_queue->page_ring
  * netfilter: fix regression in looped (broad|multi)cast's MAC handling
      net/netfilter/nfnetlink_log.c
      net/netfilter/nfnetlink_queue.c
    IB/qib: Fix memory leak in qib_user_sdma_queue_pkts()
    spi: change clk_disable_unprepare to clk_unprepare
    HID: holtek: fix mouse probing
    can: kvaser_usb: get CAN clock frequency from device
    net: usb: lan78xx: add Allied Telesis AT29M2-AF
    Merge 4.14.259 into android-4.14-stable
Linux 4.14.259
    xen/netback: don't queue unlimited number of packages
    xen/netback: fix rx queue stall detection
    xen/console: harden hvc_xen against event channel storms
    xen/netfront: harden netfront against event channel storms
    xen/blkfront: harden blkfront against event channel storms
  * Input: touchscreen - avoid bitwise vs logical OR warning
      drivers/input/touchscreen/of_touchscreen.c
  * ARM: 8800/1: use choice for kernel unwinders
      lib/Kconfig.debug
    mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO
    ARM: 8805/2: remove unneeded naked function usage
    net: lan78xx: Avoid unnecessary self assignment
    scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select()
  * fuse: annotate lock in fuse_reverse_inval_entry()
      fs/fuse/dir.c
    ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name
    firmware: arm_scpi: Fix string overflow in SCPI genpd driver
    net: systemport: Add global locking for descriptor lifecycle
    libata: if T_LENGTH is zero, dma direction should be DMA_NONE
  * timekeeping: Really make sure wall_to_monotonic isn't positive
      kernel/time/timekeeping.c
    USB: serial: option: add Telit FN990 compositions
  * PCI/MSI: Mask MSI-X vectors only on success
      drivers/pci/msi.c
  * PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error
      drivers/pci/msi.c
  * USB: gadget: bRequestType is a bitfield, not a enum
      drivers/usb/gadget/composite.c
  * sit: do not call ipip6_dev_free() from sit_init_net()
      net/ipv6/sit.c
  * net/packet: rx_owner_map depends on pg_vec
      net/packet/af_packet.c
    ixgbe: set X550 MDIO speed before talking to PHY
    igbvf: fix double free in `igbvf_probe`
    soc/tegra: fuse: Fix bitwise vs. logical OR warning
    dmaengine: st_fdma: fix MODULE_ALIAS
    ARM: socfpga: dts: fix qspi node compatible
    x86/sme: Explicitly map new EFI memmap table as encrypted
  * x86: Make ARCH_USE_MEMREMAP_PROT a generic Kconfig symbol
      arch/Kconfig
    nfsd: fix use-after-free due to delegation race
  * audit: improve robustness of the audit queue handling
      kernel/audit.c
    dm btree remove: fix use after free in rebalance_children()
    recordmcount.pl: look for jgnop instruction as well as bcrl on s390
    mac80211: send ADDBA requests using the tid/queue of the aggregation session
    hwmon: (dell-smm) Fix warning on /proc/i8k creation error
  * bpf: fix panic due to oob in bpf_prog_test_run_skb
      net/bpf/test_run.c
    tracing: Fix a kmemleak false positive in tracing_map
  * net: netlink: af_netlink: Prevent empty skb by adding a check on len.
      net/netlink/af_netlink.c
    i2c: rk3x: Handle a spurious start completion interrupt flag
    parisc/agp: Annotate parisc agp init functions with __init
    net/mlx4_en: Update reported link modes for 1/10G
    drm/msm/dsi: set default num_data_lanes
    nfc: fix segfault in nfc_genl_dump_devices_done
  * FROMGIT: USB: gadget: bRequestType is a bitfield, not a enum
      drivers/usb/gadget/composite.c
    Merge 4.14.258 into android-4.14-stable
Linux 4.14.258
    irqchip: nvic: Fix offset for Interrupt Priority Offsets
  * irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
      drivers/irqchip/irq-gic-v3-its.c
    irqchip/armada-370-xp: Fix support for Multi-MSI interrupts
    irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()
    iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove
    iio: adc: axp20x_adc: fix charging current reporting on AXP22x
    iio: dln2: Check return value of devm_iio_trigger_register()
    iio: dln2-adc: Fix lockdep complaint
    iio: itg3200: Call iio_trigger_notify_done() on error
    iio: kxsd9: Don't return error code in trigger handler
    iio: ltr501: Don't return error code in trigger handler
    iio: mma8452: Fix trigger reference couting
    iio: stk3310: Don't return error code in interrupt handler
    iio: trigger: stm32-timer: fix MODULE_ALIAS
    iio: trigger: Fix reference counting
  * usb: core: config: using bit mask instead of individual bits
      drivers/usb/core/config.c
  * xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending
      drivers/usb/host/xhci.c
  * usb: core: config: fix validation of wMaxPacketValue entries
      drivers/usb/core/config.c
  * USB: gadget: zero allocate endpoint 0 buffers
      drivers/usb/gadget/composite.c
  * USB: gadget: detect too-big endpoint 0 requests
      drivers/usb/gadget/composite.c
    net/qla3xxx: fix an error code in ql_adapter_up()
  * net, neigh: clear whole pneigh_entry at alloc time
      net/core/neighbour.c
    net: fec: only clear interrupt of handling queue in fec_enet_rx_queue()
    net: altera: set a couple error code in probe()
  * net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero
      drivers/net/usb/cdc_ncm.c
    qede: validate non LSO skb length
  * block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2)
      block/ioprio.c
  * tracefs: Set all files to the same group ownership as the mount option
      fs/tracefs/inode.c
  * signalfd: use wake_up_pollfree()
      fs/signalfd.c
  * binder: use wake_up_pollfree()
      drivers/android/binder.c
  * wait: add wake_up_pollfree()
      include/linux/wait.h
      kernel/sched/wait.c
    libata: add horkage for ASMedia 1092
    can: m_can: Disable and ignore ELO interrupt
    can: pch_can: pch_can_rx_normal: fix use after free
  * tracefs: Have new files inherit the ownership of their parent
      fs/tracefs/inode.c
    ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*()
    ALSA: pcm: oss: Limit the period size to 16MB
    ALSA: pcm: oss: Fix negative period/buffer sizes
  * ALSA: ctl: Fix copy of updated id with element read/write
      sound/core/control_compat.c
  * mm: bdi: initialize bdi_min_ratio when bdi is unregistered
      mm/backing-dev.c
    IB/hfi1: Correct guard on eager buffer deallocation
    seg6: fix the iif in the IPv6 socket control block
    nfp: Fix memory leak in nfp_cpp_area_cache_add()
  * bpf: Fix the off-by-two error in range markings
      kernel/bpf/verifier.c
    nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done
    can: sja1000: fix use after free in ems_pcmcia_add_card()
    HID: check for valid USB device for many HID drivers
    HID: wacom: fix problems when device is not a valid USB device
  * HID: add USB_HID dependancy on some USB HID drivers
      drivers/hid/Kconfig
  * HID: add USB_HID dependancy to hid-chicony
      drivers/hid/Kconfig
  * HID: add USB_HID dependancy to hid-prodikeys
      drivers/hid/Kconfig
  * HID: add hid_is_usb() function to make it simpler for USB detection
      include/linux/hid.h
  * UPSTREAM: USB: gadget: zero allocate endpoint 0 buffers
      drivers/usb/gadget/composite.c
  * UPSTREAM: USB: gadget: detect too-big endpoint 0 requests
      drivers/usb/gadget/composite.c

Bug: 213962841
Change-Id: I69af3b9152e218567ff363383d8cde53f6c9dd15
Signed-off-by: Lucas Wei <lucaswei@google.com>
