Commit Graph

135 Commits

Author SHA1 Message Date
Wilson Sung
e3167a4609 Merge android-4.19-stable (4.19.294) into android-msm-pixel-4.19-lts
Merge 4.19.294 into android-4.19-stable
Linux 4.19.294
    Revert "ARM: ep93xx: fix missing-prototype warnings"
    Revert "MIPS: Alchemy: fix dbdma2"
    Merge 4.19.293 into android-4.19-stable
Linux 4.19.293
    dma-buf/sw_sync: Avoid recursive lock during fence signal
  * clk: Fix undefined reference to `clk_rate_exclusive_{get,put}'
      include/linux/clk.h
  * scsi: core: raid_class: Remove raid_component_add()
      include/linux/raid_class.h
    scsi: snic: Fix double free in snic_tgt_create()
    irqchip/mips-gic: Don't touch vl_map if a local interrupt is not routable
  * rtnetlink: Reject negative ifindexes in RTM_NEWLINK
      net/core/rtnetlink.c
  * netfilter: nf_queue: fix socket leak
      net/netfilter/nf_queue.c
  * sched/rt: pick_next_rt_entity(): check list_entry
      kernel/sched/rt.c
  * mmc: block: Fix in_flight[issue_type] value error
      drivers/mmc/core/block.c
    x86/fpu: Set X86_FEATURE_OSXSAVE feature after enabling OSXSAVE in CR4
    PCI: acpiphp: Use pci_assign_unassigned_bridge_resources() only for non-root bus
    media: vcodec: Fix potential array out-of-bounds in encoder queue_setup
  * lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels
      lib/clz_ctz.c
    batman-adv: Fix batadv_v_ogm_aggr_send memory leak
    batman-adv: Fix TT global entry leak when client roamed back
    batman-adv: Do not get eth header before batadv_check_management_packet
    batman-adv: Don't increase MTU when set by user
    batman-adv: Trigger events for auto adjusted MTU
    nfsd: Fix race to FREE_STATEID and cl_revoked
    ibmveth: Use dcbf rather than dcbfl
    ipvs: fix racy memcpy in proc_do_sync_threshold
    ipvs: Improve robustness to the ipvs sysctl
  * bonding: fix macvlan over alb bond support
      drivers/net/bonding/bond_alb.c
      include/net/bonding.h
  * net: remove bond_slave_has_mac_rcu()
      include/net/bonding.h
  * net/sched: fix a qdisc modification with ambiguous command request
      net/sched/sch_api.c
    igb: Avoid starting unnecessary workqueues
    dccp: annotate data-races in dccp_poll()
  * sock: annotate data-races around prot->memory_pressure
      include/net/sock.h
      net/sctp/socket.c
  * tracing: Fix memleak due to race between current_tracer and trace
      kernel/trace/trace.c
    drm/amd/display: check TG is non-null before checking if enabled
    drm/amd/display: do not wait for mpc idle if tg is disabled
  * regmap: Account for register length in SMBus I/O limits
      drivers/base/regmap/regmap-i2c.c
    dm integrity: reduce vmalloc space footprint on 32-bit architectures
    dm integrity: increase RECALC_SECTORS to improve recalculate speed
    powerpc: Fail build if using recordmcount with binutils v2.37
    powerpc: remove leftover code of old GCC version checks
    powerpc/32: add stack protector support
    fbdev: fix potential OOB read in fast_imageblit()
    fbdev: Fix sys_imageblit() for arbitrary image widths
    fbdev: Improve performance of sys_imageblit()
    tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
    Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP"
    MIPS: cpu-features: Use boot_cpu_type for CPU type based features
    MIPS: cpu-features: Enable octeon_cache by cpu_type
    fs: dlm: fix mismatch of plock results from userspace
    fs: dlm: use dlm_plock_info for do_unlock_close
    fs: dlm: change plock interrupted message to debug again
    fs: dlm: add pid to debug log
    dlm: replace usage of found with dedicated list iterator variable
    dlm: improve plock logging if interrupted
    PCI: acpiphp: Reassign resources on bridge if necessary
    net: phy: broadcom: stub c45 read/write for 54810
  * net: xfrm: Amend XFRMA_SEC_CTX nla_policy structure
      net/xfrm/xfrm_user.c
  * net: fix the RTO timer retransmitting skb every 1ms if linear option is enabled
      net/ipv4/tcp_timer.c
    virtio-net: set queues after driver_ok
  * af_unix: Fix null-ptr-deref in unix_stream_sendpage().
      net/unix/af_unix.c
  * netfilter: set default timeout to 3 secs for sctp shutdown send and recv state
      net/netfilter/nf_conntrack_proto_sctp.c
    test_firmware: prevent race conditions by a correct implementation of locking
    mmc: wbsd: fix double mmc_free_host() in wbsd_init()
    cifs: Release folio lock on fscache read hit.
  * ALSA: usb-audio: Add support for Mythware XA001AU capture and playback interfaces.
      sound/usb/quirks-table.h
    serial: 8250: Fix oops for port->pm on uart_change_pm()
    ASoC: meson: axg-tdm-formatter: fix channel slot allocation
    ASoC: rt5665: add missed regulator_bulk_disable
  * net: do not allow gso_size to be set to GSO_BY_FRAGS
      include/linux/virtio_net.h
  * sock: Fix misuse of sk_under_memory_pressure()
      include/net/sock.h
      net/core/sock.c
    i40e: fix misleading debug logs
    team: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
    netfilter: nft_dynset: disallow object maps
    selftests: mirror_gre_changes: Tighten up the TTL test match
  * xfrm: add NULL check in xfrm_update_ae_params
      net/xfrm/xfrm_user.c
  * ip_vti: fix potential slab-use-after-free in decode_session6
      net/ipv4/ip_vti.c
  * ip6_vti: fix slab-use-after-free in decode_session6
      net/ipv6/ip6_vti.c
  * xfrm: fix slab-use-after-free in decode_session6
      net/xfrm/xfrm_interface_core.c
  * xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
      net/xfrm/Makefile
  * net: af_key: fix sadb_x_filter validation
      net/key/af_key.c
  * net: xfrm: Fix xfrm_address_filter OOB read
      net/xfrm/xfrm_user.c
    btrfs: fix BUG_ON condition in btrfs_cancel_balance
    powerpc/rtas_flash: allow user copy to flash block cache objects
    fbdev: mmp: fix value check in mmphw_probe()
    virtio-mmio: don't break lifecycle of vm_dev
    virtio-mmio: Use to_virtio_mmio_device() to simply code
    virtio-mmio: convert to devm_platform_ioremap_resource
    nfsd: Remove incorrect check in nfsd4_validate_stateid
    nfsd4: kill warnings on testing stateids with mismatched clientids
    block: fix signed int overflow in Amiga partition support
    mmc: sunxi: fix deferred probing
    mmc: bcm2835: fix deferred probing
  * mmc: Remove dev_err() usage after platform_get_irq()
      drivers/mmc/host/sdhci-msm.c
    mmc: tmio: move tmio_mmc_set_clock() to platform hook
    mmc: tmio: replace tmio_mmc_clk_stop() calls with tmio_mmc_set_clock()
    mmc: meson-gx: remove redundant mmc_request_done() call from irq context
    mmc: meson-gx: remove useless lock
  * USB: dwc3: qcom: fix NULL-deref on suspend
      drivers/usb/dwc3/dwc3-qcom.c
  * usb: dwc3: qcom: Add helper functions to enable,disable wake irqs
      drivers/usb/dwc3/dwc3-qcom.c
    irqchip/mips-gic: Use raw spinlock for gic_lock
    irqchip/mips-gic: Get rid of the reliance on irq_cpu_online()
    x86/topology: Fix erroneous smp_num_siblings on Intel Hybrid platforms
    powerpc/64s/radix: Fix soft dirty tracking
    powerpc: Move page table dump files in a dedicated subdirectory
    powerpc/mm: dump block address translation on book3s/32
    powerpc/mm: dump segment registers on book3s/32
    powerpc/mm: Move pgtable_t into platform headers
    powerpc/mm: move platform specific mmu-xxx.h in platform directories
    iio: addac: stx104: Fix race condition when converting analog-to-digital
    iio: addac: stx104: Fix race condition for stx104_write_raw()
    iio: adc: stx104: Implement and utilize register structures
    iio: adc: stx104: Utilize iomap interface
  * iio: add addac subdirectory
      drivers/iio/Kconfig
      drivers/iio/Makefile
      drivers/iio/addac/Kconfig
      drivers/iio/addac/Makefile
  * IMA: allow/fix UML builds
      security/integrity/ima/Kconfig
    drm/amdgpu: Fix potential fence use-after-free v2
  * Bluetooth: L2CAP: Fix use-after-free
      net/bluetooth/l2cap_core.c
    pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()
    gfs2: Fix possible data races in gfs2_show_options()
    media: platform: mediatek: vpu: fix NULL ptr dereference
  * media: v4l2-mem2mem: add lock to protect parameter num_rdy
      include/media/v4l2-mem2mem.h
    FS: JFS: Check for read-only mounted filesystem in txBegin
    FS: JFS: Fix null-ptr-deref Read in txBegin
    MIPS: dec: prom: Address -Warray-bounds warning
    fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev
    udf: Fix uninitialized array access for some pathnames
  * HID: add quirk for 03f0:464a HP Elite Presenter Mouse
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
  * quota: fix warning in dqgrab()
      fs/quota/dquot.c
  * quota: Properly disable quotas when add_dquot_ref() fails
      fs/quota/dquot.c
    ALSA: emu10k1: roll up loops in DSP setup code for Audigy
    drm/radeon: Fix integer overflow in radeon_cs_parser_init
    selftests: forwarding: tc_flower: Relax success criterion
  * lib/mpi: Eliminate unused umul_ppmm definitions for MIPS
      lib/mpi/longlong.h
    Merge 4.19.292 into android-4.19-stable
  * Revert "posix-timers: Ensure timer ID search-loop limit is valid"
      include/linux/sched/signal.h
      kernel/time/posix-timers.c
    Merge 4.19.291 into android-4.19-stable
    Merge 4.19.290 into android-4.19-stable
    UPSTREAM: media: usb: siano: Fix warning due to null work_func_t function pointer
  * UPSTREAM: Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
      net/bluetooth/l2cap_sock.c
    UPSTREAM: net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  * UPSTREAM: net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
      net/sched/cls_u32.c
Linux 4.19.292
  * sch_netem: fix issues in netem_change() vs get_dist_table()
      net/sched/sch_netem.c
    alpha: remove __init annotation from exported page_is_ram()
    scsi: core: Fix possible memory leak if device_add() fails
    scsi: snic: Fix possible memory leak if device_add() fails
    scsi: 53c700: Check that command slot is not NULL
    scsi: storvsc: Fix handling of virtual Fibre Channel timeouts
  * scsi: core: Fix legacy /proc parsing buffer overflow
      drivers/scsi/scsi_proc.c
  * netfilter: nf_tables: report use refcount overflow
      include/net/netfilter/nf_tables.h
  * netfilter: nf_tables: bogus EBUSY when deleting flowtable after flush
      include/net/netfilter/nf_tables.h
    btrfs: don't stop integrity writeback too early
    ibmvnic: Handle DMA unmapping of login buffs in release functions
  * wifi: cfg80211: fix sband iftype data lookup for AP_VLAN
      include/net/cfg80211.h
    IB/hfi1: Fix possible panic during hotplug remove
  * drivers: net: prevent tun_build_skb() to exceed the packet size limit
      drivers/net/tun.c
    dccp: fix data-race around dp->dccps_mss_cache
  * bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves
      drivers/net/bonding/bond_main.c
  * net/packet: annotate data-races around tp->status
      net/packet/af_packet.c
    mISDN: Update parameter type of dsp_cmx_send()
    drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes
    x86: Move gds_ucode_mitigated() declaration to header
    x86/mm: Fix VDSO and VVAR placement on 5-level paging machines
    x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405
  * usb: dwc3: Properly handle processing of pending events
      drivers/usb/dwc3/gadget.c
    usb-storage: alauda: Fix uninit-value in alauda_check_media()
  * binder: fix memory leak in binder_init()
      drivers/android/binder.c
      drivers/android/binder_alloc.c
      drivers/android/binder_alloc.h
    iio: cros_ec: Fix the allocation size for cros_ec_command
    nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput
    radix tree test suite: fix incorrect allocation size for pthreads
    drm/nouveau/gr: enable memory loads on helper invocation on all channels
    dmaengine: pl330: Return DMA_PAUSED when transaction is paused
  * ipv6: adjust ndisc_is_useropt() to also return true for PIO
      net/ipv6/ndisc.c
    mmc: moxart: read scr register without changing byte order
    sparc: fix up arch_cpu_finalize_init() build breakage.
  * UPSTREAM: net/sched: cls_fw: Fix improper refcount update leads to use-after-free
      net/sched/cls_fw.c
Linux 4.19.291
  * drm/edid: fix objtool warning in drm_cvt_modes()
      drivers/gpu/drm/drm_edid.c
    arm64: dts: stratix10: fix incorrect I2C property for SCL signal
  * drivers core: Use sysfs_emit and sysfs_emit_at for show(device *...) functions
      drivers/base/arch_topology.c
      drivers/base/cacheinfo.c
      drivers/base/core.c
      drivers/base/cpu.c
      drivers/base/firmware_loader/fallback.c
      drivers/base/platform.c
      drivers/base/power/sysfs.c
      drivers/base/soc.c
    ARM: dts: nxp/imx6sll: fix wrong property name in usbphy node
    ARM: dts: imx6sll: fixup of operating points
    ARM: dts: imx: add usb alias
    ARM: dts: imx6sll: Make ssi node name same as other platforms
  * PM: sleep: wakeirq: fix wake irq arming
      drivers/base/power/power.h
      drivers/base/power/wakeirq.c
  * PM / wakeirq: support enabling wake-up irq after runtime_suspend called
      drivers/base/power/power.h
      drivers/base/power/runtime.c
      drivers/base/power/wakeirq.c
      include/linux/pm_wakeirq.h
    powerpc/mm/altmap: Fix altmap boundary check
    mtd: rawnand: omap_elm: Fix incorrect type in assignment
    test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
    test_firmware: fix a memory leak with reqs buffer
    ext2: Drop fragment support
  * net: usbnet: Fix WARNING in usbnet_start_xmit/usb_submit_urb
      drivers/net/usb/usbnet.c
  * Bluetooth: L2CAP: Fix use-after-free in l2cap_sock_ready_cb
      net/bluetooth/l2cap_sock.c
    fs/sysv: Null check to prevent null-ptr-deref bug
  * USB: zaurus: Add ID for A-300/B-500/C-700
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/zaurus.c
    libceph: fix potential hang in ceph_osdc_notify()
    scsi: zfcp: Defer fc_rport blocking until after ADISC response
  * tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_net
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_vals[]
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_lock
      net/ipv4/tcp_metrics.c
  * tcp_metrics: annotate data-races around tm->tcpm_stamp
      net/ipv4/tcp_metrics.c
  * tcp_metrics: fix addr_same() helper
      net/ipv4/tcp_metrics.c
    ip6mr: Fix skb_under_panic in ip6mr_cache_report()
    net/sched: cls_route: No longer copy tcf_result on update to avoid use-after-free
  * net/sched: cls_u32: No longer copy tcf_result on update to avoid use-after-free
      net/sched/cls_u32.c
  * net: add missing data-race annotation for sk_ll_usec
      net/core/sock.c
  * net: add missing data-race annotations around sk->sk_peek_off
      net/core/sock.c
      net/unix/af_unix.c
  * net: sched: cls_u32: Fix match key mis-addressing
      net/sched/cls_u32.c
    perf test uprobe_from_different_cu: Skip if there is no gcc
    net/mlx5e: fix return value check in mlx5e_ipsec_remove_trailer()
    KVM: s390: fix sthyi error handling
  * word-at-a-time: use the same return type for has_zero regardless of endianness
      include/asm-generic/word-at-a-time.h
  * loop: Select I/O scheduler 'none' from inside add_disk()
      drivers/block/loop.c
  * perf: Fix function pointer case
      kernel/events/core.c
  * net/sched: cls_u32: Fix reference counter leak leading to overflow
      net/sched/cls_u32.c
    ASoC: cs42l51: fix driver to properly autoload with automatic module loading
    net/sched: sch_qfq: account for stab overhead in qfq_enqueue
  * net/sched: cls_fw: Fix improper refcount update leads to use-after-free
      net/sched/cls_fw.c
    drm/client: Fix memory leak in drm_client_target_cloned
    dm cache policy smq: ensure IO doesn't prevent cleaner policy progress
    ASoC: wm8904: Fill the cache for WM8904_ADC_TEST_0 register
    s390/dasd: fix hanging device after quiesce/resume
    virtio-net: fix race between set queues and probe
    serial: 8250_dw: Preserve original value of DLF register
  * serial: 8250_dw: split Synopsys DesignWare 8250 common functions
      drivers/tty/serial/8250/Kconfig
    irq-bcm6345-l1: Do not assume a fixed block to cpu mapping
    tpm_tis: Explicitly check for error code
    btrfs: check for commit error at btrfs_attach_transaction_barrier()
    hwmon: (nct7802) Fix for temp6 (PECI1) processed even if PECI1 disabled
    staging: ks7010: potential buffer overflow in ks_wlan_set_encode_ext()
    Documentation: security-bugs.rst: clarify CVE handling
    Documentation: security-bugs.rst: update preferences when dealing with the linux-distros group
    usb: xhci-mtk: set the dma max_seg_size
  * USB: quirks: add quirk for Focusrite Scarlett
      drivers/usb/core/quirks.c
    usb: ohci-at91: Fix the unhandle interrupt when resume
  * usb: dwc3: don't reset device side if dwc3 was configured as host-only
      drivers/usb/dwc3/core.c
    usb: dwc3: pci: skip BYT GPIO lookup table for hardwired phy
  * Revert "usb: dwc3: core: Enable AutoRetry feature in the controller"
      drivers/usb/dwc3/core.c
      drivers/usb/dwc3/core.h
    can: gs_usb: gs_can_close(): add missing set of CAN state to CAN_STATE_STOPPED
    USB: serial: simple: sort driver entries
    USB: serial: simple: add Kaufmann RKS+CAN VCP
    USB: serial: option: add Quectel EC200A module support
    USB: serial: option: support Quectel EM060K_128
  * tracing: Fix warning in trace_buffered_event_disable()
      kernel/trace/trace_events.c
  * ring-buffer: Fix wrong stat of cpu_buffer->read
      kernel/trace/ring_buffer.c
    ata: pata_ns87415: mark ns87560_tf_read static
    dm raid: fix missing reconfig_mutex unlock in raid_ctr() error paths
  * block: Fix a source code comment in include/uapi/linux/blkzoned.h
      include/uapi/linux/blkzoned.h
    ASoC: fsl_spdif: Silence output on stop
    drm/msm: Fix IS_ERR_OR_NULL() vs NULL check in a5xx_submit_in_rb()
    RDMA/mlx4: Make check for invalid flags stricter
    benet: fix return value check in be_lancer_xmit_workarounds()
    net/sched: mqprio: Add length check for TCA_MQPRIO_{MAX/MIN}_RATE64
    net/sched: mqprio: add extack to mqprio_parse_nlattr()
    net/sched: mqprio: refactor nlattr parsing to a separate function
    platform/x86: msi-laptop: Fix rfkill out-of-sync on MSI Wind U100
    team: reset team's flags when down link is P2P device
  * bonding: reset bond's flags when down link is P2P device
      drivers/net/bonding/bond_main.c
  * tcp: Reduce chance of collisions in inet6_hashfn().
      include/net/ipv6.h
  * ipv6 addrconf: fix bug where deleting a mngtmpaddr can create a new temporary address
      net/ipv6/addrconf.c
    ethernet: atheros: fix return value check in atl1e_tso_csum()
    phy: hisilicon: Fix an out of bounds check in hisi_inno_phy_probe()
    i40e: Fix an NULL vs IS_ERR() bug for debugfs_create_dir()
  * ext4: fix to check return value of freeze_bdev() in ext4_shutdown()
      fs/ext4/ioctl.c
    scsi: qla2xxx: Array index may go out of bound
    scsi: qla2xxx: Fix inconsistent format argument type in qla_os.c
    ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
    ftrace: Store the order of pages allocated in ftrace_page
    ftrace: Check if pages were allocated before calling free_pages()
  * ftrace: Add information on number of page groups allocated
      kernel/trace/trace.c
      kernel/trace/trace.h
    fs: dlm: interrupt posix locks only when process is killed
    dlm: rearrange async condition return
    dlm: cleanup plock_op vs plock_xop
    PCI/ASPM: Avoid link retraining race
    PCI/ASPM: Factor out pcie_wait_for_retrain()
    PCI/ASPM: Return 0 or -ETIMEDOUT from pcie_retrain_link()
    PCI: Rework pcie_retrain_link() wait loop
  * ext4: Fix reusing stale buffer heads from last failed mounting
      fs/ext4/super.c
  * ext4: rename journal_dev to s_journal_dev inside ext4_sb_info
      fs/ext4/ext4.h
      fs/ext4/fsmap.c
      fs/ext4/super.c
    btrfs: fix extent buffer leak after tree mod log failure at split_node()
    bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
    bcache: remove 'int n' from parameter list of bch_bucket_alloc_set()
    bcache: use MAX_CACHES_PER_SET instead of magic number 8 in __bch_bucket_alloc_set
    gpio: tps68470: Make tps68470_gpio_output() always set the initial value
    tracing/histograms: Return an error if we fail to add histogram to hist_vars list
  * tcp: annotate data-races around fastopenq.max_qlen
      include/linux/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_fastopen.c
  * tcp: annotate data-races around tp->notsent_lowat
      include/net/tcp.h
      net/ipv4/tcp.c
  * tcp: annotate data-races around rskq_defer_accept
      net/ipv4/tcp.c
  * tcp: annotate data-races around tp->linger2
      net/ipv4/tcp.c
  * net: Replace the limit of TCP_LINGER2 with TCP_FIN_TIMEOUT_MAX
      include/net/tcp.h
      net/ipv4/tcp.c
    netfilter: nf_tables: can't schedule in nft_chain_validate
    netfilter: nf_tables: fix spurious set element insertion failure
  * llc: Don't drop packet from non-root netns.
      net/llc/llc_input.c
    fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
  * Revert "tcp: avoid the lookup process failing to get sk in ehash table"
      net/ipv4/inet_hashtables.c
      net/ipv4/inet_timewait_sock.c
    net:ipv6: check return value of pskb_trim()
    net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
    pinctrl: amd: Use amd_pinconf_set() for all config options
    fbdev: imxfb: warn about invalid left/right margin
    spi: bcm63xx: fix max prepend length
    igb: Fix igb_down hung on surprise removal
    wifi: iwlwifi: mvm: avoid baid size integer overflow
  * wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
      net/wireless/wext-core.c
  * bpf: Address KCSAN report on bpf_lru_list
      kernel/bpf/bpf_lru_list.c
      kernel/bpf/bpf_lru_list.h
  * sched/fair: Don't balance task to its current running CPU
      kernel/sched/fair.c
  * posix-timers: Ensure timer ID search-loop limit is valid
      include/linux/sched/signal.h
      kernel/time/posix-timers.c
    md/raid10: prevent soft lockup while flush writes
    md: fix data corruption for raid456 when reshape restart while grow up
    nbd: Add the maximum limit of allocated index in nbd_dev_add
    debugobjects: Recheck debug_objects_enabled before reporting
  * ext4: correct inline offset when handling xattrs in inode body
      fs/ext4/xattr.c
    can: bcm: Fix UAF in bcm_proc_show()
  * fuse: revalidate: don't invalidate if interrupted
      fs/fuse/dir.c
    perf probe: Add test for regression introduced by switch to die_get_decl_file()
    tracing/histograms: Add histograms to hist_vars if they have referenced variables
  * drm/atomic: Fix potential use-after-free in nonblocking commits
      drivers/gpu/drm/drm_atomic.c
    scsi: qla2xxx: Pointer may be dereferenced
    scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
    scsi: qla2xxx: Fix potential NULL pointer dereference
    scsi: qla2xxx: Wait for io return on terminate rport
    xtensa: ISS: fix call to split_if_spec
  * ring-buffer: Fix deadloop issue on reading trace_pipe
      kernel/trace/ring_buffer.c
    tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
    tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
  * Revert "8250: add support for ASIX devices with a FIFO bug"
      include/linux/serial_8250.h
    meson saradc: fix clock divider mask length
    ceph: don't let check_caps skip sending responses for revoke msgs
    hwrng: imx-rngc - fix the timeout for init and self check
    serial: atmel: don't enable IRQs prematurely
    fs: dlm: return positive pid value for F_GETLK
    md/raid0: add discard support for the 'original' layout
    misc: pci_endpoint_test: Re-init completion for every test
    misc: pci_endpoint_test: Free IRQs before removing the device
    PCI: rockchip: Use u32 variable to access 32-bit registers
    PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
    PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
    PCI: rockchip: Write PCI Device ID to correct register
    PCI: rockchip: Assert PCI Configuration Enable bit after probe
    PCI: qcom: Disable write access to read only registers for IP v2.3.3
  * PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
      drivers/pci/quirks.c
  * PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
      drivers/pci/pci.c
    jfs: jfs_dmap: Validate db_l2nbperpage while mounting
  * ext4: only update i_reserved_data_blocks on successful block allocation
      fs/ext4/indirect.c
      fs/ext4/inode.c
  * ext4: fix wrong unit use in ext4_mb_clear_bb
      fs/ext4/mballoc.c
    perf intel-pt: Fix CYC timestamps after standalone CBR
    SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
    net: bcmgenet: Ensure MDIO unregistration has clocks enabled
    tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
    pinctrl: amd: Only use special debounce behavior for GPIO 0
    pinctrl: amd: Detect internal GPIO0 debounce handling
    pinctrl: amd: Fix mistake in handling clearing pins at startup
  * net/sched: make psched_mtu() RTNL-less safe
      include/net/pkt_sched.h
    wifi: airo: avoid uninitialized warning in airo_get_rate()
  * ipv6/addrconf: fix a potential refcount underflow for idev
      net/ipv6/addrconf.c
    NTB: ntb_tool: Add check for devm_kcalloc
    NTB: ntb_transport: fix possible memory leak while device_register() fails
    ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
    NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
    ntb: idt: Fix error handling in idt_pci_driver_init()
  * udp6: fix udp6_ehashfn() typo
      net/ipv6/udp.c
  * icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
      net/ipv6/icmp.c
  * vrf: Increment Icmp6InMsgs on the original netdev
      include/net/addrconf.h
      net/ipv6/icmp.c
      net/ipv6/reassembly.c
    net: mvneta: fix txq_map in case of txq_number==1
  * workqueue: clean up WORK_* constant types, clarify masking
      include/linux/workqueue.h
      kernel/workqueue.c
    net: lan743x: Don't sleep in atomic context
    netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
  * netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
      net/netfilter/nf_conntrack_helper.c
    netfilter: nf_tables: fix scheduling-while-atomic splat
    netfilter: nf_tables: unbind non-anonymous set if rule construction fails
  * netfilter: nf_tables: reject unbound anonymous set before commit phase
      include/net/netfilter/nf_tables.h
  * netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
      include/net/netfilter/nf_tables.h
    netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
  * netfilter: nf_tables: use net_generic infra for transaction data
      include/net/netfilter/nf_tables.h
      include/net/netns/nftables.h
  * netfilter: add helper function to set up the nfnetlink header and use it
      include/linux/netfilter/nfnetlink.h
      net/netfilter/nf_conntrack_netlink.c
      net/netfilter/nfnetlink_log.c
      net/netfilter/nfnetlink_queue.c
    netfilter: nftables: add helper function to set the base sequence number
    netfilter: nf_tables: add rescheduling points during loop detection walks
    netfilter: nf_tables: fix nat hook table deletion
    spi: spi-fsl-spi: allow changing bits_per_word while CS is still active
    spi: spi-fsl-spi: relax message sanity checking a little
    spi: spi-fsl-spi: remove always-true conditional in fsl_spi_do_one_msg
    ARM: orion5x: fix d2net gpio initialization
    btrfs: fix race when deleting quota root from the dirty cow roots list
    jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
  * integrity: Fix possible multiple allocation in integrity_inode_get()
      security/integrity/iint.c
    bcache: Remove unnecessary NULL point check in node allocations
    mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
    mmc: core: disable TRIM on Kingston EMMC04G-M627
    NFSD: add encoding of op_recall flag for write delegation
  * ALSA: jack: Fix mutex call in snd_jack_report()
      sound/core/jack.c
    i2c: xiic: Don't try to handle more interrupt events after error
    i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
    sh: dma: Fix DMA channel offset calculation
    net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
  * tcp: annotate data races in __tcp_oow_rate_limited()
      net/ipv4/tcp_input.c
  * net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
      net/bridge/br_if.c
    powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
  * f2fs: fix error path handling in truncate_dnode()
      fs/f2fs/node.c
    mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
    spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
    Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
  * sctp: fix potential deadlock on &net->sctp.addr_wq_lock
      net/sctp/socket.c
    rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
    mfd: stmpe: Only disable the regulators if they are enabled
    mfd: intel-lpss: Add missing check for platform_get_resource
    KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
    mfd: rt5033: Drop rt5033-battery sub-device
    usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
  * extcon: Fix kernel doc of property capability fields to avoid warnings
      drivers/extcon/extcon.c
  * extcon: Fix kernel doc of property fields to avoid warnings
      drivers/extcon/extcon.c
    media: usb: siano: Fix warning due to null work_func_t function pointer
  * media: videodev2.h: Fix struct v4l2_input tuner index comment
      include/uapi/linux/videodev2.h
    media: usb: Check az6007_read() return value
    sh: j2: Use ioremap() to translate device tree address into kernel memory
    w1: fix loop in w1_fini()
  * block: change all __u32 annotations to __be32 in affs_hardblocks.h
      include/uapi/linux/affs_hardblocks.h
    USB: serial: option: add LARA-R6 01B PIDs
    ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
    ARCv2: entry: rewrite to enable use of double load/stores LDD/STD
    ARCv2: entry: avoid a branch
    ARCv2: entry: push out the Z flag unclobber from common EXCEPTION_PROLOGUE
    ARCv2: entry: comments about hardware auto-save on taken interrupts
  * modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
      scripts/mod/modpost.c
  * modpost: fix section mismatch message for R_ARM_ABS32
      scripts/mod/modpost.c
    crypto: nx - fix build warnings when DEBUG_FS is not enabled
    hwrng: virtio - Fix race on data_avail and actual data
    hwrng: virtio - always add a pending request
    hwrng: virtio - don't waste entropy
    hwrng: virtio - don't wait on cleanup
    hwrng: virtio - add an internal buffer
    pinctrl: at91-pio4: check return value of devm_kasprintf()
    perf dwarf-aux: Fix off-by-one in die_get_varname()
    pinctrl: cherryview: Return correct value if pin in push-pull mode
  * PCI: Add pci_clear_master() stub for non-CONFIG_PCI
      include/linux/pci.h
    scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
    ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
    drm/radeon: fix possible division-by-zero errors
    fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
    arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
    IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
  * soc/fsl/qe: fix usb.c build errors
      drivers/soc/fsl/qe/Kconfig
    ASoC: es8316: Increment max value for ALC Capture Target Volume control
    ARM: ep93xx: fix missing-prototype warnings
    drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
    Input: adxl34x - do not hardcode interrupt trigger type
    ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
    Input: drv260x - sleep between polling GO bit
    radeon: avoid double free in ci_dpm_init()
  * netlink: Add __sock_i_ino() for __netlink_diag_dump().
      include/net/sock.h
      net/core/sock.c
    ipvlan: Fix return value of ipvlan_queue_xmit()
    netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
  * lib/ts_bm: reset initial match offset for every block of text
      lib/ts_bm.c
    gtp: Fix use-after-free in __gtp_encap_destroy().
  * netlink: do not hard code device address lenth in fdb dumps
      net/core/rtnetlink.c
  * netlink: fix potential deadlock in netlink_set_err()
      net/netlink/af_netlink.c
    wifi: ath9k: convert msecs to jiffies where needed
    wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
    memstick r592: make memstick_debug_get_tpc_name() static
    kexec: fix a memory leak in crash_shrink_memory()
    watchdog/perf: more properly prevent false positives with turbo modes
  * watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
      include/linux/nmi.h
    wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
    wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
    wifi: ray_cs: Fix an error handling path in ray_probe()
    wifi: ray_cs: Drop useless status variable in parse_addr()
    wifi: ray_cs: Utilize strnlen() in parse_addr()
    wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
    wl3501_cs: use eth_hw_addr_set()
  * net: create netdev->dev_addr assignment helpers
      include/linux/etherdevice.h
      include/linux/netdevice.h
    wl3501_cs: Fix misspelling and provide missing documentation
    wl3501_cs: Remove unnecessary NULL check
    wl3501_cs: Fix a bunch of formatting issues related to function docs
    wifi: atmel: Fix an error handling path in atmel_probe()
    wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
    wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
    nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
  * nfc: constify several pointers to u8, char and sk_buff
      include/net/nfc/nfc.h
    wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
    samples/bpf: Fix buffer overflow in tcp_basertt
    wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
    wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
    evm: Complete description of evm_inode_setattr()
    ARM: 9303/1: kprobes: avoid missing-declaration warnings
  * PM: domains: fix integer overflow issues in genpd_parse_state()
      drivers/base/power/domain.c
    clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
    clocksource/drivers/cadence-ttc: Use ttc driver as platform driver
  * clocksource/drivers: Unify the names to timer-* format
      drivers/clocksource/Makefile
    irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
    irqchip/jcore-aic: Kill use of irq_create_strict_mappings()
    md/raid10: fix io loss while replacement replace rdev
    md/raid10: fix wrong setting of max_corr_read_errors
    md/raid10: fix overflow of md/safe_mode_delay
    md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
  * treewide: Remove uninitialized_var() usage
      drivers/clk/clk-gate.c
      drivers/gpu/drm/drm_edid.c
      drivers/md/dm-io.c
      drivers/md/dm-ioctl.c
      drivers/md/dm-snap-persistent.c
      drivers/md/dm-table.c
      fs/fat/dir.c
      fs/fuse/control.c
      fs/fuse/file.c
      fs/overlayfs/copy_up.c
      kernel/async.c
      kernel/audit.c
      kernel/events/core.c
      kernel/events/uprobes.c
      kernel/exit.c
      kernel/futex.c
      kernel/trace/ring_buffer.c
      lib/radix-tree.c
      mm/memcontrol.c
      mm/percpu.c
      mm/slub.c
      mm/swap.c
      net/ipv4/netfilter/nf_socket_ipv4.c
      net/ipv6/ip6_flowlabel.c
      net/ipv6/netfilter/nf_socket_ipv6.c
      net/netfilter/nf_conntrack_ftp.c
      net/netfilter/nfnetlink_log.c
      net/netfilter/nfnetlink_queue.c
      net/sched/cls_flow.c
      sound/core/control_compat.c
      sound/usb/endpoint.c
    drm/amdgpu: Validate VM ioctl flags.
    scripts/tags.sh: Resolve gtags empty index generation
  * drm/edid: Fix uninitialized variable in drm_cvt_modes()
      drivers/gpu/drm/drm_edid.c
    fbdev: imsttfb: Fix use after free bug in imsttfb_probe
    video: imsttfb: check for ioremap() failures
    x86/smp: Use dedicated cache-line for mwait_play_dead()
    gfs2: Don't deref jdesc in evict
Linux 4.19.290
    x86: fix backwards merge of GDS/SRSO bit
    xen/netback: Fix buffer overrun triggered by unusual packet
    Documentation/x86: Fix backwards on/off logic about YMM support
    x86/xen: Fix secondary processors' FPU initialization
    KVM: Add GDS_NO support to KVM
    x86/speculation: Add Kconfig option for GDS
    x86/speculation: Add force option to GDS mitigation
  * x86/speculation: Add Gather Data Sampling mitigation
      drivers/base/cpu.c
    x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
    x86/fpu: Mark init functions __init
    x86/fpu: Remove cpuinfo argument from init functions
  * init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
      init/main.c
  * init: Invoke arch_cpu_finalize_init() earlier
      init/main.c
  * init: Remove check_bugs() leftovers
      init/main.c
    um/cpu: Switch to arch_cpu_finalize_init()
    sparc/cpu: Switch to arch_cpu_finalize_init()
    sh/cpu: Switch to arch_cpu_finalize_init()
    mips/cpu: Switch to arch_cpu_finalize_init()
    m68k/cpu: Switch to arch_cpu_finalize_init()
    ia64/cpu: Switch to arch_cpu_finalize_init()
    ARM: cpu: Switch to arch_cpu_finalize_init()
    x86/cpu: Switch to arch_cpu_finalize_init()
  * init: Provide arch_cpu_finalize_init()
      arch/Kconfig
      include/linux/cpu.h
      init/main.c
    Merge 4.19.289 into android-4.19-stable
Linux 4.19.289
    x86/cpu/amd: Add a Zenbleed fix
    x86/cpu/amd: Move the errata checking functionality up
    x86/microcode/AMD: Load late on both threads too
    Merge 4.19.288 into android-4.19-stable
Linux 4.19.288
    i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
    x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
    drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
    drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
    drm/exynos: vidi: fix a wrong error return
    ASoC: nau8824: Add quirk to active-high jack-detect
    s390/cio: unregister device when the only path is gone
    usb: gadget: udc: fix NULL dereference in remove()
    nfcsim.c: Fix error checking for debugfs_create_dir
    media: cec: core: don't set last_initiator if tx in progress
  * arm64: Add missing Set/Way CMO encodings
      arch/arm64/include/asm/sysreg.h
  * HID: wacom: Add error check to wacom_parse_and_register()
      drivers/hid/wacom_sys.c
    scsi: target: iscsi: Prevent login threads from racing between each other
  * sch_netem: acquire qdisc lock in netem_change()
      net/sched/sch_netem.c
    netfilter: nfnetlink_osf: fix module autoload
    netfilter: nf_tables: disallow element updates of bound anonymous sets
    be2net: Extend xmit workaround to BE3 chip
    mmc: usdhi60rol0: fix deferred probing
    mmc: sdhci-acpi: fix deferred probing
    mmc: omap_hsmmc: fix deferred probing
    mmc: omap: fix deferred probing
    mmc: mvsdio: fix deferred probing
    mmc: mvsdio: convert to devm_platform_ioremap_resource
    mmc: mtk-sd: fix deferred probing
    net: qca_spi: Avoid high load if QCA7000 is not available
    xfrm: Linearize the skb after offloading if needed.
    ieee802154: hwsim: Fix possible memory leaks
  * rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer()
      include/linux/rcupdate.h
    nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
  * cgroup: Do not corrupt task iteration when rebinding subsystem
      kernel/cgroup/cgroup.c
    PCI: hv: Fix a race condition bug in hv_pci_query_relations()
    Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
    nilfs2: fix buffer corruption due to concurrent device reads
    ipmi: move message error checking to avoid deadlock
  * ipmi: Make the smi watcher be disabled immediately when not needed
      include/linux/ipmi_smi.h
    x86/purgatory: remove PGO flags
    nilfs2: reject devices with insufficient block count
    serial: lantiq: add missing interrupt ack
    serial: lantiq: Do not swap register read/writes
    serial: lantiq: Use readl/writel instead of ltq_r32/ltq_w32
    serial: lantiq: Change ltq_w32_mask to asc_update_bits
    Merge 4.19.287 into android-4.19-stable
Linux 4.19.287
  * mmc: block: ensure error propagation for non-blk
      drivers/mmc/core/block.c
    powerpc: Fix defconfig choice logic when cross compiling
    drm/nouveau/kms: Fix NULL pointer dereference in nouveau_connector_detect_depth
  * neighbour: delete neigh_lookup_nodev as not used
      include/net/neighbour.h
      net/core/neighbour.c
  * net: Remove unused inline function dst_hold_and_use()
      include/net/dst.h
  * neighbour: Remove unused inline function neigh_key_eq16()
      include/net/neighbour.h
    selftests/ptp: Fix timestamp printf format for PTP_SYS_OFFSET
  * net: tipc: resize nlattr array to correct size
      net/tipc/bearer.c
    net: lapbether: only support ethernet devices
    drm/nouveau: add nv_encoder pointer check for NULL
    drm/nouveau/kms: Don't change EDID when it hasn't actually changed
    drm/nouveau/dp: check for NULL nv_connector->native_mode
    igb: fix nvm.ops.read() error handling
  * sctp: fix an error code in sctp_sf_eat_auth()
      net/sctp/sm_statefuns.c
    IB/isert: Fix incorrect release of isert connection
    IB/isert: Fix possible list corruption in CMA handler
    IB/isert: Fix dead lock in ib_isert
    IB/uverbs: Fix to consider event queue closing also upon non-blocking mode
    RDMA/rxe: Fix the use-before-initialization error of resp_pkts
    RDMA/rxe: Removed unused name from rxe_task struct
    RDMA/rxe: Remove the unused variable obj
  * ping6: Fix send to link-local addresses with VRF.
      net/ipv6/ping.c
  * netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM
      net/netfilter/nfnetlink.c
  * usb: gadget: f_ncm: Fix NTP-32 support
      drivers/usb/gadget/function/f_ncm.c
  * usb: gadget: f_ncm: Add OS descriptor support
      drivers/usb/gadget/function/f_ncm.c
      drivers/usb/gadget/function/u_ncm.h
  * usb: dwc3: gadget: Reset num TRBs before giving back the request
      drivers/usb/dwc3/gadget.c
    USB: serial: option: add Quectel EM061KGL series
  * Remove DECnet support from kernel
      include/linux/netdevice.h
      include/linux/netfilter.h
      include/linux/netfilter_defs.h
      include/net/netns/netfilter.h
      include/uapi/linux/netlink.h
      net/Kconfig
      net/Makefile
      net/core/dev.c
      net/core/neighbour.c
      net/netfilter/core.c
    net: usb: qmi_wwan: add support for Compal RXM-G1
    RDMA/uverbs: Restrict usage of privileged QKEYs
    nouveau: fix client work fence deletion race
    powerpc/purgatory: remove PGO flags
    kexec: support purgatories with .text.hot sections
    nilfs2: fix possible out-of-bounds segment allocation in resize ioctl
    nilfs2: fix incomplete buffer cleanup in nilfs_btnode_abort_change_key()
    nios2: dts: Fix tse_mac "max-frame-size" property
    ocfs2: check new file size on fallocate call
    ocfs2: fix use-after-free when unmounting read-only filesystem
    xen/blkfront: Only check REQ_FUA for writes
    mips: Move initrd_start check after initrd address sanitisation.
    MIPS: Alchemy: fix dbdma2
    parisc: Improve cache flushing for PCXL in arch_sync_dma_for_cpu()
  * power: supply: Fix logic checking if system is running from battery
      drivers/power/supply/power_supply_core.c
    irqchip/meson-gpio: Mark OF related data as maybe unused
  * regulator: Fix error checking for debugfs_create_dir
      drivers/regulator/core.c
  * power: supply: Ratelimit no data debug output
      drivers/power/supply/power_supply_sysfs.c
    ARM: dts: vexpress: add missing cache properties
    power: supply: bq27xxx: Use mod_delayed_work() instead of cancel() + schedule()
    power: supply: ab8500: Fix external_power_changed race
    Merge "Merge 4.19.286 into android-4.19-stable" into android-4.19-stable
  * Revert "tcp: deny tcp_disconnect() when threads are waiting"
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp.c
    Merge "Merge 4.19.285 into android-4.19-stable" into android-4.19-stable
    Merge 4.19.286 into android-4.19-stable
  * Revert "tcp: deny tcp_disconnect() when threads are waiting"
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp.c
  * ANDROID: GKI: update ABI xml for incrementalfs.ko
      android/abi_gki_aarch64.xml
    Merge 4.19.285 into android-4.19-stable
Linux 4.19.286
    Revert "staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE"
    btrfs: unset reloc control if transaction commit fails in prepare_to_relocate()
    btrfs: check return value of btrfs_commit_transaction in relocation
  * ext4: only check dquot_initialize_needed() when debugging
      fs/ext4/xattr.c
    i2c: sprd: Delete i2c adapter in .remove's error path
    pinctrl: meson-axg: add missing GPIOA_18 gpio group
  * Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk
      net/bluetooth/hci_core.c
    ceph: fix use-after-free bug for inodes when flushing capsnaps
    drm/amdgpu: fix xclk freq on CHIP_STONEY
    Input: psmouse - fix OOB access in Elantech protocol
  * Input: xpad - delete a Razer DeathAdder mouse VID/PID entry
      drivers/input/joystick/xpad.c
    batman-adv: Broken sync while rescheduling delayed work
  * lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release()
      lib/cpu_rmap.c
  * net: sched: fix possible refcount leak in tc_chain_tmplt_add()
      net/sched/cls_api.c
  * net: sched: move rtm_tca_policy declaration to include file
      include/net/pkt_sched.h
      net/sched/cls_api.c
  * rfs: annotate lockless accesses to RFS sock flow table
      include/linux/netdevice.h
      net/core/dev.c
  * rfs: annotate lockless accesses to sk->sk_rxhash
      include/net/sock.h
  * Bluetooth: L2CAP: Add missing checks for invalid DCID
      net/bluetooth/l2cap_core.c
  * Bluetooth: Fix l2cap_disconnect_req deadlock
      net/bluetooth/l2cap_core.c
    net: dsa: lan9303: allow vid != 0 in port_fdb_{add|del} methods
    spi: qup: Request DMA before enabling clocks
    i40e: fix build warnings in i40e_alloc.h
    i40iw: fix build warning in i40iw_manage_apbvt()
  * UPSTREAM: net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
      drivers/net/usb/cdc_ncm.c
  * UPSTREAM: cdc_ncm: Fix the build warning
      drivers/net/usb/cdc_ncm.c
  * UPSTREAM: cdc_ncm: Implement the 32-bit version of NCM Transfer Block
      drivers/net/usb/cdc_ncm.c
      include/linux/usb/cdc_ncm.h
  * Revert "tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT"
      include/net/sock.h
      include/net/tcp.h
      net/core/stream.c
  * Revert "tcp: return EPOLLOUT from tcp_poll only when notsent_bytes is half the limit"
      net/ipv4/tcp.c
  * Revert "tcp: factor out __tcp_close() helper"
      include/net/tcp.h
      net/ipv4/tcp.c
  * Revert "tcp: add annotations around sk->sk_shutdown accesses"
      net/ipv4/af_inet.c
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
  * ANDROID: fix abi break in 4.19.284 for cpuhotplug.h
      include/linux/cpuhotplug.h
    Merge "Merge 4.19.284 into android-4.19-stable" into android-4.19-stable
    UPSTREAM: mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    UPSTREAM: mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
Linux 4.19.285
    wifi: rtlwifi: 8192de: correct checking of IQK reload
  * scsi: dpt_i2o: Do not process completions with invalid addresses
      drivers/scsi/Kconfig
    scsi: dpt_i2o: Remove broken pass-through ioctl (I2OUSERCMD)
  * regmap: Account for register length when chunking
      drivers/base/regmap/regmap.c
    fbcon: Fix null-ptr-deref in soft_cursor
  * ext4: add lockdep annotations for i_data_sem for ea_inode's
      fs/ext4/ext4.h
      fs/ext4/xattr.c
  * selinux: don't use make's grouped targets feature yet
      security/selinux/Makefile
    tty: serial: fsl_lpuart: use UARTCTRL_TXINV to send break instead of UARTCTRL_SBK
    mmc: vub300: fix invalid response handling
    rsi: Remove unnecessary boolean condition
    regulator: da905{2,5}: Remove unnecessary array check
    hwmon: (scmi) Remove redundant pointer check
    wifi: rtlwifi: remove always-true condition pointed out by GCC 12
    lib/dynamic_debug.c: use address-of operator on section symbols
  * kernel/extable.c: use address-of operator on section symbols
      kernel/extable.c
    eth: sun: cassini: remove dead code
  * gcc-12: disable '-Wdangling-pointer' warning for now
      Makefile
    ACPI: thermal: drop an always true check
    x86/boot: Wrap literal addresses in absolute_pointer()
    ata: libata-scsi: Use correct device no in ata_find_dev()
    scsi: stex: Fix gcc 13 warnings
  * usb: gadget: f_fs: Add unbind event before functionfs_unbind
      drivers/usb/gadget/function/f_fs.c
    net: usb: qmi_wwan: Set DTR quirk for BroadMobi BM818
  * iio: dac: build ad5758 driver when AD5758 is selected
      drivers/iio/dac/Makefile
    iio: dac: mcp4725: Fix i2c_master_send() return value handling
  * HID: wacom: avoid integer overflow in wacom_intuos_inout()
      drivers/hid/wacom_wac.c
  * HID: google: add jewel USB id
      drivers/hid/hid-ids.h
    iio: adc: mxs-lradc: fix the order of two cleanup operations
    mailbox: mailbox-test: fix a locking issue in mbox_test_message_write()
    atm: hide unused procfs functions
    ALSA: oss: avoid missing-prototype warnings
  * netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT
      net/netfilter/nf_conntrack_netlink.c
    wifi: b43: fix incorrect __packed annotation
  * scsi: core: Decrease scsi_device's iorequest_cnt if dispatch failed
      drivers/scsi/scsi_lib.c
  * arm64/mm: mark private VM_FAULT_X defines as vm_fault_t
      arch/arm64/mm/fault.c
    ARM: dts: stm32: add pin map for CAN controller on stm32f7
    wifi: rtl8xxxu: fix authentication timeout due to incorrect RCR value
    media: dvb-core: Fix use-after-free due to race condition at dvb_ca_en50221
    media: dvb-core: Fix kernel WARNING for blocking operation in wait_event*()
  * media: dvb-core: Fix use-after-free due on race condition at dvb_net
      include/media/dvb_net.h
    media: mn88443x: fix !CONFIG_OF error by drop of_match_ptr from ID table
    media: ttusb-dec: fix memory leak in ttusb_dec_exit_dvb()
    media: dvb_ca_en50221: fix a size write bug
    media: netup_unidvb: fix irq init by register it at the end of probe
    media: dvb-usb: dw2102: fix uninit-value in su3000_read_mac_address
    media: dvb-usb: digitv: fix null-ptr-deref in digitv_i2c_xfer()
    media: dvb-usb-v2: rtl28xxu: fix null-ptr-deref in rtl28xxu_i2c_xfer
    media: dvb-usb-v2: ce6230: fix null-ptr-deref in ce6230_i2c_master_xfer()
    media: dvb-usb-v2: ec168: fix null-ptr-deref in ec168_i2c_xfer()
    media: dvb-usb: az6027: fix three null-ptr-deref in az6027_i2c_xfer()
  * media: dvb_demux: fix a bug for the continuity counter
      drivers/media/dvb-core/dvb_demux.c
    ASoC: ssm2602: Add workaround for playback distortions
  * xfrm: Check if_id in inbound policy/secpath match
      net/xfrm/xfrm_policy.c
    ASoC: dwc: limit the number of overrun messages
    nbd: Fix debugfs_create_dir error checking
    fbdev: stifb: Fix info entry in sti_struct on error path
    fbdev: modedb: Add 1920x1080 at 60 Hz video mode
    media: rcar-vin: Select correct interrupt mode for V4L2_FIELD_ALTERNATE
    ARM: 9295/1: unwind:fix unwind abort for uleb128 case
    mailbox: mailbox-test: Fix potential double-free in mbox_test_message_write()
    watchdog: menz069_wdt: fix watchdog initialisation
    net: dsa: mv88e6xxx: Increase wait after reset deactivation
    net/sched: flower: fix possible OOB write in fl_set_geneve_opt()
  * udp6: Fix race condition in udp6_sendmsg & connect
      net/core/sock.c
  * net/netlink: fix NETLINK_LIST_MEMBERSHIPS length report
      net/netlink/af_netlink.c
  * ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use
      include/linux/bitops.h
  * net: sched: fix NULL pointer dereference in mq_attach
      net/sched/sch_api.c
  * net/sched: Prohibit regrafting ingress or clsact Qdiscs
      net/sched/sch_api.c
  * net/sched: Reserve TC_H_INGRESS (TC_H_CLSACT) for ingress (clsact) Qdiscs
      net/sched/sch_api.c
      net/sched/sch_ingress.c
  * net/sched: sch_clsact: Only create under TC_H_CLSACT
      net/sched/sch_ingress.c
  * net/sched: sch_ingress: Only create under TC_H_INGRESS
      net/sched/sch_ingress.c
  * tcp: Return user_mss for TCP_MAXSEG in CLOSE/LISTEN state if user_mss set
      net/ipv4/tcp.c
  * tcp: deny tcp_disconnect() when threads are waiting
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp.c
  * af_packet: do not use READ_ONCE() in packet_bind()
      net/packet/af_packet.c
    amd-xgbe: fix the false linkup in xgbe_phy_status
  * af_packet: Fix data-races of pkt_sk(sk)->num.
      net/packet/af_packet.c
    netrom: fix info-leak in nr_write_internal()
    net/mlx5: fw_tracer, Fix event handling
    dmaengine: pl330: rename _start to prevent build error
  * netfilter: ctnetlink: Support offloaded conntrack entry deletion
      net/netfilter/nf_conntrack_netlink.c
  * ipv{4,6}/raw: fix output xfrm lookup wrt protocol
      include/net/ip.h
      include/uapi/linux/in.h
      net/ipv4/ip_sockglue.c
      net/ipv4/raw.c
      net/ipv6/raw.c
  * bluetooth: Add cmd validity checks at the start of hci_sock_ioctl()
      net/bluetooth/hci_sock.c
  * cdc_ncm: Fix the build warning
      drivers/net/usb/cdc_ncm.c
    power: supply: bq24190: Call power_supply_changed() after updating input current
  * power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier()
      drivers/power/supply/power_supply_core.c
      include/linux/power_supply.h
    power: supply: bq27xxx: After charger plug in/out wait 0.5s for things to stabilize
  * net: cdc_ncm: Deal with too low values of dwNtbOutMaxSize
      drivers/net/usb/cdc_ncm.c
  * cdc_ncm: Implement the 32-bit version of NCM Transfer Block
      drivers/net/usb/cdc_ncm.c
      include/linux/usb/cdc_ncm.h
    Merge 4.19.284 into android-4.19-stable
    UPSTREAM: efi: rt-wrapper: Add missing include
  * BACKPORT: arm64: efi: Execute runtime services from a dedicated stack
      arch/arm64/include/asm/efi.h
  * Revert "uapi/linux/const.h: prefer ISO-friendly __typeof__"
      include/uapi/linux/const.h
    Merge "Merge 4.19.283 into android-4.19-stable" into android-4.19-stable
Linux 4.19.284
  * drivers: depend on HAS_IOMEM for devm_platform_ioremap_resource()
      drivers/base/platform.c
    3c589_cs: Fix an error handling path in tc589_probe()
    forcedeth: Fix an error handling path in nv_probe()
  * ASoC: Intel: Skylake: Fix declaration of enum skl_ch_cfg
      include/uapi/sound/skl-tplg-interface.h
    x86/show_trace_log_lvl: Ensure stack pointer is aligned, again
    xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
  * coresight: Fix signedness bug in tmc_etr_buf_insert_barrier_packet()
      drivers/hwtracing/coresight/coresight-tmc-etr.c
    power: supply: sbs-charger: Fix INHIBITED bit for Status reg
  * power: supply: bq27xxx: Fix poll_interval handling and races on remove
      include/linux/power/bq27xxx_battery.h
    power: supply: bq27xxx: Fix I2C IRQ race on remove
    power: supply: bq27xxx: Fix bq27xxx_battery_update() race condition
  * power: supply: leds: Fix blink to LED on transition
      drivers/power/supply/power_supply_leds.c
  * ipv6: Fix out-of-bounds access in ipv6_find_tlv()
      net/ipv6/exthdrs_core.c
  * bpf: Fix mask generation for 32-bit narrow loads of 64-bit fields
      kernel/bpf/verifier.c
  * net: fix skb leak in __skb_tstamp_tx()
      net/core/skbuff.c
    media: radio-shark: Add endpoint checks
    USB: sisusbvga: Add endpoint checks
  * USB: core: Add routines for endpoint checks in old drivers
      drivers/usb/core/usb.c
      include/linux/usb.h
  * udplite: Fix NULL pointer dereference in __sk_mem_raise_allocated().
      net/ipv4/udplite.c
      net/ipv6/udplite.c
    ALSA: hda/realtek - Fix inverted bass GPIO pin on Acer 8951G
    ALSA: hda/realtek - Fixed one of HP ALC671 platform Headset Mic supported
    parisc: Fix flush_dcache_page() for usage from irq context
    selftests/memfd: Fix unknown type name build failure
    x86/mm: Avoid incomplete Global INVLPG flushes
    btrfs: use nofs when cleaning up aborted transactions
    parisc: Allow to reboot machine after system halt
    m68k: Move signal frame following exception on 68020/030
    ALSA: hda/ca0132: add quirk for EVGA X299 DARK
    spi: fsl-cpm: Use 16 bit mode for large transfers with even size
    spi: fsl-spi: Re-organise transfer bits_per_word adaptation
    spi: spi-fsl-spi: automatically adapt bits-per-word in cpu mode
    s390/qdio: fix do_sqbs() inline assembly constraint
    s390/qdio: get rid of register asm
    vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF
    vc_screen: rewrite vcs_size to accept vc, not inode
  * usb: gadget: u_ether: Fix host MAC address case
      drivers/usb/gadget/function/u_ether.c
  * usb: gadget: u_ether: Convert prints to device prints
      drivers/usb/gadget/function/u_ether.c
  * lib/string_helpers: Introduce string_upper() and string_lower() helpers
      include/linux/string_helpers.h
    ALSA: hda/realtek: Add a quirk for HP EliteDesk 805
    ALSA: hda/realtek - ALC897 headset MIC no sound
    ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform
    ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW
    ALSA: hda/realtek - The front Mic on a HP machine doesn't work
    ALSA: hda/realtek - Enable the headset of Acer N50-600 with ALC662
    ALSA: hda/realtek - Enable headset mic of Acer X2660G with ALC662
    ALSA: hda/realtek - Add Headset Mic supported for HP cPC
    ALSA: hda/realtek - More constifications
    Add Acer Aspire Ethos 8951G model quirk
  * HID: wacom: Force pen out of prox if no events have been received in a while
      drivers/hid/wacom.h
      drivers/hid/wacom_sys.c
      drivers/hid/wacom_wac.c
    netfilter: nf_tables: do not allow RULE_ID to refer to another chain
    netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT flag
    netfilter: nf_tables: stricter validation of element data
  * netfilter: nf_tables: allow up to 64 bytes in the set element data area
      include/net/netfilter/nf_tables.h
    netfilter: nf_tables: add nft_setelem_parse_key()
    netfilter: nf_tables: validate registers coming from userspace.
  * netfilter: nftables: statify nft_parse_register()
      include/net/netfilter/nf_tables.h
  * netfilter: nftables: add nft_parse_register_store() and use it
      include/net/netfilter/nf_tables.h
      include/net/netfilter/nf_tables_core.h
      include/net/netfilter/nft_fib.h
  * netfilter: nftables: add nft_parse_register_load() and use it
      include/net/netfilter/nf_tables.h
      include/net/netfilter/nf_tables_core.h
      include/net/netfilter/nft_masq.h
      include/net/netfilter/nft_redir.h
    nilfs2: fix use-after-free bug of nilfs_root in nilfs_evict_inode()
    tpm/tpm_tis: Disable interrupts for more Lenovo devices
    ceph: force updating the msg pointer in non-split case
    serial: Add support for Advantech PCI-1611U card
  * statfs: enforce statfs[64] structure initialization
      fs/statfs.c
    ALSA: hda: Add NVIDIA codec IDs a3 through a7 to patch table
    ALSA: hda: Fix Oops by 9.1 surround channel names
    usb: typec: altmodes/displayport: fix pin_assignment_show
  * usb-storage: fix deadlock when a scsi command timeouts more than once
      drivers/usb/storage/scsiglue.c
    vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit()
    igb: fix bit_shift to be in [1..8] range
    cassini: Fix a memory leak in the error handling path of cas_init_one()
    net: bcmgenet: Restore phy_stop() depending upon suspend/close
    net: bcmgenet: Remove phy_stop() from bcmgenet_netif_stop()
    net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment()
    drm/exynos: fix g2d_open/close helper function definitions
    media: netup_unidvb: fix use-after-free at del_timer()
    erspan: get the proto with the md version for collect_md
  * ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode
      include/net/ip6_tunnel.h
      include/net/ip_tunnels.h
    ip6_gre: Make o_seqno start from 0 in native mode
    ip6_gre: Fix skb_under_panic in __gre6_xmit()
    serial: arc_uart: fix of_iomap leak in `arc_serial_probe`
  * drivers: provide devm_platform_ioremap_resource()
      drivers/base/platform.c
      include/linux/platform_device.h
    vsock: avoid to close connected socket after the timeout
    net: fec: Better handle pm_runtime_get() failing in .remove()
  * af_key: Reject optional tunnel/BEET mode templates in outbound policies
      net/key/af_key.c
    cpupower: Make TSC read per CPU for Mperf monitor
    btrfs: fix space cache inconsistency after error loading it from disk
    btrfs: replace calls to btrfs_find_free_ino with btrfs_find_free_objectid
    mfd: dln2: Fix memory leak in dln2_probe()
    phy: st: miphy28lp: use _poll_timeout functions for waits
  * Input: xpad - add constants for GIP interface numbers
      drivers/input/joystick/xpad.c
    clk: tegra20: fix gcc-7 constant overflow warning
    recordmcount: Fix memory leaks in the uwrite function
  * sched: Fix KCSAN noinstr violation
      include/linux/sched/task_stack.h
    mcb-pci: Reallocate memory region to avoid memory overlapping
    serial: 8250: Reinit port->pm on port specific driver unbind
    usb: typec: tcpm: fix multiple times discover svids error
  * HID: wacom: generic: Set battery quirk only when we see battery data
      drivers/hid/wacom_wac.c
    spi: spi-imx: fix MX51_ECSPI_* macros when cs > 3
    HID: logitech-hidpp: Reconcile USB and Unifying serials
    HID: logitech-hidpp: Don't use the USB serial for USB devices
    staging: rtl8192e: Replace macro RTL_PCI_DEVICE with PCI_DEVICE
  * Bluetooth: L2CAP: fix "bad unlock balance" in l2cap_disconnect_rsp
      net/bluetooth/l2cap_core.c
    wifi: iwlwifi: dvm: Fix memcpy: detected field-spanning write backtrace
  * f2fs: fix to drop all dirty pages during umount() if cp_error is set
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
  * ext4: Fix best extent lstart adjustment logic in ext4_mb_new_inode_pa()
      fs/ext4/mballoc.c
  * ext4: set goal start correctly in ext4_mb_normalize_request
      fs/ext4/mballoc.c
    gfs2: Fix inode height consistency check
    scsi: message: mptlan: Fix use after free bug in mptlan_remove() due to race condition
  * lib: cpu_rmap: Avoid use after free on rmap->obj array entries
      lib/cpu_rmap.c
  * net: Catch invalid index in XPS mapping
      net/core/dev.c
    net: pasemi: Fix return type of pasemi_mac_start_tx()
    ext2: Check block size validity during mount
    wifi: brcmfmac: cfg80211: Pass the PMK in binary instead of hex
    ACPICA: ACPICA: check null return of ACPI_ALLOCATE_ZEROED in acpi_db_display_objects
    ACPICA: Avoid undefined behavior: applying zero offset to null pointer
    drm/tegra: Avoid potential 32-bit integer overflow
    ACPI: EC: Fix oops when removing custom query handlers
  * firmware: arm_sdei: Fix sleep from invalid context BUG
      include/linux/cpuhotplug.h
    memstick: r592: Fix UAF bug in r592_remove due to race condition
  * regmap: cache: Return error in cache sync operations for REGCACHE_NONE
      drivers/base/regmap/regcache.c
    drm/amd/display: Use DC_LOG_DC in the trasform pixel function
    fs: hfsplus: remove WARN_ON() from hfsplus_cat_{read,write}_inode()
  * af_unix: Fix data races around sk->sk_shutdown.
      net/unix/af_unix.c
  * af_unix: Fix a data race of sk->sk_receive_queue->qlen.
      net/unix/af_unix.c
  * net: datagram: fix data-races in datagram_poll()
      net/core/datagram.c
    ipvlan:Fix out-of-bounds caused by unclear skb->cb
  * tcp: add annotations around sk->sk_shutdown accesses
      net/ipv4/af_inet.c
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
  * tcp: factor out __tcp_close() helper
      include/net/tcp.h
      net/ipv4/tcp.c
  * tcp: return EPOLLOUT from tcp_poll only when notsent_bytes is half the limit
      net/ipv4/tcp.c
  * tcp: reduce POLLOUT events caused by TCP_NOTSENT_LOWAT
      include/net/sock.h
      include/net/tcp.h
      net/core/stream.c
  * net: annotate sk->sk_err write from do_recvmmsg()
      net/socket.c
  * netlink: annotate accesses to nlk->cb_running
      net/netlink/af_netlink.c
  * net: Fix load-tearing on sk->sk_stamp in sock_recv_cmsgs().
      include/net/sock.h
  * UPSTREAM: ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
      fs/ext4/super.c
    Merge 4.19.283 into android-4.19-stable
  * UPSTREAM: ext4: fix invalid free tracking in ext4_xattr_move_to_block()
      fs/ext4/xattr.c
Linux 4.19.283
  * mm/page_alloc: fix potential deadlock on zonelist_update_seq seqlock
      mm/page_alloc.c
  * printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h
      include/linux/printk.h
    PCI: pciehp: Fix AB-BA deadlock between reset_lock and device_lock
    PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors
    drbd: correctly submit flush bio on barrier
    serial: 8250: Fix serial8250_tx_empty() race with DMA Tx
  * tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH
      drivers/tty/tty_io.c
      drivers/tty/tty_ioctl.c
      include/linux/tty.h
  * ext4: fix invalid free tracking in ext4_xattr_move_to_block()
      fs/ext4/xattr.c
  * ext4: remove a BUG_ON in ext4_mb_release_group_pa()
      fs/ext4/mballoc.c
  * ext4: bail out of ext4_xattr_ibody_get() fails for any reason
      fs/ext4/inline.c
  * ext4: add bounds checking in get_max_inline_xattr_value_size()
      fs/ext4/inline.c
  * ext4: improve error recovery code paths in __ext4_remount()
      fs/ext4/super.c
  * ext4: avoid a potential slab-out-of-bounds in ext4_group_desc_csum
      fs/ext4/super.c
  * ext4: fix WARNING in mb_find_extent
      fs/ext4/balloc.c
  * HID: wacom: Set a default resolution for older tablets
      drivers/hid/wacom_wac.c
    drm/panel: otm8009a: Set backlight parent to panel device
    ARM: dts: s5pv210: correct MIPI CSIS clock name
    ARM: dts: exynos: fix WM8960 clock name in Itop Elite
    sh: nmi_debug: fix return value of __setup handler
    sh: init: use OF_EARLY_FLATTREE for early init
    sh: math-emu: fix macro redefined warning
    platform/x86: touchscreen_dmi: Add info for the Dexp Ursus KX210i
    cifs: fix pcchunk length type in smb2_copychunk_range
    btrfs: print-tree: parent bytenr must be aligned to sector size
    btrfs: fix btrfs_prev_leaf() to not return the same key twice
    perf symbols: Fix return incorrect build_id size in elf_read_build_id()
    perf map: Delete two variable initialisations before null pointer checks in sort__sym_from_cmp()
    perf vendor events power9: Remove UTF-8 characters from JSON files
    virtio_net: suppress cpu stall when free_unused_bufs
    virtio_net: split free_unused_bufs()
    ALSA: caiaq: input: Add error handling for unsupported input methods in `snd_usb_caiaq_input_init`
    drm/amdgpu: add a missing lock for AMDGPU_SCHED
  * drm/amdgpu: Add command to override the context priority.
      include/uapi/drm/amdgpu_drm.h
    drm/amdgpu: Put enable gfx off feature to a delay thread
    drm/amdgpu: Add amdgpu_gfx_off_ctrl function
  * af_packet: Don't send zero-byte data in packet_sendmsg_spkt().
      net/packet/af_packet.c
    rxrpc: Fix hard call timeout units
  * net/sched: act_mirred: Add carrier check
      net/sched/act_mirred.c
  * writeback: fix call of incorrect macro
      fs/fs-writeback.c
    net: dsa: mv88e6xxx: add mv88e6321 rsvd2cpu
    net: dsa: mv88e6xxx: Add missing watchdog ops for 6320 family
  * sit: update dev->needed_headroom in ipip6_tunnel_bind_dev()
      net/ipv6/sit.c
    relayfs: fix out-of-bounds access in relay_file_read
    kernel/relay.c: fix read_pos error when multiple readers
  * dm verity: fix error handling for check_at_most_once on FEC
      drivers/md/dm-verity-target.c
  * dm verity: skip redundant verity_handle_err() on I/O errors
      drivers/md/dm-verity-target.c
    ipmi: fix SSIF not responding under certain cond.
    ipmi_ssif: Rename idle state and check
  * ipmi: Fix how the lower layers are told to watch for messages
      include/linux/ipmi_smi.h
    ipmi: Fix SSIF flag requests
  * tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem
      drivers/base/cpu.c
      include/linux/tick.h
      kernel/time/tick-sched.c
  * nohz: Add TICK_DEP_BIT_RCU
      include/linux/tick.h
      include/trace/events/timer.h
      kernel/time/tick-sched.c
  * netfilter: nf_tables: deactivate anonymous set from preparation phase
      include/net/netfilter/nf_tables.h
    debugobject: Ensure pool refill (again)
    perf auxtrace: Fix address filter entire kernel size
  * dm ioctl: fix nested locking in table_clear() to remove deadlock concern
      drivers/md/dm-ioctl.c
    dm flakey: fix a crash with invalid table line
    dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
    s390/dasd: fix hanging blockdevice after request requeue
  * btrfs: scrub: reject unsupported scrub flags
      include/uapi/linux/btrfs.h
    clk: rockchip: rk3399: allow clk_cifout to force clk_cifout_src to reparent
    wifi: rtl8xxxu: RTL8192EU always needs full init
    md/raid10: fix null-ptr-deref in raid10_sync_request
    nilfs2: fix infinite loop in nilfs_mdt_get_block()
    nilfs2: do not write dirty data after degenerating to read-only
    parisc: Fix argument pointer in real64_call_asm()
    dmaengine: at_xdmac: do not enable all cyclic channels
    phy: tegra: xusb: Add missing tegra_xusb_port_unregister for usb2_port and ulpi_port
    pwm: mtk-disp: Disable shadow registers before setting backlight values
    pwm: mtk-disp: Adjust the clocks to avoid them mismatch
    pwm: mtk-disp: Don't check the return code of pwmchip_remove()
    openrisc: Properly store r31 to pt_regs on unhandled exceptions
    RDMA/mlx5: Use correct device num_ports when modify DC
  * SUNRPC: remove the maximum number of retries in call_bind_status
      include/linux/sunrpc/sched.h
    NFSv4.1: Always send a RECLAIM_COMPLETE after establishing lease
    IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order
  * clk: add missing of_node_put() in "assigned-clocks" property parsing
      drivers/clk/clk-conf.c
    power: supply: generic-adc-battery: fix unit scaling
    RDMA/mlx4: Prevent shift wrapping in set_user_sq_size()
    RDMA/rdmavt: Delete unnecessary NULL check
  * perf/core: Fix hardlockup failure caused by perf throttle
      kernel/events/core.c
    powerpc/rtas: use memmove for potentially overlapping buffer copy
  * macintosh: via-pmu-led: requires ATA to be set
      drivers/macintosh/Kconfig
    powerpc/sysdev/tsi108: fix resource printk format warnings
    powerpc/wii: fix resource printk format warnings
    powerpc/mpc512x: fix resource printk format warning
    macintosh/windfarm_smu_sat: Add missing of_node_put()
  * spmi: Add a check for remove callback when removing a SPMI driver
      drivers/spmi/spmi.c
    staging: rtl8192e: Fix W_DISABLE# does not work after stop/start
    serial: 8250: Add missing wakeup event reporting
    tty: serial: fsl_lpuart: adjust buffer length to the intended size
    usb: chipidea: fix missing goto in `ci_hdrc_probe`
    sh: sq: Fix incorrect element size for allocating bitmap buffer
  * uapi/linux/const.h: prefer ISO-friendly __typeof__
      include/uapi/linux/const.h
    spi: cadence-quadspi: fix suspend-resume implementations
    mtd: spi-nor: cadence-quadspi: Handle probe deferral while requesting DMA channel
    mtd: spi-nor: cadence-quadspi: Don't initialize rx_dma_complete on failure
    mtd: spi-nor: cadence-quadspi: Make driver independent of flash geometry
    ia64: salinfo: placate defined-but-not-used warning
    ia64: mm/contig: fix section mismatch warning/error
  * of: Fix modalias string generation
      drivers/of/device.c
    vmci_host: fix a race condition in vmci_host_poll() causing GPF
    spi: fsl-spi: Fix CPM/QE mode Litte Endian
    spi: qup: Don't skip cleanup in remove's error path
    spi: qup: fix PM reference leak in spi_qup_remove()
  * linux/vt_buffer.h: allow either builtin or modular for macros
      include/linux/vt_buffer.h
    usb: gadget: udc: renesas_usb3: Fix use after free bug in renesas_usb3_remove due to race condition
    fpga: bridge: fix kernel-doc parameter description
    usb: host: xhci-rcar: remove leftover quirk handling
  * pstore: Revert pmsg_lock back to a normal mutex
      fs/pstore/pmsg.c
  * tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp.
      net/core/skbuff.c
    net: amd: Fix link leak when verifying config failed
  * netlink: Use copy_to_user() for optval in netlink_getsockopt().
      net/netlink/af_netlink.c
    Revert "Bluetooth: btsdio: fix use after free bug in btsdio_remove due to unfinished work"
  * ipv4: Fix potential uninit variable access bug in __ip_make_skb()
      net/ipv4/ip_output.c
  * netfilter: nf_tables: don't write table validation state without mutex
      include/linux/netfilter/nfnetlink.h
      net/netfilter/nfnetlink.c
    ixgbe: Enable setting RSS table to default values
    ixgbe: Allow flow hash to be set via ethtool
    wifi: iwlwifi: mvm: check firmware response size
    wifi: iwlwifi: make the loop for card preparation effective
    md/raid10: fix memleak of md thread
    md: update the optimal I/O size on reshape
    md/raid10: fix memleak for 'conf->bio_split'
    md/raid10: fix leak of 'r10bio->remaining' for recovery
  * crypto: drbg - Only fail when jent is unavailable in FIPS mode
      crypto/drbg.c
  * crypto: drbg - make drbg_prepare_hrng() handle jent instantiation errors
      crypto/drbg.c
    bpftool: Fix bug for long instructions in program CFG dumps
    wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_reg()
    wifi: rtlwifi: fix incorrect error codes in rtl_debugfs_set_write_rfreg()
    rtlwifi: Replace RT_TRACE with rtl_dbg
    rtlwifi: Start changing RT_TRACE into rtl_dbg
    rtlwifi: rtl_pci: Fix memory leak when hardware init fails
    scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS
    scsi: target: iscsit: Fix TAS handling during conn cleanup
  * net/packet: convert po->auxdata to an atomic flag
      net/packet/af_packet.c
      net/packet/internal.h
  * net/packet: convert po->origdev to an atomic flag
      net/packet/af_packet.c
      net/packet/internal.h
    vlan: partially enable SIOCSHWTSTAMP in container
  * scm: fix MSG_CTRUNC setting condition for SO_PASSSEC
      include/net/scm.h
    tools: bpftool: Remove invalid \' json escape
    wifi: ath6kl: reduce WARN to dev_dbg() in callback
    wifi: ath5k: fix an off by one check in ath5k_eeprom_read_freq_list()
    wifi: ath9k: hif_usb: fix memory leak of remain_skbs
    wifi: ath6kl: minor fix for allocation size
    debugobject: Prevent init race with static objects
    debugobjects: Move printk out of db->lock critical sections
    debugobjects: Add percpu free pools
  * arm64: kgdb: Set PSTATE.SS to 1 to re-enable single-step
      arch/arm64/include/asm/debug-monitors.h
      arch/arm64/kernel/debug-monitors.c
    x86/ioapic: Don't return 0 from arch_dynirq_lower_bound()
    media: rc: gpio-ir-recv: Fix support for wake-up
    media: rcar_fdp1: Fix refcount leak in probe and remove function
    media: rcar_fdp1: Fix the correct variable assignments
    media: saa7134: fix use after free bug in saa7134_finidev due to race condition
    media: dm1105: Fix use after free bug in dm1105_remove due to race condition
    x86/apic: Fix atomic update of offset in reserve_eilvt_offset()
    drm/msm/adreno: drop bogus pm_runtime_set_active()
    drm/msm/adreno: Defer enabling runpm until hw_init()
  * firmware: qcom_scm: Clear download bit during reboot
      drivers/firmware/qcom_scm.c
    media: av7110: prevent underflow in write_ts_to_decoder()
  * media: uapi: add MEDIA_BUS_FMT_METADATA_FIXED media bus format.
      include/uapi/linux/media-bus-format.h
    media: bdisp: Add missing check for create_workqueue
    ARM: dts: qcom: ipq4019: Fix the PCI I/O port range
    EDAC/skx: Fix overflows on the DRAM row address mapping arrays
    EDAC, skx: Move debugfs node under EDAC's hierarchy
  * drm/probe-helper: Cancel previous job before starting new one
      drivers/gpu/drm/drm_probe_helper.c
    drm/vgem: add missing mutex_destroy
    drm/rockchip: Drop unbalanced obj unref
  * selinux: ensure av_permissions.h is built when needed
      security/selinux/Makefile
  * selinux: fix Makefile dependencies of flask.h
      security/selinux/Makefile
    ubifs: Free memory for tmpfile name
    ubi: Fix return value overwrite issue in try_write_vid_and_data()
    ubifs: Fix memleak when insert_old_idx() failed
    Revert "ubifs: dirty_cow_znode: Fix memleak in error handling path"
    i2c: omap: Fix standard mode false ACK readings
    KVM: nVMX: Emulate NOPs in L2, and PAUSE if it's not intercepted
    reiserfs: Add security prefix to xattr name in reiserfs_security_write()
  * ring-buffer: Sync IRQ works before buffer destruction
      kernel/trace/ring_buffer.c
    pwm: meson: Fix axg ao mux parents
    MIPS: fw: Allow firmware to pass a empty env
  * xhci: fix debugfs register accesses while suspended
      drivers/usb/host/xhci-debugfs.c
  * debugfs: regset32: Add Runtime PM support
      fs/debugfs/file.c
      include/linux/debugfs.h
    staging: iio: resolver: ads1210: fix config mode
    perf sched: Cast PTHREAD_STACK_MIN to int as it may turn into sysconf(__SC_THREAD_STACK_MIN_VALUE)
  * USB: dwc3: fix runtime pm imbalance on unbind
      drivers/usb/dwc3/core.c
    stmmac: debugfs entry name is not be changed when udev rename device name.
    ASoC: Intel: bytcr_rt5640: Add quirk for the Acer Iconia One 7 B1-750
    iio: adc: palmas_gpadc: fix NULL dereference on rmmod
    USB: serial: option: add UNISOC vendor and TOZED LT70C product
  * bluetooth: Perform careful capability checks in hci_sock_ioctl()
      net/bluetooth/hci_sock.c
    wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies()
  * ANDROID: incremental fs: Evict inodes before freeing mount data
      fs/incfs/main.c
      fs/incfs/vfs.c
  * Revert "Revert "mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse""
      android/abi_gki_aarch64.xml
      include/linux/rmap.h
      mm/rmap.c

Bug: 299241959
Change-Id: Ib8c4ff87b1b0b720abce0f5fcdf1a51f01a472a9
Signed-off-by: Wilson Sung <wilsonsung@google.com>
Signed-off-by: ChangYan Lee <changyan@google.com>
2023-10-17 05:00:19 +00:00
Thomas Gleixner
ecc9d725a3 init: Provide arch_cpu_finalize_init()
commit 7725acaa4f0c04fbefb0e0d342635b967bb7d414 upstream

check_bugs() has become a dumping ground for all sorts of activities to
finalize the CPU initialization before running the rest of the init code.

Most are empty, a few do actual bug checks, some do alternative patching
and some cobble a CPU advertisement string together....

Aside of that the current implementation requires duplicated function
declaration and mostly empty header files for them.

Provide a new function arch_cpu_finalize_init(). Provide a generic
declaration if CONFIG_ARCH_HAS_CPU_FINALIZE_INIT is selected and a stub
inline otherwise.

This requires a temporary #ifdef in start_kernel() which will be removed
along with check_bugs() once the architectures are converted over.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20230613224544.957805717@linutronix.de
Signed-off-by: Daniel Sneddon <daniel.sneddon@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-08 19:49:17 +02:00
Wilson Sung
05a5973ef4 Merge android-4.19-stable (4.19.266) into android-msm-pixel-4.19-lts
Merge 4.19.266 into android-4.19-stable
Linux 4.19.266
    x86/speculation: Add RSB VM Exit protections
    x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts
    x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current
    x86/speculation: Disable RRSBA behavior
    x86/bugs: Add Cannon lake to RETBleed affected CPU list
    x86/cpu/amd: Enumerate BTC_NO
    x86/common: Stamp out the stepping madness
    x86/speculation: Fill RSB on vmexit for IBRS
    KVM: VMX: Fix IBRS handling after vmexit
    KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
    x86/speculation: Remove x86_spec_ctrl_mask
    x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
    x86/speculation: Fix SPEC_CTRL write on SMT state change
    x86/speculation: Fix firmware entry SPEC_CTRL handling
    x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
    x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
    intel_idle: Disable IBRS during long idle
    x86/bugs: Report Intel retbleed vulnerability
    x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation()
    x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
    x86/bugs: Optimize SPEC_CTRL MSR writes
    x86/entry: Add kernel IBRS implementation
    x86/entry: Remove skip_r11rcx
    x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
    x86/bugs: Add AMD retbleed= boot parameter
  * x86/bugs: Report AMD retbleed vulnerability
      drivers/base/cpu.c
      include/linux/cpu.h
    x86/cpufeatures: Move RETPOLINE flags to word 11
  * x86/cpu: Add a steppings field to struct x86_cpu_id
      include/linux/kvm_host.h
      include/linux/mod_devicetable.h
    x86/cpu: Add consistent CPU match macros
  * x86/devicetable: Move x86 specific macro out of generic code
      include/linux/mod_devicetable.h
    x86/cpufeature: Fix various quality problems in the <asm/cpu_device_hd.h> header
    x86/cpufeature: Add facility to check for min microcode revisions
  * Revert "x86/cpu: Add a steppings field to struct x86_cpu_id"
      include/linux/mod_devicetable.h
    Revert "x86/speculation: Add RSB VM Exit protections"
  * ANDROID: preserve CRC for some DRM functions
      include/linux/bits.h
  * Revert "tcp/udp: Make early_demux back namespacified."
      include/net/protocol.h
      include/net/tcp.h
      include/net/udp.h
      net/ipv4/af_inet.c
      net/ipv4/ip_input.c
      net/ipv4/sysctl_net_ipv4.c
      net/ipv6/ip6_input.c
      net/ipv6/tcp_ipv6.c
      net/ipv6/udp.c
    Merge 4.19.265 into android-4.19-stable
Linux 4.19.265
    wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker()
  * linux/bits.h: make BIT(), GENMASK(), and friends available in assembly
      include/linux/bits.h
    KVM: x86: emulator: update the emulation mode after CR0 write
    KVM: x86: emulator: introduce emulator_recalc_and_set_mode
    KVM: x86: emulator: em_sysexit should update ctxt->mode
    KVM: x86: Mask off reserved bits in CPUID.80000008H
  * ext4: fix warning in 'ext4_da_release_space'
      fs/ext4/migrate.c
    parisc: Avoid printing the hardware path twice
    parisc: Export iosapic_serial_irq() symbol for serial port driver
  * parisc: Make 8250_gsc driver dependend on CONFIG_PARISC
      drivers/tty/serial/8250/Kconfig
  * efi: random: reduce seed size to 32 bytes
      include/linux/efi.h
  * ALSA: usb-audio: Add quirks for MacroSilicon MS2100/MS2106 devices
      sound/usb/quirks-table.h
      sound/usb/quirks.c
  * capabilities: fix potential memleak on error path from vfs_getxattr_alloc()
      security/commoncap.c
    tracing/histogram: Update document for KEYS_MAX size
    kprobe: reverse kp->flags when arm_kprobe failed
  * tcp/udp: Make early_demux back namespacified.
      include/net/protocol.h
      include/net/tcp.h
      include/net/udp.h
      net/ipv4/af_inet.c
      net/ipv4/ip_input.c
      net/ipv4/sysctl_net_ipv4.c
      net/ipv6/ip6_input.c
      net/ipv6/tcp_ipv6.c
      net/ipv6/udp.c
    btrfs: fix type of parameter generation in btrfs_get_dentry
    block, bfq: protect 'bfqd->queued' by 'bfqd->lock'
  * Bluetooth: L2CAP: Fix attempting to access uninitialized memory
      net/bluetooth/l2cap_core.c
    i2c: xiic: Add platform module alias
  * HID: saitek: add madcatz variant of MMO7 mouse device ID
      drivers/hid/hid-ids.h
      drivers/hid/hid-quirks.c
    media: dvb-frontends/drxk: initialize err to 0
    media: cros-ec-cec: limit msg.len to CEC_MAX_MSG_SIZE
    media: s5p_cec: limit msg.len to CEC_MAX_MSG_SIZE
  * ipv6: fix WARNING in ip6_route_net_exit_late()
      net/ipv6/route.c
  * net, neigh: Fix null-ptr-deref in neigh_table_clear()
      net/core/neighbour.c
  * net: mdio: fix undefined behavior in bit shift for __mdiobus_register
      drivers/net/phy/mdio_bus.c
  * Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del()
      net/bluetooth/l2cap_core.c
  * Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu
      net/bluetooth/l2cap_core.c
    btrfs: fix ulist leaks in error paths of qgroup self tests
    btrfs: fix inode list leak during backref walking at resolve_indirect_refs()
    isdn: mISDN: netjet: fix wrong check of device registration
    mISDN: fix possible memory leak in mISDN_register_device()
    rose: Fix NULL pointer dereference in rose_send_frame()
    ipvs: fix WARNING in ip_vs_app_net_cleanup()
    ipvs: fix WARNING in __ip_vs_cleanup_batch()
    ipvs: use explicitly signed chars
  * net: tun: fix bugs for oversize packet when napi frags enabled
      drivers/net/tun.c
    net: sched: Fix use after free in red_enqueue()
    ata: pata_legacy: fix pdc20230_set_piomode()
    net: fec: fix improper use of NETDEV_TX_BUSY
    nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send()
    nfc: s3fwrn5: Fix potential memory leak in s3fwrn5_nci_send()
    RDMA/qedr: clean up work queue on failure in qedr_alloc_resources()
    net: dsa: Fix possible memory leaks in dsa_loop_init()
    nfs4: Fix kmemleak when allocate slot failed
    NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot
    NFSv4.1: Handle RECLAIM_COMPLETE trunking errors
    BACKPORT: ARM: 9039/1: assembler: generalize byte swapping macro into rev_l
    BACKPORT: ARM: 9035/1: uncompress: Add be32tocpu macro
    Merge 4.19.264 into android-4.19-stable
Linux 4.19.264
    can: rcar_canfd: rcar_canfd_handle_global_receive(): fix IRQ storm on global FIFO receive
    net/mlx5e: Do not increment ESN when updating IPsec ESN state
    net: ehea: fix possible memory leak in ehea_register_port()
    openvswitch: switch from WARN to pr_warn
    ALSA: aoa: Fix I2S device accounting
    ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev()
  * PM: domains: Fix handling of unavailable/disabled idle states
      drivers/base/power/domain.c
    net: ksz884x: fix missing pci_disable_device() on error in pcidev_init()
    i40e: Fix flow-type by setting GL_HASH_INSET registers
    i40e: Fix VF hang when reset is triggered on another VF
    i40e: Fix ethtool rx-flow-hash setting for X722
  * media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check 'interlaced'
      include/uapi/linux/videodev2.h
  * media: v4l2-dv-timings: add sanity checks for blanking values
      drivers/media/v4l2-core/v4l2-dv-timings.c
    media: vivid: dev->bitmap_cap wasn't freed in all cases
    media: vivid: s_fbuf: add more sanity checks
    PM: hibernate: Allow hybrid sleep to work with s2idle
    can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error path
  * tcp: fix indefinite deferral of RTO with SACK reneging
      net/ipv4/tcp_input.c
    net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY
  * net: fix UAF issue in nfqnl_nf_hook_drop() when ops_init() failed
      net/core/net_namespace.c
    kcm: annotate data-races around kcm->rx_wait
    kcm: annotate data-races around kcm->rx_psock
    amd-xgbe: add the bit rate quirk for Molex cables
    amd-xgbe: fix the SFP compliance codes check for DAC cables
    x86/unwind/orc: Fix unreliable stack dump with gcov
    net: netsec: fix error handling in netsec_register_mdio()
  * tipc: fix a null-ptr-deref in tipc_topsrv_accept
      net/tipc/topsrv.c
    ALSA: ac97: fix possible memory leak in snd_ac97_dev_register()
    arc: iounmap() arg is volatile
    drm/msm: Fix return type of mdp4_lvds_connector_mode_valid
    net: ieee802154: fix error return code in dgram_bind()
    mm,hugetlb: take hugetlb_lock before decrementing h->resv_huge_pages
    xen/gntdev: Prevent leaking grants
    Xen/gntdev: don't ignore kernel unmapping error
    s390/futex: add missing EX_TABLE entry to __futex_atomic_op()
    perf auxtrace: Fix address filter symbol name match for modules
  * kernfs: fix use-after-free in __kernfs_remove
      fs/kernfs/dir.c
    mmc: core: Fix kernel panic when remove non-standard SDIO card
    drm/msm/hdmi: fix memory corruption with too many bridges
    drm/msm/dsi: fix memory corruption with too many bridges
    mac802154: Fix LQI recording
    fbdev: smscufx: Fix several use-after-free bugs
    iio: light: tsl2583: Fix module unloading
    tools: iio: iio_utils: fix digit calculation
  * xhci: Remove device endpoints from bandwidth list when freeing the device
      drivers/usb/host/xhci-mem.c
  * usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 controller
      drivers/usb/host/xhci-pci.c
    usb: bdc: change state when port disconnected
  * usb: dwc3: gadget: Don't set IMI for no_interrupt
      drivers/usb/dwc3/gadget.c
  * usb: dwc3: gadget: Stop processing more requests on IMI
      drivers/usb/dwc3/gadget.c
  * USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM
      drivers/usb/core/quirks.c
    ALSA: au88x0: use explicitly signed char
    ALSA: Use del_timer_sync() before freeing timer
    can: kvaser_usb: Fix possible completions during init_completion
  * mm: /proc/pid/smaps_rollup: fix no vma's null-deref
      fs/proc/task_mmu.c
    hv_netvsc: Fix race between VF offering and VF association message from host
  * Makefile.debug: re-enable debug info for .S files
      Makefile
    ACPI: video: Force backlight native for more TongFang devices
  * media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
      drivers/media/v4l2-core/v4l2-mem2mem.c
    iommu/vt-d: Clean up si_domain in the init_dmars() error path
    net: hns: fix possible memory leak in hnae_ae_register()
    net: sched: cake: fix null pointer access issue when cake_init() fails
    net/atm: fix proc_mpc_write incorrect return value
  * HID: magicmouse: Do not set BTN_MOUSE on double report
      drivers/hid/hid-magicmouse.c
  * tipc: fix an information leak in tipc_topsrv_kern_subscr
      net/tipc/topsrv.c
  * tipc: Fix recognition of trial period
      net/tipc/discover.c
    ACPI: extlog: Handle multiple records
    btrfs: fix processing of delayed tree block refs during backref walking
    btrfs: fix processing of delayed data refs during backref walking
  * r8152: add PID for the Lenovo OneLink+ Dock
      drivers/net/usb/cdc_ether.c
      drivers/net/usb/r8152.c
  * arm64: errata: Remove AES hwcap for COMPAT tasks
      arch/arm64/Kconfig
      arch/arm64/include/asm/cpucaps.h
      arch/arm64/kernel/cpu_errata.c
      arch/arm64/kernel/cpufeature.c
    media: venus: dec: Handle the case where find_format fails
    KVM: arm64: vgic: Fix exit condition in scan_its_table()
    ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS
    ata: ahci-imx: Fix MODULE_ALIAS
    hwmon/coretemp: Handle large core ID value
    x86/microcode/AMD: Apply the patch early on every logical thread
    ocfs2: fix BUG when iput after ocfs2_mknod fails
    ocfs2: clear dinode links count in case of error
    Merge 4.19.263 into android-4.19-stable
  * UPSTREAM: once: fix section mismatch on clang builds
      include/linux/once.h
    Revert "serial: 8250: Fix restoring termios speed after suspend"
    UPSTREAM: ARM: 8788/1: ftrace: remove old mcount support
Linux 4.19.263
  * once: fix section mismatch on clang builds
      include/linux/once.h
    Merge 4.19.262 into android-4.19-stable
Linux 4.19.262
    gcov: support GCC 12.1 and newer compilers
    thermal: intel_powerclamp: Use first online CPU as control_cpu
  * inet: fully convert sk->sk_rx_dst to RCU rules
      include/net/sock.h
      net/ipv4/af_inet.c
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
      net/ipv4/tcp_ipv4.c
      net/ipv4/udp.c
      net/ipv6/tcp_ipv6.c
      net/ipv6/udp.c
    efi: libstub: drop pointless get_memory_map() call
    md: Replace snprintf with scnprintf
  * ext4: continue to expand file system when the target size doesn't reach
      fs/ext4/resize.c
    net/ieee802154: don't warn zero-sized raw_sendmsg()
  * net: ieee802154: return -EINVAL for unknown addr type
      include/net/ieee802154_netdev.h
    perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc
    clk: bcm2835: Make peripheral PLLC critical
    usb: idmouse: fix an uninit-value in idmouse_open
    nvme: copy firmware_rev on each init
  * Revert "usb: storage: Add quirk for Samsung Fit flash"
      drivers/usb/storage/unusual_devs.h
    usb: musb: Fix musb_gadget.c rxstate overflow bug
  * usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info()
      drivers/usb/host/xhci-mem.c
    md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d
    HID: roccat: Fix use-after-free in roccat_read()
    ata: libahci_platform: Sanity check the DT child nodes number
    staging: vt6655: fix potential memory leak
    power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type()
    nbd: Fix hung when signal interrupts nbd_start_device_ioctl()
    scsi: 3w-9xxx: Avoid disabling device if failing to enable it
    media: cx88: Fix a null-ptr-deref bug in buffer_prepare()
    ARM: dts: imx6sx: add missing properties for sram
    ARM: dts: imx6sll: add missing properties for sram
    ARM: dts: imx6sl: add missing properties for sram
    ARM: dts: imx6qp: add missing properties for sram
    ARM: dts: imx6dl: add missing properties for sram
    ARM: dts: imx6q: add missing properties for sram
    ARM: dts: imx7d-sdb: config the max pressure for tsc2046
    drm/amdgpu: fix initial connector audio value
    platform/x86: msi-laptop: Change DMI match / alias strings to fix module autoloading
  * drm: panel-orientation-quirks: Add quirk for Anbernic Win600
      drivers/gpu/drm/drm_panel_orientation_quirks.c
    drm/vc4: vec: Fix timings for VEC modes
    drm/amd/display: fix overflow on MIN_I64 definition
  * drm: Prevent drm_copy_field() to attempt copying a NULL pointer
      drivers/gpu/drm/drm_ioctl.c
  * drm: Use size_t type for len variable in drm_copy_field()
      drivers/gpu/drm/drm_ioctl.c
  * r8152: Rate limit overflow messages
      drivers/net/usb/r8152.c
  * Bluetooth: L2CAP: Fix user-after-free
      net/bluetooth/l2cap_core.c
  * net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory
      net/core/stream.c
    wifi: rt2x00: correctly set BBP register 86 for MT7620
    wifi: rt2x00: set SoC wmac clock register
    wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620
    wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620
    can: bcm: check the result of can_send() in bcm_can_tx()
  * Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times
      net/bluetooth/hci_sysfs.c
  * Bluetooth: L2CAP: initialize delayed works at l2cap_chan_create()
      net/bluetooth/l2cap_core.c
    wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit()
  * xfrm: Update ipcomp_scratches with NULL when freed
      net/xfrm/xfrm_ipcomp.c
    wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg()
  * tcp: annotate data-race around tcp_md5sig_pool_populated
      net/ipv4/tcp.c
    openvswitch: Fix overreporting of drops in dropwatch
    openvswitch: Fix double reporting of drops in dropwatch
    wifi: brcmfmac: fix invalid address access when enabling SCAN log level
    NFSD: Return nfserr_serverfault if splice_ok but buf->pages have data
    thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to avoid crash
    powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue
    MIPS: BCM47XX: Cast memcmp() of function to (void *)
    ACPI: video: Add Toshiba Satellite/Portege Z830 quirk
  * f2fs: fix race condition on setting FI_NO_EXTENT flag
      fs/f2fs/extent_cache.c
    crypto: cavium - prevent integer overflow loading firmware
  * iommu/iova: Fix module config properly
      include/linux/iova.h
    iommu/omap: Fix buffer overflow in debugfs
    powerpc: Fix SPE Power ISA properties for e500v1 platforms
    powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5
    x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition
    powerpc/powernv: add missing of_node_put() in opal_export_attrs()
    powerpc/pci_dn: Add missing of_node_put()
    powerpc/sysdev/fsl_msi: Add missing of_node_put()
    powerpc/math_emu/efp: Include module.h
    mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg
    clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe
    clk: bcm2835: fix bcm2835_clock_rate_from_divisor declaration
  * spmi: pmic-arb: correct duplicate APID to PPID mapping logic
      drivers/spmi/spmi-pmic-arb.c
    dmaengine: ioat: stop mod_timer from resurrecting deleted timer in __cleanup()
    mfd: sm501: Add check for platform_driver_register()
    mfd: lp8788: Fix an error handling path in lp8788_irq_init() and lp8788_irq_init()
    mfd: lp8788: Fix an error handling path in lp8788_probe()
    mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq()
    mfd: intel_soc_pmic: Fix an error handling path in intel_soc_pmic_i2c_probe()
    fsi: core: Check error number after calling ida_simple_get
    serial: 8250: Fix restoring termios speed after suspend
    firmware: google: Test spinlock on panic path to avoid lockups
    staging: vt6655: fix some erroneous memory clean-up loops
    phy: qualcomm: call clk_disable_unprepare in the error handling
    drivers: serial: jsm: fix some leaks in probe
    usb: gadget: function: fix dangling pnp_string in f_printer.c
  * xhci: Don't show warning for reinit on known broken suspend
      drivers/usb/host/xhci.c
    md/raid5: Ensure stripe_fill happens on non-read IO with journal
  * ata: fix ata_id_has_dipm()
      include/linux/ata.h
  * ata: fix ata_id_has_ncq_autosense()
      include/linux/ata.h
  * ata: fix ata_id_has_devslp()
      include/linux/ata.h
  * ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting()
      include/linux/ata.h
    mtd: devices: docg3: check the return value of devm_ioremap() in the probe
    dyndbg: let query-modname override actual module name
  * dyndbg: fix module.dyndbg handling
      include/linux/dynamic_debug.h
    RDMA/rxe: Fix the error caused by qp->sk
    RDMA/rxe: Fix "kernel NULL pointer dereference" error
    media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init
    tty: xilinx_uartps: Fix the ignore_status
    media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop
    HSI: omap_ssi_port: Fix dma_map_sg error check
    HSI: omap_ssi: Fix refcount leak in ssi_probe
    clk: tegra20: Fix refcount leak in tegra20_clock_init
    clk: tegra: Fix refcount leak in tegra114_clock_init
    clk: tegra: Fix refcount leak in tegra210_clock_init
    clk: berlin: Add of_node_put() for of_get_parent()
    clk: oxnas: Hold reference returned by of_get_parent()
    iio: ABI: Fix wrong format of differential capacitance channel ABI.
  * iio: inkern: only release the device node when done with it
      drivers/iio/inkern.c
    iio: adc: at91-sama5d2_adc: check return status for pressure and touch
    iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX
    ARM: dts: exynos: fix polarity of VBUS GPIO of Origen
    ARM: Drop CMDLINE_* dependency on ATAGS
    ARM: dts: exynos: correct s5k6a3 reset polarity on Midas family
    ARM: dts: kirkwood: lsxl: remove first ethernet port
    ARM: dts: kirkwood: lsxl: fix serial line
    ARM: dts: turris-omnia: Fix mpp26 pin name and comment
  * soc: qcom: smem_state: Add refcounting for the 'state->of_node'
      drivers/soc/qcom/smem_state.c
    soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe()
    memory: of: Fix refcount leak bug in of_get_ddr_timings()
    ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe
    ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe
    ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe
    mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe()
    ALSA: dmaengine: increment buffer pointer atomically
    drm/msm/dpu: index dpu_kms->hw_vbif using vbif_idx
    ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API
    mmc: au1xmmc: Fix an error handling path in au1xmmc_probe()
    drm/bridge: megachips: Fix a null pointer dereference bug
    platform/x86: msi-laptop: Fix resource cleanup
    platform/x86: msi-laptop: Fix old-ec check for backlight registering
    platform/chrome: fix double-free in chromeos_laptop_prepare()
  * drm/mipi-dsi: Detach devices when removing the host
      drivers/gpu/drm/drm_mipi_dsi.c
    drm: bridge: adv7511: fix CEC power down control register offset
    net: mvpp2: fix mvpp2 debugfs leak
  * once: add DO_ONCE_SLOW() for sleepable contexts
      include/linux/once.h
      lib/once.c
      net/ipv4/inet_hashtables.c
    bnx2x: fix potential memory leak in bnx2x_tpa_stop()
    net: rds: don't hold sock lock when cancelling work from rds_tcp_reset_callbacks()
  * tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited
      include/linux/tcp.h
      include/net/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_output.c
  * sctp: handle the error returned from sctp_auth_asoc_init_active_key
      net/sctp/auth.c
    mISDN: fix use-after-free bugs in l1oip timer handlers
    vhost/vsock: Use kvmalloc/kvfree for larger packets.
    spi: s3c64xx: Fix large transfers with DMA
    netfilter: nft_fib: Fix for rpath check with VRF devices
    spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe
  * bpf: Ensure correct locking around vulnerable function find_vpid()
      kernel/bpf/syscall.c
    net: fs_enet: Fix wrong check in do_pd_setup
    wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration
  * bpf: btf: fix truncated last_member_type_id in btf_struct_resolve
      kernel/bpf/btf.c
    wifi: rtl8xxxu: Fix skb misuse in TX queue selection
    spi: qup: add missing clk_disable_unprepare on error in spi_qup_pm_resume_runtime()
    spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume()
    wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse()
    spi: mt7621: Fix an error message in mt7621_spi_probe()
    bpftool: Fix a wrong type cast in btf_dumper_int
    wifi: mac80211: allow bw change during channel switch in mesh
    wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state()
    sh: machvec: Use char[] for section boundaries
    selinux: use "grep -E" instead of "egrep"
    KVM: nVMX: Unconditionally purge queued/injected events on nested "exit"
    KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility
  * ring-buffer: Fix race between reset page and reading page
      kernel/trace/ring_buffer.c
  * ring-buffer: Check pending waiters when doing wake ups as well
      kernel/trace/ring_buffer.c
  * ring-buffer: Allow splice to read previous partially read pages
      kernel/trace/ring_buffer.c
    ftrace: Properly unset FTRACE_HASH_FL_MOD
    livepatch: fix race between fork and KLP transition
  * ext4: place buffer head allocation before handle start
      fs/ext4/inode.c
  * ext4: make ext4_lazyinit_thread freezable
      fs/ext4/super.c
  * ext4: fix null-ptr-deref in ext4_write_info
      fs/ext4/super.c
  * ext4: avoid crash when inline data creation follows DIO write
      fs/ext4/file.c
    nilfs2: fix use-after-free bug of struct nilfs_root
    riscv: fix build with binutils 2.38
    btrfs: fix race between quota enable and quota rescan ioctl
    fbdev: smscufx: Fix use-after-free in ufx_ops_open()
  * PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge
      drivers/pci/setup-res.c
    UM: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
    riscv: Allow PROT_WRITE-only mmap()
    parisc: fbdev/stifb: Align graphics memory size to 4MB
  * Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
      fs/splice.c
    regulator: qcom_rpm: Fix circular deferral regression
  * quota: Check next/prev free block number after reading from quota file
      fs/quota/quota_tree.c
  * HID: multitouch: Add memory barriers
      drivers/hid/hid-multitouch.c
    fs: dlm: handle -EBUSY first in lock arg validation
    fs: dlm: fix race between test_bit() and queue_work()
    can: kvaser_usb_leaf: Fix CAN state after restart
    can: kvaser_usb_leaf: Fix TX queue out of sync after restart
    can: kvaser_usb_leaf: Fix overread with an invalid command
    can: kvaser_usb: Fix use of uninitialized completion
  * usb: add quirks for Lenovo OneLink+ Dock
      drivers/usb/core/quirks.c
    iio: dac: ad5593r: Fix i2c read protocol requirements
    mtd: rawnand: atmel: Unmap streaming DMA mappings
    ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530
  * ALSA: usb-audio: Fix NULL dererence at error path
      sound/usb/endpoint.c
  * ALSA: usb-audio: Fix potential memory leaks
      sound/usb/endpoint.c
  * ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free()
      sound/core/rawmidi.c
    ALSA: oss: Fix potential deadlock at unregistration
  * Input: xpad - fix wireless 360 controller breaking after suspend
      drivers/input/joystick/xpad.c
  * Input: xpad - add supported devices as contributed on github
      drivers/input/joystick/xpad.c
    wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
  * random: use expired timer rather than wq for mixing fast pool
      drivers/char/random.c
  * random: avoid reading two cache lines on irq randomness
      drivers/char/random.c
  * random: restore O_NONBLOCK support
      drivers/char/mem.c
      drivers/char/random.c
    USB: serial: qcserial: add new usb-id for Dell branded EM7455
  * scsi: stex: Properly zero out the passthrough command structure
      include/scsi/scsi_cmnd.h
    ALSA: hda: Fix position reporting on Poulsbo
  * random: clamp credited irq bits to maximum mixed
      drivers/char/random.c
    ceph: don't truncate file in atomic_open
    nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure
    nilfs2: fix leak of nilfs_root in case of writer thread creation failure
    nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level()
  * rpmsg: qcom: glink: replace strncpy() with strscpy_pad()
      drivers/rpmsg/qcom_glink_native.c
    mmc: core: Terminate infinite loop in SD-UHS voltage switch
    mmc: core: Replace with already defined values for readability
    USB: serial: ftdi_sio: fix 300 bps rate for SIO
    usb: mon: make mmapped memory read only
    um: Cleanup compiler warning in arch/x86/um/tls_32.c
    um: Cleanup syscall_handler_t cast in syscalls_32.h
  * net/ieee802154: fix uninit value bug in dgram_sendmsg
      include/net/ieee802154_netdev.h
    scsi: qedf: Fix a UAF bug in __qedf_probe()
    ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer
    dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API failure
    dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property
    firmware: arm_scmi: Add SCMI PM driver remove routine
  * fs: fix UAF/GPF bug in nilfs_mdt_destroy
      fs/inode.c
    ARM: fix function graph tracer and unwinder dependencies
    docs: update mediator information in CoC docs
  * Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
      scripts/Makefile.extrawarn
  * BACKPORT: arm64: compat: vdso: Use legacy syscalls as fallback
      arch/arm64/include/asm/vdso/compat_gettimeofday.h
    ANDROID: Drop explicit 'CONFIG_INIT_STACK_ALL_ZERO=y' from gki_defconfig
  * UPSTREAM: hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero
      Makefile
      security/Kconfig.hardening
  * UPSTREAM: hardening: Avoid harmless Clang option under CONFIG_INIT_STACK_ALL_ZERO
      Makefile
      security/Kconfig.hardening
  * UPSTREAM: hardening: Clarify Kconfig text for auto-var-init
      security/Kconfig.hardening
  * ANDROID: Fix kenelci build-break for !CONFIG_PERF_EVENTS
      kernel/cpu.c
  * UPSTREAM: f2fs: guarantee to write dirty data when enabling checkpoint back
      fs/f2fs/file.c
      fs/f2fs/super.c

Bug: 260299968
Change-Id: I609eaa63e46c0600536923fa7da78ef66f5db237
Signed-off-by: Wilson Sung <wilsonsung@google.com>
Signed-off-by: JohnnLee <johnnlee@google.com>
2022-12-14 02:48:01 +00:00
Alexandre Chartre
bd2b18f6d2 x86/bugs: Report AMD retbleed vulnerability
commit 6b80b59b3555706508008f1f127b5412c89c7fd8 upstream.

Report that AMD x86 CPUs are vulnerable to the RETBleed (Arbitrary
Speculative Code Execution with Return Instructions) attack.

  [peterz: add hygon]
  [kim: invert parity; fam15h]

Co-developed-by: Kim Phillips <kim.phillips@amd.com>
Signed-off-by: Kim Phillips <kim.phillips@amd.com>
Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
[cascardo: adjusted BUG numbers to match upstream]
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
[suleiman: Remove hygon]
Signed-off-by: Suleiman Souhlal <suleiman@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-11-23 07:53:44 +01:00
Lucas Wei
9861f5c7bf Merge android-4.19-stable (4.19.248) into android-msm-pixel-4.19-lts
Merge 4.19.248 into android-4.19-stable
  * UPSTREAM: ext4: verify dir block before splitting it
      fs/ext4/namei.c
  * UPSTREAM: ext4: fix use-after-free in ext4_rename_dir_prepare
      fs/ext4/namei.c
  * BACKPORT: ext4: Only advertise encrypted_casefold when encryption and unicode are enabled
      fs/ext4/sysfs.c
  * BACKPORT: ext4: fix no-key deletion for encrypt+casefold
      fs/ext4/namei.c
  * BACKPORT: ext4: optimize match for casefolded encrypted dirs
      fs/ext4/ext4.h
      fs/ext4/namei.c
  * BACKPORT: ext4: handle casefolding with encryption
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/hash.c
      fs/ext4/inline.c
      fs/ext4/namei.c
      fs/ext4/super.c
      fs/ext4/sysfs.c
  * Revert "ANDROID: ext4: Handle casefolding with encryption"
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/hash.c
      fs/ext4/ialloc.c
      fs/ext4/inline.c
      fs/ext4/namei.c
      fs/ext4/super.c
  * Revert "ANDROID: ext4: Optimize match for casefolded encrypted dirs"
      fs/ext4/ext4.h
      fs/ext4/namei.c
  * UPSTREAM: Revert "hwmon: Make chip parameter for with_info API mandatory"
      drivers/hwmon/hwmon.c
  * ANDROID: extcon: fix allocation for edev->bnh
      drivers/extcon/extcon.c
  * Revert "drm: fix EDID struct for old ARM OABI format"
      include/drm/drm_edid.h
  * Revert "mailbox: forward the hrtimer if not queued and under a lock"
      drivers/mailbox/mailbox.c
      include/linux/mailbox_controller.h
  * Revert "ALSA: jack: Access input_dev under mutex"
      include/sound/jack.h
      sound/core/jack.c
  * Revert "ext4: fix use-after-free in ext4_rename_dir_prepare"
      fs/ext4/namei.c
  * Revert "ext4: verify dir block before splitting it"
      fs/ext4/namei.c
Linux 4.19.248
    x86/speculation/mmio: Print SMT warning
    KVM: x86/speculation: Disable Fill buffer clear within guests
    x86/speculation/mmio: Reuse SRBDS mitigation for SBDS
    x86/speculation/srbds: Update SRBDS mitigation selection
  * x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data
      drivers/base/cpu.c
      include/linux/cpu.h
    x86/speculation/mmio: Enable CPU Fill buffer clearing on idle
    x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations
    x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data
    x86/speculation: Add a common function for MD_CLEAR mitigation update
    x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug
    Documentation: Add documentation for Processor MMIO Stale Data
    x86/cpu: Add another Alder Lake CPU to the Intel family
    x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family
    x86/cpu: Add Jasper Lake to Intel family
  * cpu/speculation: Add prototype for cpu_show_srbds()
      include/linux/cpu.h
    x86/cpu: Add Elkhart Lake to Intel family
    Merge 4.19.247 into android-4.19-stable
Linux 4.19.247
  * tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd
      net/ipv4/tcp_input.c
  * mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
      include/linux/mtd/cfi.h
    mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
    md/raid0: Ignore RAID0 layout if the second zone has only one device
    powerpc/32: Fix overread/overwrite of thread_struct via ptrace
    Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag
    ixgbe: fix unexpected VLAN Rx in promisc mode on VF
    ixgbe: fix bcast packets Rx on VF after promisc removal
    nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
    nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
    mmc: block: Fix CQE recovery reset success
    ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
    cifs: return errors during session setup during reconnects
    ALSA: hda/conexant - Fix loopback issue with CX20632
    vringh: Fix loop descriptors check in the indirect cases
  * nodemask: Fix return values to be unsigned
      include/linux/nodemask.h
      lib/nodemask.c
    nbd: fix io hung while disconnecting device
    nbd: fix race between nbd_alloc_config() and module removal
    nbd: call genl_unregister_family() first in nbd_cleanup()
  * modpost: fix undefined behavior of is_arm_mapping_symbol()
      scripts/mod/modpost.c
    drm/radeon: fix a possible null pointer dereference
    ceph: allow ceph.dir.rctime xattr to be updatable
  * Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
      net/key/af_key.c
    md: protect md_unregister_thread from reentrancy
  * kernfs: Separate kernfs_pr_cont_buf and rename_lock.
      fs/kernfs/dir.c
    serial: msm_serial: disable interrupts in __msm_console_write()
    staging: rtl8712: fix uninit-value in r871xu_drv_init()
    clocksource/drivers/sp804: Avoid error on multiple instances
  * extcon: Modify extcon device to be created after driver data is set
      drivers/extcon/extcon.c
    misc: rtsx: set NULL intfdata when probe fails
    usb: dwc2: gadget: don't reset gadget's driver->bus
  * USB: hcd-pci: Fully suspend across freeze/thaw cycle
      drivers/usb/core/hcd-pci.c
    drivers: usb: host: Fix deadlock in oxu_bus_suspend()
    drivers: tty: serial: Fix deadlock in sa1100_set_termios()
    USB: host: isp116x: check return value after calling platform_get_resource()
    drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
    drivers: staging: rtl8192u: Fix deadlock in ieee80211_beacons_stop()
    tty: Fix a possible resource leak in icom_probe
    tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()
    lkdtm/usercopy: Expand size of "out of frame" object
    iio: dummy: iio_simple_dummy: check the return value of kstrdup()
    drm: imx: fix compiler warning with gcc-12
    net: altera: Fix refcount leak in altera_tse_mdio_create
    ip_gre: test csum_start instead of transport header
    net/mlx5: Rearm the FW tracer after each tracer event
    net: ipv6: unexport __init-annotated seg6_hmac_init()
  * net: xfrm: unexport __init-annotated xfrm4_protocol_init()
      net/ipv4/xfrm4_protocol.c
  * net: mdio: unexport __init-annotated mdio_bus_init()
      drivers/net/phy/mdio_bus.c
    SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()
    net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure
  * bpf, arm64: Clear prog->jited_len along prog->jited
      arch/arm64/net/bpf_jit_comp.c
  * af_unix: Fix a data-race in unix_dgram_peer_wake_me().
      net/unix/af_unix.c
    ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
    xprtrdma: treat all calls not a bcall when bc_serv is NULL
    video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
    NFSv4: Don't hold the layoutget locks across multiple RPC calls
    m68knommu: fix undefined reference to `_init_sp'
    m68knommu: set ZERO_PAGE() to the allocated zeroed page
    i2c: cadence: Increase timeout per message if necessary
  * tracing: Avoid adding tracer option before update_tracer_options
      kernel/trace/trace.c
  * tracing: Fix sleeping function called from invalid context on RT kernel
      kernel/trace/trace.c
    mips: cpc: Fix refcount leak in mips_cpc_default_phys_base
    perf c2c: Fix sorting in percent_rmt_hitm_cmp()
  * tipc: check attribute length for bearer name
      net/tipc/bearer.c
    afs: Fix infinite loop found by xfstest generic/676
  * tcp: tcp_rtx_synack() can be called from process context
      net/ipv4/tcp_output.c
    net/mlx5e: Update netdev features after changing XDP state
    nfp: only report pause frame configuration for physical device
    ubi: ubi_create_volume: Fix use-after-free when volume creation failed
    jffs2: fix memory leak in jffs2_do_fill_super
  * modpost: fix removing numeric suffixes
      scripts/mod/modpost.c
    net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
    net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()
    s390/crypto: fix scatterwalk_unmap() callers in AES-GCM
    clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value
    bus: ti-sysc: Fix warnings for unbind for serial
    firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
    serial: stm32-usart: Correct CSIZE, bits, and parity
    serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
    serial: sh-sci: Don't allow CS5-6
    serial: txx9: Don't allow CS5-6
    serial: digicolor-usart: Don't allow CS5-6
    serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
    serial: meson: acquire port->lock in startup()
    rtc: mt6397: check return value after calling platform_get_resource()
    clocksource/drivers/riscv: Events are stopped during CPU suspend
    soc: rockchip: Fix refcount leak in rockchip_grf_init
    coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier
    rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails
    iio: adc: sc27xx: fix read big scale voltage not right
    usb: dwc3: pci: Fix pm_runtime_get_sync() error checking
    rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
    pwm: lp3943: Fix duty calculation in case period was clamped
    usb: musb: Fix missing of_node_put() in omap2430_probe
    USB: storage: karma: fix rio_karma_init return
    usb: usbip: add missing device lock on tweak configuration cmd
    usb: usbip: fix a refcount leak in stub_probe()
    tty: goldfish: Use tty_port_destroy() to destroy port
    staging: greybus: codecs: fix type confusion of list iterator variable
    pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards
    md: bcache: check the return value of kzalloc() in detached_dev_do_request()
    MIPS: IP27: Remove incorrect `cpu_has_fpu' override
    RDMA/rxe: Generate a completion for unsupported/invalid opcode
    phy: qcom-qmp: fix reset-controller leak on probe errors
    blk-iolatency: Fix inflight count imbalances and IO hangs on offline
    dt-bindings: gpio: altera: correct interrupt-cells
    docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
    phy: qcom-qmp: fix struct clk leak on probe errors
    arm64: dts: qcom: ipq8074: fix the sleep clock frequency
    gma500: fix an incorrect NULL check on list iterator
    carl9170: tx: fix an incorrect use of list iterator
  * ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control
      sound/soc/codecs/rt5514.c
    rtl818x: Prevent using not initialized queues
    hugetlb: fix huge_pmd_unshare address update
  * nodemask.h: fix compilation error with GCC12
      include/linux/nodemask.h
    iommu/msm: Fix an incorrect NULL check on list iterator
    um: Fix out-of-bounds read in LDT setup
    um: chan_user: Fix winch_tramp() return value
    mac80211: upgrade passive scan to active scan on DFS channels after beacon rx
    irqchip: irq-xtensa-mx: fix initial IRQ affinity
    irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x
    RDMA/hfi1: Fix potential integer multiplication overflow errors
    media: coda: Add more H264 levels for CODA960
    media: coda: Fix reported H264 profile
    md: fix an incorrect NULL check in md_reload_sb
    md: fix an incorrect NULL check in does_sb_need_changing
    drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX
    drm/nouveau/clk: Fix an incorrect NULL check on list iterator
    drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
  * scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
      drivers/scsi/ufs/ufs-qcom.c
    scsi: dc395x: Fix a missing check on list iterator
    ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock
    dlm: fix missing lkb refcount handling
    dlm: fix plock invalid read
    PCI: qcom: Fix unbalanced PHY init on probe errors
    PCI: qcom: Fix runtime PM imbalance on probe errors
  * PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299
      drivers/pci/pci.c
    tracing: Fix potential double free in create_var_ref()
  * ext4: avoid cycles in directory h-tree
      fs/ext4/namei.c
  * ext4: verify dir block before splitting it
      fs/ext4/namei.c
  * ext4: fix bug_on in ext4_writepages
      fs/ext4/inline.c
  * ext4: fix use-after-free in ext4_rename_dir_prepare
      fs/ext4/namei.c
    netfilter: nf_tables: disallow non-stateful expression in sets earlier
  * fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
      fs/fs-writeback.c
    iwlwifi: mvm: fix assert 1F04 upon reconfig
    wifi: mac80211: fix use-after-free in chanctx code
  * f2fs: fix deadloop in foreground GC
      fs/f2fs/segment.h
    perf jevents: Fix event syntax error caused by ExtSel
    perf c2c: Use stdio interface if slang is not supported
    iommu/amd: Increase timeout waiting for GA log enablement
    dmaengine: stm32-mdma: remove GISR1 register
    video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
    NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
    i2c: at91: Initialize dma_buf in at91_twi_xfer()
    i2c: at91: use dma safe buffers
    iommu/mediatek: Add list_del in mtk_iommu_remove
  * f2fs: fix dereference of stale list iterator after loop body
      fs/f2fs/segment.c
    RDMA/hfi1: Prevent use of lock before it is initialized
  * mailbox: forward the hrtimer if not queued and under a lock
      drivers/mailbox/mailbox.c
      include/linux/mailbox_controller.h
    powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
    powerpc/perf: Fix the threshold compare group constraint for power9
    Input: sparcspkr - fix refcount leak in bbc_beep_probe
  * tty: fix deadlock caused by calling printk() under tty_port->lock
      drivers/tty/tty_buffer.c
  * proc: fix dentry/inode overinstantiating under /proc/${pid}/net
      fs/proc/generic.c
      fs/proc/proc_net.c
    powerpc/4xx/cpm: Fix return value of __setup() handler
    powerpc/idle: Fix return value of __setup() handler
    powerpc/8xx: export 'cpm_setbrg' for modules
    dax: fix cache flush on PMD-mapped pages
    drivers/base/node.c: fix compaction sysfs file leak
    pinctrl: mvebu: Fix irq_of_parse_and_map() return value
    firmware: arm_scmi: Fix list protocols enumeration in the base protocol
  * scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
      include/scsi/libfcoe.h
    mfd: ipaq-micro: Fix error check return value of platform_get_irq()
    crypto: marvell/cesa - ECB does not IV
    ARM: dts: bcm2835-rpi-b: Fix GPIO line names
    ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
    PCI: rockchip: Fix find_first_zero_bit() limit
    PCI: cadence: Fix find_first_zero_bit() limit
    soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
  * soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
      drivers/soc/qcom/smp2p.c
    rxrpc: Don't try to resend the request if we're receiving the reply
    rxrpc: Fix listen() setting the bar too high for the prealloc rings
    NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
    ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
    drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
  * ext4: reject the 'commit' option on ext2 filesystems
      fs/ext4/super.c
  * sctp: read sk->sk_bound_dev_if once in sctp_rcv()
      net/sctp/input.c
    m68k: math-emu: Fix dependencies of math emulation support
  * Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
      net/bluetooth/sco.c
    media: vsp1: Fix offset calculation for plane cropping
    media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
    media: exynos4-is: Change clk_disable to clk_disable_unprepare
    media: st-delta: Fix PM disable depth imbalance in delta_probe
    scripts/faddr2line: Fix overlapping text section failures
    regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
    ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
    perf/amd/ibs: Use interrupt regs ip for stack unwinding
    media: uvcvideo: Fix missing check to determine if element is found in list
    drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
    drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected
    drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected
    x86/mm: Cleanup the control_va_addr_alignment() __setup handler
    irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
    x86: Fix return value of __setup handlers
    drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
    drm/msm/hdmi: check return value after calling platform_get_resource_byname()
    drm/msm/dsi: fix error checks and return values for DSI xmit functions
    drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume
  * x86/speculation: Add missing prototype for unpriv_ebpf_notify()
      include/linux/bpf.h
    x86/pm: Fix false positive kmemleak report in msr_build_context()
  * scsi: ufs: core: Exclude UECxx from SFR dump list
      drivers/scsi/ufs/ufshcd.c
    of: overlay: do not break notify on NOTIFY_{OK|STOP}
  * fsnotify: fix wrong lockdep annotations
      fs/notify/mark.c
  * inotify: show inotify mask flags in proc fdinfo
      fs/notify/fdinfo.c
      fs/notify/inotify/inotify.h
      fs/notify/inotify/inotify_user.c
    ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
    spi: img-spfi: Fix pm_runtime_get_sync() error checking
    HID: elan: Fix potential double free in elan_input_configured
    HID: hid-led: fix maximum brightness for Dream Cheeky
  * efi: Add missing prototype for efi_capsule_setup_info
      include/linux/efi.h
    NFC: NULL out the dev->rfkill to prevent UAF
    spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
  * nl80211: show SSID for P2P_GO interfaces
      net/wireless/nl80211.c
    drm/vc4: txp: Force alpha to be 0xff if it's disabled
    drm/vc4: txp: Don't set TXP_VSTART_AT_EOF
    drm/mediatek: Fix mtk_cec_mask()
    x86/delay: Fix the wrong asm constraint in delay_loop()
    ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
    ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
    drm/bridge: adv7511: clean up CEC adapter when probe fails
  * drm/edid: fix invalid EDID extension block filtering
      drivers/gpu/drm/drm_edid.c
    ath9k: fix ar9003_get_eepmisc
  * drm: fix EDID struct for old ARM OABI format
      include/drm/drm_edid.h
    RDMA/hfi1: Prevent panic when SDMA is disabled
  * macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
      drivers/macintosh/Kconfig
      drivers/macintosh/Makefile
    powerpc/xics: fix refcount leak in icp_opal_init()
  * tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate
      include/trace/events/vmscan.h
  * PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
      drivers/pci/pci.c
    ARM: hisi: Add missing of_node_put after of_find_compatible_node
    ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM
    ARM: versatile: Add missing of_node_put in dcscb_init
  * fat: add ratelimit to fat*_ent_bread()
      fs/fat/fatent.c
    ARM: OMAP1: clock: Fix UART rate reporting algorithm
    fs: jfs: fix possible NULL pointer dereference in dbFree()
    PM / devfreq: rk3399_dmc: Disable edev on remove()
    ARM: dts: ox820: align interrupt controller node name with dtschema
  * eth: tg3: silence the GCC 12 array-bounds warning
      drivers/net/ethernet/broadcom/Makefile
    rxrpc: Return an error to sendmsg if call failed
  * hwmon: Make chip parameter for with_info API mandatory
      drivers/hwmon/hwmon.c
    media: exynos4-is: Fix compile warning
    net: phy: micrel: Allow probing without .driver_data
    ASoC: rt5645: Fix errorenous cleanup order
    nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags
    openrisc: start CPU timer early in boot
    media: cec-adap.c: fix is_configuring state
    rtlwifi: Use pr_warn instead of WARN_ONCE
    ipmi:ssif: Check for NULL msg when handling events and messages
    dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
    s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
    ASoC: tscs454: Add endianness flag in snd_soc_component_driver
    mlxsw: spectrum_dcb: Do not warn about priority changes
  * ASoC: dapm: Don't fold register value changes into notifications
      sound/soc/soc-dapm.c
  * ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
      net/ipv6/addrconf.c
    drm/amd/pm: fix the compile warning
  * drm/plane: Move range check for format_count earlier
      drivers/gpu/drm/drm_plane.c
    scsi: megaraid: Fix error check return value of register_chrdev()
    md/bitmap: don't set sb values if can't pass sanity check
    media: cx25821: Fix the warning when removing the module
    media: pci: cx23885: Fix the error handling in cx23885_initdev()
    media: venus: hfi: avoid null dereference in deinit
    ath9k: fix QCA9561 PA bias level
    drm/amd/pm: fix double free in si_parse_power_table()
  * ALSA: jack: Access input_dev under mutex
      include/sound/jack.h
      sound/core/jack.c
    ACPICA: Avoid cache flush inside virtual machines
    fbcon: Consistently protect deferred_takeover with console_lock()
  * ipv6: fix locking issues with loops over idev->addr_list
      include/net/if_inet6.h
      net/ipv6/addrconf.c
    ipw2x00: Fix potential NULL dereference in libipw_xmit()
    b43: Fix assigning negative value to unsigned variable
    b43legacy: Fix assigning negative value to unsigned variable
    mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
    drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes
    btrfs: repair super block num_devices automatically
    btrfs: add "0x" prefix for unsupported optional features
  * ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
      kernel/ptrace.c
  * ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
      include/linux/ptrace.h
  * USB: new quirk for Dell Gen 2 devices
      drivers/usb/core/quirks.c
    USB: serial: option: add Quectel BG95 modem
    ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
    binfmt_flat: do not stop relocating GOT entries prematurely on riscv
  * BACKPORT: psi: Fix uaf issue when psi trigger is destroyed while being polled
      include/linux/psi.h
      include/linux/psi_types.h
      kernel/cgroup/cgroup.c
      kernel/sched/psi.c
  * FROMGIT: Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
      net/key/af_key.c
    Merge 4.19.246 into android-4.19-stable
Linux 4.19.246
  * bpf: Enlarge offset check value to INT_MAX in bpf_skb_{load,store}_bytes
      net/core/filter.c
    NFSD: Fix possible sleep during nfsd4_release_lockowner()
    docs: submitting-patches: Fix crossref to 'The canonical patch format'
    tpm: ibmvtpm: Correct the return value in tpm_ibmvtpm_probe()
    tpm: Fix buffer access in tpm2_get_tpm_pt()
  * HID: multitouch: Add support for Google Whiskers Touchpad
      drivers/hid/hid-multitouch.c
  * dm verity: set DM_TARGET_IMMUTABLE feature flag
      drivers/md/dm-verity-target.c
  * dm stats: add cond_resched when looping over entries
      drivers/md/dm-stats.c
    dm crypt: make printing of the key constant-time
    dm integrity: fix error code in dm_integrity_ctr()
  * zsmalloc: fix races between asynchronous zspage free and page migration
      mm/zsmalloc.c
  * netfilter: conntrack: re-fetch conntrack after insertion
      include/net/netfilter/nf_conntrack_core.h
  * exec: Force single empty string when argv is empty
      fs/exec.c
  * block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern
      block/bio.c
    drm/i915: Fix -Wstringop-overflow warning in call to intel_read_wm_latency()
    perf tests bp_account: Make global variable static
    perf bench: Share some global variables to fix build with gcc 10
    libtraceevent: Fix build with binutils 2.35
  * cfg80211: set custom regdomain after wiphy registration
      net/wireless/core.c
      net/wireless/reg.c
  * assoc_array: Fix BUG_ON during garbage collect
      lib/assoc_array.c
    drivers: i2c: thunderx: Allow driver to work with ACPI defined TWSI controllers
    i2c: ismt: Provide a DMA buffer for Interrupt Cause Logging
    net: ftgmac100: Disable hardware checksum on AST2600
  * net: af_key: check encryption module availability consistency
      net/key/af_key.c
    ACPI: sysfs: Fix BERT error region memory mapping
    ACPI: sysfs: Make sparse happy about address space in use
  * secure_seq: use the 64 bits of the siphash for port offset calculation
      include/net/inet_hashtables.h
      include/net/secure_seq.h
      net/core/secure_seq.c
      net/ipv4/inet_hashtables.c
      net/ipv6/inet6_hashtables.c
  * tcp: change source port randomizarion at connect() time
      net/ipv4/inet_hashtables.c
    staging: rtl8723bs: prevent ->Ssid overflow in rtw_wx_set_scan()
    x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests

Bug: 237729727
Change-Id: I56a64d00c29e30a27ccd47323103f846dc3c002e
Signed-off-by: Lucas Wei <lucaswei@google.com>
2022-07-25 15:28:21 +08:00
Pawan Gupta
f2983fbba1 x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data
commit 8d50cdf8b8341770bc6367bce40c0c1bb0e1d5b3 upstream

Add the sysfs reporting file for Processor MMIO Stale Data
vulnerability. It exposes the vulnerability and mitigation state similar
to the existing files for the other hardware vulnerabilities.

Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-16 13:18:52 +02:00
Guenter Roeck
813bb0c454 cpu/speculation: Add prototype for cpu_show_srbds()
commit 2accfa69050c2a0d6fc6106f609208b3e9622b26 upstream.

0-day is not happy that there is no prototype for cpu_show_srbds():

drivers/base/cpu.c:565:16: error: no previous prototype for 'cpu_show_srbds'

Fixes: 7e5b3c267d25 ("x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200617141410.93338-1-linux@roeck-us.net
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-16 13:18:51 +02:00
Ivaylo Georgiev
b434e4bcd4 Merge android-4.19-q.84 (314ab78) into msm-4.19
* refs/heads/tmp-314ab78:
  Linux 4.19.84
  kvm: x86: mmu: Recovery of shattered NX large pages
  kvm: Add helper function for creating VM worker threads
  kvm: mmu: ITLB_MULTIHIT mitigation
  KVM: vmx, svm: always run with EFER.NXE=1 when shadow paging is active
  KVM: x86: add tracepoints around __direct_map and FNAME(fetch)
  KVM: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON
  KVM: x86: remove now unneeded hugepage gfn adjustment
  KVM: x86: make FNAME(fetch) and __direct_map more similar
  kvm: mmu: Do not release the page inside mmu_set_spte()
  kvm: Convert kvm_lock to a mutex
  kvm: x86, powerpc: do not allow clearing largepages debugfs entry
  Documentation: Add ITLB_MULTIHIT documentation
  cpu/speculation: Uninline and export CPU mitigations helpers
  x86/cpu: Add Tremont to the cpu vulnerability whitelist
  x86/bugs: Add ITLB_MULTIHIT bug infrastructure
  x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs
  x86/tsx: Add config options to set tsx=on|off|auto
  x86/speculation/taa: Add documentation for TSX Async Abort
  x86/tsx: Add "auto" option to the tsx= cmdline parameter
  kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
  x86/speculation/taa: Add sysfs reporting for TSX Async Abort
  x86/speculation/taa: Add mitigation for TSX Async Abort
  x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
  x86/cpu: Add a helper function x86_read_arch_cap_msr()
  x86/msr: Add the IA32_TSX_CTRL MSR
  KVM: x86: use Intel speculation bugs and features as derived in generic x86 code
  drm/i915/cmdparser: Fix jump whitelist clearing
  drm/i915/gen8+: Add RC6 CTX corruption WA
  drm/i915: Lower RM timeout to avoid DSI hard hangs
  drm/i915/cmdparser: Ignore Length operands during command matching
  drm/i915/cmdparser: Add support for backward jumps
  drm/i915/cmdparser: Use explicit goto for error paths
  drm/i915: Add gen9 BCS cmdparsing
  drm/i915: Allow parsing of unsized batches
  drm/i915: Support ro ppgtt mapped cmdparser shadow buffers
  drm/i915: Add support for mandatory cmdparsing
  drm/i915: Remove Master tables from cmdparser
  drm/i915: Disable Secure Batches for gen6+
  drm/i915: Rename gen7 cmdparser tables
  vsock/virtio: fix sock refcnt holding during the shutdown
  iio: imu: mpu6050: Fix FIFO layout for ICM20602
  net: prevent load/store tearing on sk->sk_stamp
  netfilter: ipset: Copy the right MAC address in hash:ip,mac IPv6 sets
  usbip: Fix free of unallocated memory in vhci tx
  cgroup,writeback: don't switch wbs immediately on dead wbs if the memcg is dead
  mm/filemap.c: don't initiate writeback if mapping has no dirty pages
  iio: imu: inv_mpu6050: fix no data on MPU6050
  iio: imu: mpu6050: Add support for the ICM 20602 IMU
  blkcg: make blkcg_print_stat() print stats only for online blkgs
  pinctrl: cherryview: Fix irq_valid_mask calculation
  ocfs2: protect extent tree in ocfs2_prepare_inode_for_write()
  pinctrl: intel: Avoid potential glitches if pin is in GPIO mode
  e1000: fix memory leaks
  igb: Fix constant media auto sense switching when no cable is connected
  net: ethernet: arc: add the missed clk_disable_unprepare
  NFSv4: Don't allow a cached open with a revoked delegation
  usb: dwc3: gadget: fix race when disabling ep with cancelled xfers
  hv_netvsc: Fix error handling in netvsc_attach()
  drm/amd/display: Passive DP->HDMI dongle detection fix
  drm/amdgpu: If amdgpu_ib_schedule fails return back the error.
  iommu/amd: Apply the same IVRS IOAPIC workaround to Acer Aspire A315-41
  net: mscc: ocelot: refuse to overwrite the port's native vlan
  net: mscc: ocelot: fix vlan_filtering when enslaving to bridge before link is up
  net: hisilicon: Fix "Trying to free already-free IRQ"
  fjes: Handle workqueue allocation failure
  nvme-multipath: fix possible io hang after ctrl reconnect
  scsi: qla2xxx: stop timer in shutdown path
  RDMA/hns: Prevent memory leaks of eq->buf_list
  RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case
  usbip: tools: Fix read_usb_vudc_device() error path handling
  USB: ldusb: use unsigned size format specifiers
  USB: Skip endpoints with 0 maxpacket length
  perf/x86/uncore: Fix event group support
  perf/x86/amd/ibs: Handle erratum #420 only on the affected CPU family (10h)
  perf/x86/amd/ibs: Fix reading of the IBS OpData register and thus precise RIP validity
  usb: dwc3: remove the call trace of USBx_GFLADJ
  usb: gadget: configfs: fix concurrent issue between composite APIs
  usb: dwc3: pci: prevent memory leak in dwc3_pci_probe
  usb: gadget: composite: Fix possible double free memory bug
  usb: gadget: udc: atmel: Fix interrupt storm in FIFO mode.
  usb: fsl: Check memory resource before releasing it
  macsec: fix refcnt leak in module exit routine
  bonding: fix unexpected IFF_BONDING bit unset
  ipvs: move old_secure_tcp into struct netns_ipvs
  ipvs: don't ignore errors in case refcounting ip_vs module fails
  netfilter: nf_flow_table: set timeout before insertion into hashes
  scsi: qla2xxx: Initialized mailbox to prevent driver load failure
  scsi: lpfc: Honor module parameter lpfc_use_adisc
  net: openvswitch: free vport unless register_netdevice() succeeds
  RDMA/uverbs: Prevent potential underflow
  scsi: qla2xxx: fixup incorrect usage of host_byte
  net/mlx5: prevent memory leak in mlx5_fpga_conn_create_cq
  net/mlx5e: TX, Fix consumer index of error cqe dump
  RDMA/qedr: Fix reported firmware version
  iw_cxgb4: fix ECN check on the passive accept
  RDMA/mlx5: Clear old rate limit when closing QP
  HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring()
  dmaengine: sprd: Fix the possible memory leak issue
  dmaengine: xilinx_dma: Fix control reg update in vdma_channel_set_config
  HID: google: add magnemite/masterball USB ids
  PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30
  usbip: Implement SG support to vhci-hcd and stub driver
  usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path
  sched/fair: Fix -Wunused-but-set-variable warnings
  sched/fair: Fix low cpu usage with high throttling by removing expiration of cpu-local slices
  ALSA: usb-audio: Fix copy&paste error in the validator
  ALSA: usb-audio: remove some dead code
  ALSA: usb-audio: Fix possible NULL dereference at create_yamaha_midi_quirk()
  ALSA: usb-audio: Clean up check_input_term()
  ALSA: usb-audio: Remove superfluous bLength checks
  ALSA: usb-audio: Unify the release of usb_mixer_elem_info objects
  ALSA: usb-audio: Simplify parse_audio_unit()
  ALSA: usb-audio: More validations of descriptor units
  configfs: fix a deadlock in configfs_symlink()
  configfs: provide exclusion between IO and removals
  configfs: new object reprsenting tree fragments
  configfs_register_group() shouldn't be (and isn't) called in rmdirable parts
  configfs: stash the data we need into configfs_buffer at open time
  can: peak_usb: fix slab info leak
  can: mcba_usb: fix use-after-free on disconnect
  can: dev: add missing of_node_put() after calling of_get_child_by_name()
  can: gs_usb: gs_can_open(): prevent memory leak
  can: rx-offload: can_rx_offload_queue_sorted(): fix error handling, avoid skb mem leak
  can: peak_usb: fix a potential out-of-sync while decoding packets
  can: c_can: c_can_poll(): only read status register after status IRQ
  can: flexcan: disable completely the ECC mechanism
  can: usb_8dev: fix use-after-free on disconnect
  SMB3: Fix persistent handles reconnect
  x86/apic/32: Avoid bogus LDR warnings
  intel_th: pci: Add Jasper Lake PCH support
  intel_th: pci: Add Comet Lake PCH support
  netfilter: ipset: Fix an error code in ip_set_sockfn_get()
  netfilter: nf_tables: Align nft_expr private data to 64-bit
  ARM: sunxi: Fix CPU powerdown on A83T
  iio: srf04: fix wrong limitation in distance measuring
  iio: imu: adis16480: make sure provided frequency is positive
  iio: adc: stm32-adc: fix stopping dma
  ceph: add missing check in d_revalidate snapdir handling
  ceph: fix use-after-free in __ceph_remove_cap()
  arm64: Do not mask out PTE_RDONLY in pte_same()
  soundwire: bus: set initial value to port_status
  soundwire: depend on ACPI
  HID: wacom: generic: Treat serial number and related fields as unsigned
  drm/radeon: fix si_enable_smc_cac() failed issue
  perf tools: Fix time sorting
  tools: gpio: Use !building_out_of_srctree to determine srctree
  dump_stack: avoid the livelock of the dump_lock
  mm, vmstat: hide /proc/pagetypeinfo from normal users
  mm: thp: handle page cache THP correctly in PageTransCompoundMap
  mm, meminit: recalculate pcpu batch and high limits after init completes
  mm: memcontrol: fix network errors from failing __GFP_ATOMIC charges
  ALSA: hda/ca0132 - Fix possible workqueue stall
  ALSA: bebob: fix to detect configured source of sampling clock for Focusrite Saffire Pro i/o series
  ALSA: timer: Fix incorrectly assigned timer instance
  net: hns: Fix the stray netpoll locks causing deadlock in NAPI path
  ipv6: fixes rt6_probe() and fib6_nh->last_probe init
  net: mscc: ocelot: fix NULL pointer on LAG slave removal
  net: mscc: ocelot: don't handle netdev events for other netdevs
  qede: fix NULL pointer deref in __qede_remove()
  NFC: st21nfca: fix double free
  nfc: netlink: fix double device reference drop
  NFC: fdp: fix incorrect free object
  net: usb: qmi_wwan: add support for DW5821e with eSIM support
  net: qualcomm: rmnet: Fix potential UAF when unregistering
  net: fix data-race in neigh_event_send()
  net: ethernet: octeon_mgmt: Account for second possible VLAN header
  ipv4: Fix table id reference in fib_sync_down_addr
  CDC-NCM: handle incomplete transfer of MTU
  bonding: fix state transition issue in link monitoring
  Linux 4.19.83
  usb: gadget: udc: core: Fix segfault if udc_bind_to_driver() for pending driver fails
  arm64: dts: ti: k3-am65-main: Fix gic-its node unit-address
  ASoC: pcm3168a: The codec does not support S32_LE
  selftests/powerpc: Fix compile error on tlbie_test due to newer gcc
  selftests/powerpc: Add test case for tlbie vs mtpidr ordering issue
  powerpc/mm: Fixup tlbie vs mtpidr/mtlpidr ordering issue on POWER9
  platform/x86: pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table
  wireless: Skip directory when generating certificates
  net/flow_dissector: switch to siphash
  r8152: add device id for Lenovo ThinkPad USB-C Dock Gen 2
  net: dsa: fix switch tree list
  net: usb: lan78xx: Connect PHY before registering MAC
  net: bcmgenet: reset 40nm EPHY on energy detect
  net: phy: bcm7xxx: define soft_reset for 40nm EPHY
  net: bcmgenet: don't set phydev->link from MAC
  net: dsa: b53: Do not clear existing mirrored port mask
  net/mlx5e: Fix ethtool self test: link speed
  r8169: fix wrong PHY ID issue with RTL8168dp
  net/mlx5e: Fix handling of compressed CQEs in case of low NAPI budget
  selftests: fib_tests: add more tests for metric update
  ipv4: fix route update on metric change.
  net: add READ_ONCE() annotation in __skb_wait_for_more_packets()
  net: use skb_queue_empty_lockless() in busy poll contexts
  net: use skb_queue_empty_lockless() in poll() handlers
  udp: use skb_queue_empty_lockless()
  net: add skb_queue_empty_lockless()
  vxlan: check tun_info options_len properly
  udp: fix data-race in udp_set_dev_scratch()
  selftests: net: reuseport_dualstack: fix uninitalized parameter
  net: Zeroing the structure ethtool_wolinfo in ethtool_get_wol()
  net: usb: lan78xx: Disable interrupts before calling generic_handle_irq()
  netns: fix GFP flags in rtnl_net_notifyid()
  net/mlx4_core: Dynamically set guaranteed amount of counters per VF
  net: hisilicon: Fix ping latency when deal with high throughput
  net: fix sk_page_frag() recursion from memory reclaim
  net: ethernet: ftgmac100: Fix DMA coherency issue with SW checksum
  net: dsa: bcm_sf2: Fix IMP setup for port different than 8
  net: annotate lockless accesses to sk->sk_napi_id
  net: annotate accesses to sk->sk_incoming_cpu
  inet: stop leaking jiffies on the wire
  erspan: fix the tun_info options_len check for erspan
  dccp: do not leak jiffies on the wire
  cxgb4: fix panic when attaching to ULD fail
  nbd: handle racing with error'ed out commands
  nbd: protect cmd->status with cmd->lock
  cifs: Fix cifsInodeInfo lock_sem deadlock when reconnect occurs
  i2c: stm32f7: remove warning when compiling with W=1
  i2c: stm32f7: fix a race in slave mode with arbitration loss irq
  i2c: stm32f7: fix first byte to send in slave mode
  irqchip/gic-v3-its: Use the exact ITSList for VMOVP
  MIPS: bmips: mark exception vectors as char arrays
  of: unittest: fix memory leak in unittest_data_add
  ARM: 8926/1: v7m: remove register save to stack before svc
  tracing: Fix "gfp_t" format for synthetic events
  scsi: target: core: Do not overwrite CDB byte 1
  drm/amdgpu: fix potential VM faults
  ARM: davinci: dm365: Fix McBSP dma_slave_map entry
  perf kmem: Fix memory leak in compact_gfp_flags()
  8250-men-mcb: fix error checking when get_num_ports returns -ENODEV
  perf c2c: Fix memory leak in build_cl_output()
  ARM: dts: imx7s: Correct GPT's ipg clock source
  scsi: fix kconfig dependency warning related to 53C700_LE_ON_BE
  scsi: sni_53c710: fix compilation error
  scsi: scsi_dh_alua: handle RTPG sense code correctly during state transitions
  scsi: qla2xxx: fix a potential NULL pointer dereference
  ARM: mm: fix alignment handler faults under memory pressure
  pinctrl: ns2: Fix off by one bugs in ns2_pinmux_enable()
  ARM: dts: logicpd-torpedo-som: Remove twl_keypad
  ASoc: rockchip: i2s: Fix RPM imbalance
  ASoC: wm_adsp: Don't generate kcontrols without READ flags
  regulator: pfuze100-regulator: Variable "val" in pfuze100_regulator_probe() could be uninitialized
  ASoC: rt5682: add NULL handler to set_jack function
  regulator: ti-abb: Fix timeout in ti_abb_wait_txdone/ti_abb_clear_all_txdone
  arm64: dts: Fix gpio to pinmux mapping
  arm64: dts: allwinner: a64: sopine-baseboard: Add PHY regulator delay
  arm64: dts: allwinner: a64: pine64-plus: Add PHY regulator delay
  ASoC: wm8994: Do not register inapplicable controls for WM1811
  regulator: of: fix suspend-min/max-voltage parsing
  kbuild: add -fcf-protection=none when using retpoline flags
  Linux 4.19.82
  Revert "ALSA: hda: Flush interrupts on disabling"
  powerpc/powernv: Fix CPU idle to be called with IRQs disabled
  ALSA: usb-audio: Add DSD support for Gustard U16/X26 USB Interface
  ALSA: usb-audio: Update DSD support quirks for Oppo and Rotel
  ALSA: usb-audio: DSD auto-detection for Playback Designs
  ALSA: timer: Fix mutex deadlock at releasing card
  ALSA: timer: Simplify error path in snd_timer_open()
  sch_netem: fix rcu splat in netem_enqueue()
  net: usb: sr9800: fix uninitialized local variable
  bonding: fix potential NULL deref in bond_update_slave_arr
  NFC: pn533: fix use-after-free and memleaks
  rxrpc: Fix trace-after-put looking at the put peer record
  rxrpc: rxrpc_peer needs to hold a ref on the rxrpc_local record
  rxrpc: Fix call ref leak
  llc: fix sk_buff leak in llc_conn_service()
  llc: fix sk_buff leak in llc_sap_state_process()
  batman-adv: Avoid free/alloc race when handling OGM buffer
  NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid()
  drm/amdgpu/powerplay/vega10: allow undervolting in p7
  dmaengine: cppi41: Fix cppi41_dma_prep_slave_sg() when idle
  dmaengine: qcom: bam_dma: Fix resource leak
  rtlwifi: Fix potential overflow on P2P code
  arm64: Ensure VM_WRITE|VM_SHARED ptes are clean by default
  s390/idle: fix cpu idle time calculation
  s390/cmm: fix information leak in cmm_timeout_handler()
  nl80211: fix validation of mesh path nexthop
  HID: fix error message in hid_open_report()
  HID: Fix assumption that devices have inputs
  HID: i2c-hid: add Trekstor Primebook C11B to descriptor override
  scsi: target: cxgbit: Fix cxgbit_fw4_ack()
  USB: serial: whiteheat: fix line-speed endianness
  USB: serial: whiteheat: fix potential slab corruption
  usb: xhci: fix __le32/__le64 accessors in debugfs code
  USB: ldusb: fix control-message timeout
  USB: ldusb: fix ring-buffer locking
  usb-storage: Revert commit 747668dbc061 ("usb-storage: Set virt_boundary_mask to avoid SG overflows")
  USB: gadget: Reject endpoints with 0 maxpacket value
  UAS: Revert commit 3ae62a42090f ("UAS: fix alignment of scatter/gather segments")
  ALSA: hda/realtek - Add support for ALC623
  ALSA: hda/realtek - Fix 2 front mics of codec 0x623
  ALSA: bebob: Fix prototype of helper function to return negative value
  fuse: truncate pending writes on O_TRUNC
  fuse: flush dirty data/metadata before non-truncate setattr
  ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe()
  thunderbolt: Use 32-bit writes when writing ring producer/consumer
  USB: legousbtower: fix a signedness bug in tower_probe()
  nbd: verify socket is supported during setup
  iwlwifi: exclude GEO SAR support for 3168
  ALSA: hda/realtek: Reduce the Headphone static noise on XPS 9350/9360
  ARM: 8914/1: NOMMU: Fix exc_ret for XIP
  tracing: Initialize iter->seq after zeroing in tracing_read_pipe()
  s390/uaccess: avoid (false positive) compiler warnings
  NFSv4: Fix leak of clp->cl_acceptor string
  nbd: fix possible sysfs duplicate warning
  virt: vbox: fix memory leak in hgcm_call_preprocess_linaddr
  MIPS: fw: sni: Fix out of bounds init of o32 stack
  MIPS: include: Mark __xchg as __always_inline
  iio: imu: adis16400: release allocated memory on failure
  drm/amdgpu: fix memory leak
  perf/x86/amd: Change/fix NMI latency mitigation to use a timestamp
  sched/vtime: Fix guest/system mis-accounting on task switch
  x86/cpu: Add Comet Lake to the Intel CPU models header
  arm64: armv8_deprecated: Checking return value for memory allocation
  fs: ocfs2: fix a possible null-pointer dereference in ocfs2_info_scan_inode_alloc()
  fs: ocfs2: fix a possible null-pointer dereference in ocfs2_write_end_nolock()
  fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()
  ocfs2: clear zero in unaligned direct IO
  x86/xen: Return from panic notifier
  MIPS: include: Mark __cmpxchg as __always_inline
  efi/x86: Do not clean dummy variable in kexec path
  efi/cper: Fix endianness of PCIe class code
  serial: mctrl_gpio: Check for NULL pointer
  fs: cifs: mute -Wunused-const-variable message
  gpio: max77620: Use correct unit for debounce times
  tty: n_hdlc: fix build on SPARC
  tty: serial: owl: Fix the link time qualifier of 'owl_uart_exit()'
  arm64: ftrace: Ensure synchronisation in PLT setup for Neoverse-N1 #1542419
  nfs: Fix nfsi->nrequests count error on nfs_inode_remove_request
  HID: hyperv: Use in-place iterator API in the channel callback
  RDMA/iwcm: Fix a lock inversion issue
  RDMA/hfi1: Prevent memory leak in sdma_init
  staging: rtl8188eu: fix null dereference when kzalloc fails
  perf annotate: Return appropriate error code for allocation failures
  perf annotate: Propagate the symbol__annotate() error return
  perf annotate: Fix the signedness of failure returns
  perf annotate: Propagate perf_env__arch() error
  perf tools: Propagate get_cpuid() error
  perf jevents: Fix period for Intel fixed counters
  perf script brstackinsn: Fix recovery from LBR/binary mismatch
  perf map: Fix overlapped map handling
  perf tests: Avoid raising SEGV using an obvious NULL dereference
  libsubcmd: Make _FORTIFY_SOURCE defines dependent on the feature
  iio: fix center temperature of bmc150-accel-core
  iio: adc: meson_saradc: Fix memory allocation order
  power: supply: max14656: fix potential use-after-free
  drm/amd/display: fix odm combine pipe reset
  PCI/PME: Fix possible use-after-free on remove
  net: dsa: mv88e6xxx: Release lock while requesting IRQ
  exec: load_script: Do not exec truncated interpreter path
  ext4: disallow files with EXT4_JOURNAL_DATA_FL from EXT4_IOC_SWAP_BOOT
  media: vimc: Remove unused but set variables
  ALSA: hda/realtek - Apply ALC294 hp init also for S4 resume
  cifs: add credits from unmatched responses/messages
  CIFS: Respect SMB2 hdr preamble size in read responses
  scsi: lpfc: Correct localport timeout duration error
  mlxsw: spectrum: Set LAG port collector only when active
  arm64: kpti: Whitelist HiSilicon Taishan v110 CPUs
  arm64: Add MIDR encoding for HiSilicon Taishan CPUs
  rtc: pcf8523: set xtal load capacitance from DT
  usb: handle warm-reset port requests on hub resume
  ALSA: usb-audio: Cleanup DSD whitelist
  usb: dwc3: gadget: clear DWC3_EP_TRANSFER_STARTED on cmd complete
  usb: dwc3: gadget: early giveback if End Transfer already completed
  samples: bpf: fix: seg fault with NULL pointer arg
  HID: steam: fix deadlock with input devices.
  HID: steam: fix boot loop with bluetooth firmware
  NFSv4: Ensure that the state manager exits the loop on SIGKILL
  HID: Add ASUS T100CHI keyboard dock battery quirks
  staging: mt7621-pinctrl: use pinconf-generic for 'dt_node_to_map' and 'dt_free_map'
  scripts/setlocalversion: Improve -dirty check with git-status --no-optional-locks
  clk: boston: unregister clks on failure in clk_boston_setup()
  ath10k: assign 'n_cipher_suites = 11' for WCN3990 to enable WPA3
  platform/x86: Fix config space access for intel_atomisp2_pm
  platform/x86: Add the VLV ISP PCI ID to atomisp2_pm
  HID: i2c-hid: Add Odys Winbook 13 to descriptor override
  HID: i2c-hid: Ignore input report if there's no data present on Elan touchpanels
  HID: i2c-hid: Disable runtime PM for LG touchscreen
  netfilter: ipset: Make invalid MAC address checks consistent
  Btrfs: fix deadlock on tree root leaf when finding free extent
  PCI: Fix Switchtec DMA aliasing quirk dmesg noise
  bcache: fix input overflow to writeback_rate_minimum
  drm/msm/dpu: handle failures while initializing displays
  x86/cpu: Add Atom Tremont (Jacobsville)
  tools/power turbostat: fix goldmont C-state limit decoding
  usb: dwc2: fix unbalanced use of external vbus-supply
  HID: i2c-hid: add Direkt-Tek DTLAPY133-1 to descriptor override
  f2fs: fix to recover inode->i_flags of inode block during POR
  f2fs: fix to recover inode's i_gc_failures during POR
  powerpc/powernv: hold device_hotplug_lock when calling memtrace_offline_pages()
  sc16is7xx: Fix for "Unexpected interrupt: 8"
  scsi: lpfc: Fix a duplicate 0711 log message number.
  f2fs: flush quota blocks after turnning it off
  wil6210: fix freeing of rx buffers in EDMA mode
  btrfs: tracepoints: Fix wrong parameter order for qgroup events
  btrfs: qgroup: Always free PREALLOC META reserve in btrfs_delalloc_release_extents()
  Btrfs: fix memory leak due to concurrent append writes with fiemap
  Btrfs: fix inode cache block reserve leak on failure to allocate data space
  dm snapshot: rework COW throttling to fix deadlock
  dm snapshot: introduce account_start_copy() and account_end_copy()
  zram: fix race between backing_dev_show and backing_dev_store

Conflicts:
	arch/arm64/include/asm/cputype.h
	drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
	drivers/net/wireless/ath/wil6210/txrx_edma.c
	drivers/usb/dwc3/gadget.c
	include/linux/cpu.h
	kernel/cpu.c

Following USB commits were reverted on importing android-4.19.57
into msm-4.19 due to BootTimeRunner failure. android-4.19-q.82
introduced new usb changes [1] that fixed the regression, hence it
is safe to restore the reverts. It is done in this merge.

  9c423fd89("usb: dwc3: Reset num_trbs after skipping")
  385cacd95("usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup")
  6edcdd0e6("usb: dwc3: gadget: remove wait_end_transfer")
  d7ff2e3ff("usb: dwc3: gadget: move requests to cancelled_list")
  bba5f9878("usb: dwc3: gadget: introduce cancelled_list")
  65e1f3403("usb: dwc3: gadget: extract dwc3_gadget_ep_skip_trbs()")
  56092bd50("usb: dwc3: gadget: use num_trbs when skipping TRBs on->dequeue()")
  2a2b1c4dc("usb: dwc3: gadget: track number of TRBs per request")
  420b1237c("usb: dwc3: gadget: combine unaligned and zero flags")
  62805d319("Revert "usb: dwc3: gadget: Clear req->needs_extra_trb flag on cleanup"")

[1]
  a0608eec29("usb: dwc3: gadget: clear DWC3_EP_TRANSFER_STARTED on cmd complete")
  d0e8b35e91("usb: dwc3: gadget: early giveback if End Transfer already completed")

Change-Id: I77c3490d2c1cf7c8233a7e797c6f217f737621a2
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-01-28 01:25:51 -08:00
Tyler Hicks
db5ae6596a cpu/speculation: Uninline and export CPU mitigations helpers
commit 731dc9df975a5da21237a18c3384f811a7a41cc6 upstream.

A kernel module may need to check the value of the "mitigations=" kernel
command line parameter as part of its setup when the module needs
to perform software mitigations for a CPU flaw.

Uninline and export the helper functions surrounding the cpu_mitigations
enum to allow for their usage from a module.

Lastly, privatize the enum and cpu_mitigations variable since the value of
cpu_mitigations can be checked with the exported helper functions.

Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-12 19:21:38 +01:00
Vineela Tummalapalli
f9aa6b73a4 x86/bugs: Add ITLB_MULTIHIT bug infrastructure
commit db4d30fbb71b47e4ecb11c4efa5d8aad4b03dfae upstream.

Some processors may incur a machine check error possibly resulting in an
unrecoverable CPU lockup when an instruction fetch encounters a TLB
multi-hit in the instruction TLB. This can occur when the page size is
changed along with either the physical address or cache type. The relevant
erratum can be found here:

   https://bugzilla.kernel.org/show_bug.cgi?id=205195

There are other processors affected for which the erratum does not fully
disclose the impact.

This issue affects both bare-metal x86 page tables and EPT.

It can be mitigated by either eliminating the use of large pages or by
using careful TLB invalidations when changing the page size in the page
tables.

Just like Spectre, Meltdown, L1TF and MDS, a new bit has been allocated in
MSR_IA32_ARCH_CAPABILITIES (PSCHANGE_MC_NO) and will be set on CPUs which
are mitigated against this issue.

Signed-off-by: Vineela Tummalapalli <vineela.tummalapalli@intel.com>
Co-developed-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-12 19:21:36 +01:00
Pawan Gupta
15dfa5d706 x86/speculation/taa: Add sysfs reporting for TSX Async Abort
commit 6608b45ac5ecb56f9e171252229c39580cc85f0f upstream.

Add the sysfs reporting file for TSX Async Abort. It exposes the
vulnerability and the mitigation state similar to the existing files for
the other hardware vulnerabilities.

Sysfs file path is:
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort

Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Neelima Krishnan <neelima.krishnan@intel.com>
Reviewed-by: Mark Gross <mgross@linux.intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-12 19:21:32 +01:00
Ivaylo Georgiev
4bcfb79fa8 Merge android-4.19.50 (be7c1cb) into msm-4.19
* refs/heads/tmp-be7c1cb:
  Linux 4.19.50
  ethtool: check the return value of get_regs_len
  ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
  TTY: serial_core, add ->install
  drm/i915/gvt: Initialize intel_gvt_gtt_entry in stack
  drm: don't block fb changes for async plane updates
  drm/i915: Maintain consistent documentation subsection ordering
  drm/i915/fbc: disable framebuffer compression on GeminiLake
  drm/i915: Fix I915_EXEC_RING_MASK
  drm/amdgpu: remove ATPX_DGPU_REQ_POWER_FOR_DISPLAYS check when hotplug-in
  drm/radeon: prefer lower reference dividers
  drm/amdgpu/psp: move psp version specific function pointers to early_init
  drm: add non-desktop quirks to Sensics and OSVR headsets.
  drm/nouveau: add kconfig option to turn off nouveau legacy contexts. (v3)
  drm: add non-desktop quirk for Valve HMDs
  drm/msm: fix fb references in async update
  drm/gma500/cdv: Check vbt config bits when detecting lvds panels
  test_firmware: Use correct snprintf() limit
  genwqe: Prevent an integer overflow in the ioctl
  Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment"
  MIPS: pistachio: Build uImage.gz by default
  MIPS: Bounds check virt_addr_valid
  xen-blkfront: switch kcalloc to kvcalloc for large array allocation
  s390/mm: fix address space detection in exception handling
  i2c: xiic: Add max_read_len quirk
  x86/insn-eval: Fix use-after-free access to LDT entry
  x86/power: Fix 'nosmt' vs hibernation triple fault during resume
  pstore/ram: Run without kernel crash dump region
  pstore: Set tfm to NULL on free_buf_for_compression
  pstore: Convert buf_lock to semaphore
  pstore: Remove needless lock during console writes
  fuse: fallocate: fix return with locked inode
  NFSv4.1: Fix bug only first CB_NOTIFY_LOCK is handled
  NFSv4.1: Again fix a race where CB_NOTIFY_LOCK fails to wake a waiter
  parisc: Use implicit space register selection for loading the coherence index of I/O pdirs
  rcu: locking and unlocking need to always be at least barriers
  mtd: spinand: macronix: Fix ECC Status Read
  ipv6: fix EFAULT on sendto with icmpv6 and hdrincl
  ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
  Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
  pktgen: do not sleep with the thread lock held.
  packet: unconditionally free po->rollover
  net/tls: replace the sleeping lock around RX resync with a bit lock
  net: sfp: read eeprom in maximum 16 byte increments
  net: rds: fix memory leak in rds_ib_flush_mr_pool
  net: mvpp2: Use strscpy to handle stat strings
  net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query
  net: ethernet: ti: cpsw_ethtool: fix ethtool ring param set
  neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit
  ipv6: fix the check before getting the cookie in rt6_get_cookie
  ipv4: not do cache for local delivery if bc_forwarding is enabled
  Fix memory leak in sctp_process_init
  ethtool: fix potential userspace buffer overflow

Change-Id: Ic49494d073fe049a92a42dd95a84315b64a13c3e
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-07-14 23:58:41 -07:00
Ivaylo Georgiev
9c9859c5a6 Merge android-4.19.43 (c9415ba) into msm-4.19
* refs/heads/tmp-c9415ba:
  Linux 4.19.43
  x86/speculation/mds: Fix documentation typo
  Documentation: Correct the possible MDS sysfs values
  x86/mds: Add MDSUM variant to the MDS documentation
  x86/speculation/mds: Add 'mitigations=' support for MDS
  s390/speculation: Support 'mitigations=' cmdline option
  powerpc/speculation: Support 'mitigations=' cmdline option
  x86/speculation: Support 'mitigations=' cmdline option
  cpu/speculation: Add 'mitigations=' cmdline option
  x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off
  x86/speculation/mds: Fix comment
  x86/speculation/mds: Add SMT warning message
  x86/speculation: Move arch_smt_update() call to after mitigation decisions
  x86/speculation/mds: Add mds=full,nosmt cmdline option
  Documentation: Add MDS vulnerability documentation
  Documentation: Move L1TF to separate directory
  x86/speculation/mds: Add mitigation mode VMWERV
  x86/speculation/mds: Add sysfs reporting for MDS
  x86/speculation/mds: Add mitigation control for MDS
  x86/speculation/mds: Conditionally clear CPU buffers on idle entry
  x86/kvm/vmx: Add MDS protection when L1D Flush is not active
  x86/speculation/mds: Clear CPU buffers on exit to user
  x86/speculation/mds: Add mds_clear_cpu_buffers()
  x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests
  x86/speculation/mds: Add BUG_MSBDS_ONLY
  x86/speculation/mds: Add basic bug infrastructure for MDS
  x86/speculation: Consolidate CPU whitelists
  x86/msr-index: Cleanup bit defines
  kvm: x86: Report STIBP on GET_SUPPORTED_CPUID
  x86/cpu: Sanitize FAM6_ATOM naming
  Documentation/l1tf: Fix small spelling typo

Conflicts:
	include/linux/cpu.h
	kernel/cpu.c

Change-Id: I53119b7026882924050dc680688db5597d172993
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-06-18 01:10:21 -07:00
Jiri Kosina
4d166206cf x86/power: Fix 'nosmt' vs hibernation triple fault during resume
commit ec527c318036a65a083ef68d8ba95789d2212246 upstream.

As explained in

	0cc3cd2165 ("cpu/hotplug: Boot HT siblings at least once")

we always, no matter what, have to bring up x86 HT siblings during boot at
least once in order to avoid first MCE bringing the system to its knees.

That means that whenever 'nosmt' is supplied on the kernel command-line,
all the HT siblings are as a result sitting in mwait or cpudile after
going through the online-offline cycle at least once.

This causes a serious issue though when a kernel, which saw 'nosmt' on its
commandline, is going to perform resume from hibernation: if the resume
from the hibernated image is successful, cr3 is flipped in order to point
to the address space of the kernel that is being resumed, which in turn
means that all the HT siblings are all of a sudden mwaiting on address
which is no longer valid.

That results in triple fault shortly after cr3 is switched, and machine
reboots.

Fix this by always waking up all the SMT siblings before initiating the
'restore from hibernation' process; this guarantees that all the HT
siblings will be properly carried over to the resumed kernel waiting in
resume_play_dead(), and acted upon accordingly afterwards, based on the
target kernel configuration.

Symmetricaly, the resumed kernel has to push the SMT siblings to mwait
again in case it has SMT disabled; this means it has to online all
the siblings when resuming (so that they come out of hlt) and offline
them again to let them reach mwait.

Cc: 4.19+ <stable@vger.kernel.org> # v4.19+
Debugged-by: Thomas Gleixner <tglx@linutronix.de>
Fixes: 0cc3cd2165 ("cpu/hotplug: Boot HT siblings at least once")
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-06-11 12:20:52 +02:00
Josh Poimboeuf
8cb932aca5 cpu/speculation: Add 'mitigations=' cmdline option
commit 98af8452945c55652de68536afdde3b520fec429 upstream

Keeping track of the number of mitigations for all the CPU speculation
bugs has become overwhelming for many users.  It's getting more and more
complicated to decide which mitigations are needed for a given
architecture.  Complicating matters is the fact that each arch tends to
have its own custom way to mitigate the same vulnerability.

Most users fall into a few basic categories:

a) they want all mitigations off;

b) they want all reasonable mitigations on, with SMT enabled even if
   it's vulnerable; or

c) they want all reasonable mitigations on, with SMT disabled if
   vulnerable.

Define a set of curated, arch-independent options, each of which is an
aggregation of existing options:

- mitigations=off: Disable all mitigations.

- mitigations=auto: [default] Enable all the default mitigations, but
  leave SMT enabled, even if it's vulnerable.

- mitigations=auto,nosmt: Enable all the default mitigations, disabling
  SMT if needed by a mitigation.

Currently, these options are placeholders which don't actually do
anything.  They will be fleshed out in upcoming patches.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jiri Kosina <jkosina@suse.cz> (on x86)
Reviewed-by: Jiri Kosina <jkosina@suse.cz>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "H . Peter Anvin" <hpa@zytor.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Waiman Long <longman@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: Jon Masters <jcm@redhat.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: linux-s390@vger.kernel.org
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-arch@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Tyler Hicks <tyhicks@canonical.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Steven Price <steven.price@arm.com>
Cc: Phil Auld <pauld@redhat.com>
Link: https://lkml.kernel.org/r/b07a8ef9b7c5055c3a4637c87d07c296d5016fe0.1555085500.git.jpoimboe@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-14 19:17:59 +02:00
Thomas Gleixner
8230c2028d x86/speculation/mds: Add sysfs reporting for MDS
commit 8a4b06d391b0a42a373808979b5028f5c84d9c6a upstream

Add the sysfs reporting file for MDS. It exposes the vulnerability and
mitigation state similar to the existing files for the other speculative
hardware vulnerabilities.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Jon Masters <jcm@redhat.com>
Tested-by: Jon Masters <jcm@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-14 19:17:56 +02:00
Ivaylo Georgiev
9d1f53106a Merge android-4.19.21 (6e0411b) into msm-4.19
* refs/heads/tmp-6e0411b:
  Revert "thermal: Fix locking in cooling device sysfs update cur_state"
  Linux 4.19.21
  ath9k: dynack: check da->enabled first in sampling routines
  ath9k: dynack: make ewma estimation faster
  perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu()
  IB/hfi1: Add limit test for RC/UC send via loopback
  cacheinfo: Keep the old value if of_property_read_u32 fails
  serial: sh-sci: Do not free irqs that have already been freed
  serial: 8250_pci: Make PCI class test non fatal
  serial: fix race between flush_to_ldisc and tty_open
  perf tests evsel-tp-sched: Fix bitwise operator
  perf/core: Don't WARN() for impossible ring-buffer sizes
  x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()
  perf/x86/intel/uncore: Add Node ID mask
  cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM
  KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221)
  kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974)
  KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222)
  scsi: aic94xx: fix module loading
  scsi: cxlflash: Prevent deadlock when adapter probe fails
  staging: speakup: fix tty-operation NULL derefs
  usb: gadget: musb: fix short isoc packets with inventra dma
  usb: gadget: udc: net2272: Fix bitwise and boolean operations
  usb: dwc3: gadget: Handle 0 xfer length for OUT EP
  usb: phy: am335x: fix race condition in _probe
  irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID
  futex: Handle early deadlock return correctly
  dmaengine: imx-dma: fix wrong callback invoke
  dmaengine: bcm2835: Fix abort of transactions
  dmaengine: bcm2835: Fix interrupt race on RT
  HID: debug: fix the ring buffer implementation
  fuse: handle zero sized retrieve correctly
  fuse: decrement NR_WRITEBACK_TEMP on the right page
  fuse: call pipe_buf_release() under pipe lock
  ALSA: hda/realtek - Headset microphone support for System76 darp5
  ALSA: hda/realtek - Use a common helper for hp pin reference
  ALSA: hda/realtek - Fix lose hp_pins for disable auto mute
  ALSA: hda - Serialize codec registrations
  ALSA: usb-audio: Add support for new T+A USB DAC
  ALSA: compress: Fix stop handling on compressed capture streams
  xfs: eof trim writeback mapping as soon as it is cached
  net/mlx5e: FPGA, fix Innova IPsec TX offload data path performance
  virtio_net: Account for tx bytes and packets on sending xdp_frames
  skge: potential memory corruption in skge_get_regs()
  sctp: walk the list of asoc safely
  sctp: check and update stream->out_curr when allocating stream_out
  rxrpc: bad unlock balance in rxrpc_recvmsg
  Revert "net: phy: marvell: avoid pause mode on SGMII-to-Copper for 88e151x"
  rds: fix refcount bug in rds_sock_addref
  net: systemport: Fix WoL with password after deep sleep
  net/mlx5e: Force CHECKSUM_UNNECESSARY for short ethernet frames
  net: dsa: slave: Don't propagate flag changes on down slave interfaces
  net: dsa: mv88e6xxx: Fix counting of ATU violations
  net: dsa: Fix NULL checking in dsa_slave_set_eee()
  net: dsa: Fix lockdep false positive splat
  net: dp83640: expire old TX-skb
  lib/test_rhashtable: Make test_insert_dup() allocate its hash table dynamically
  enic: fix checksum validation for IPv6
  dccp: fool proof ccid_hc_[rt]x_parse_options()
  thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set
  xfs: fix inverted return from xfs_btree_sblock_verify_crc
  xfs: fix PAGE_MASK usage in xfs_free_file_space
  fs/xfs: fix f_ffree value for statfs when project quota is set
  xfs: delalloc -> unwritten COW fork allocation can go wrong
  xfs: fix transient reference count error in xfs_buf_resubmit_failed_buffers
  xfs: fix shared extent data corruption due to missing cow reservation
  xfs: fix overflow in xfs_attr3_leaf_verify
  xfs: Fix error code in 'xfs_ioc_getbmap()'
  xfs: cancel COW blocks before swapext
  xfs: Fix xqmstats offsets in /proc/fs/xfs/xqmstat
  scripts/gdb: fix lx-version string output
  kernel/kcov.c: mark write_comp_data() as notrace
  exec: load_script: don't blindly truncate shebang string
  fs/epoll: drop ovflist branch prediction
  kernel/hung_task.c: force console verbose before panic
  proc/sysctl: fix return error for proc_doulongvec_minmax()
  kernel/hung_task.c: break RCU locks based on jiffies
  arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition
  HID: lenovo: Add checks to fix of_led_classdev_register
  thermal: generic-adc: Fix adc to temp interpolation
  PCI: imx: Enable MSI from downstream components
  kdb: Don't back trace on a cpu that didn't round up
  thermal: bcm2835: enable hwmon explicitly
  block/swim3: Fix -EBUSY error when re-opening device after unmount
  fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address()
  gdrom: fix a memory leak bug
  isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw()
  zram: fix lockdep warning of free block handling
  mm/page_alloc.c: don't call kasan_free_pages() at deferred mem init
  ocfs2: improve ocfs2 Makefile
  ocfs2: don't clear bh uptodate for block read
  arch/sh/boards/mach-kfr2r09/setup.c: fix struct mtd_oob_ops build warning
  scripts/decode_stacktrace: only strip base path when a prefix of the path
  perf python: Do not force closing original perf descriptor in evlist.get_pollfd()
  cgroup: fix parsing empty mount option string
  f2fs: fix sbi->extent_list corruption issue
  niu: fix missing checks of niu_pci_eeprom_read
  um: Avoid marking pages with "changed protection"
  f2fs: fix use-after-free issue when accessing sbi->stat_info
  cifs: check ntwrk_buf_start for NULL before dereferencing it
  MIPS: ralink: Select CONFIG_CPU_MIPSR2_IRQ_VI on MT7620/8
  crypto: ux500 - Use proper enum in hash_set_dma_transfer
  crypto: ux500 - Use proper enum in cryp_set_dma_transfer
  seq_buf: Make seq_buf_puts() null-terminate the buffer
  hwmon: (lm80) fix a missing check of bus read in lm80 probe
  hwmon: (lm80) fix a missing check of the status of SMBus read
  perf build: Don't unconditionally link the libbfd feature test to -liberty and -lz
  NFS: nfs_compare_mount_options always compare auth flavors.
  kvm: Change offset in kvm_write_guest_offset_cached to unsigned
  powerpc/fadump: Do not allow hot-remove memory from fadump reserved area.
  KVM: x86: svm: report MSR_IA32_MCG_EXT_CTL as unsupported
  pinctrl: meson: meson8b: fix the GPIO function for the GPIOAO pins
  pinctrl: meson: meson8: fix the GPIO function for the GPIOAO pins
  powerpc/mm: Fix reporting of kernel execute faults on the 8xx
  fbdev: fbcon: Fix unregister crash when more than one framebuffer
  ACPI/APEI: Clear GHES block_status before panic()
  igb: Fix an issue that PME is not enabled during runtime suspend
  ice: Do not enable NAPI on q_vectors that have no rings
  i40e: define proper net_device::neigh_priv_len
  fbdev: fbmem: behave better with small rotated displays and many CPUs
  md: fix raid10 hang issue caused by barrier
  video: clps711x-fb: release disp device node in probe()
  drm/amd/display: validate extended dongle caps
  drbd: Avoid Clang warning about pointless switch statment
  drbd: skip spurious timeout (ping-timeo) when failing promote
  drbd: disconnect, if the wrong UUIDs are attached on a connected peer
  drbd: narrow rcu_read_lock in drbd_sync_handshake
  mlx5: update timecounter at least twice per counter overflow
  powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand
  iwlwifi: mvm: fix setting HE ppe FW config
  powerpc/perf: Fix thresholding counter data for unknown type
  net: hns3: add max vector number check for pf
  cw1200: Fix concurrency use-after-free bugs in cw1200_hw_scan()
  scsi: smartpqi: increase fw status register read timeout
  scsi: smartpqi: correct volume status
  scsi: smartpqi: correct host serial num for ssa
  mlxsw: spectrum: Properly cleanup LAG uppers when removing port from LAG
  xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi
  mac80211: fix radiotap vendor presence bitmap handling
  powerpc/uaccess: fix warning/error with access_ok()
  drm/amd/display: fix YCbCr420 blank color
  Bluetooth: hci_bcm: Handle deferred probing for the clock supply
  drm/amd/display: Add retry to read ddc_clock pin
  net: hns3: fix incomplete uninitialization of IRQ in the hns3_nic_uninit_vector_data()
  percpu: convert spin_lock_irq to spin_lock_irqsave.
  perf tools: Cast off_t to s64 to avoid warning on bionic libc
  perf header: Fix up argument to ctime()
  usb: musb: dsps: fix runtime pm for peripheral mode
  usb: musb: dsps: fix otg state machine
  arm64: KVM: Skip MMIO insn after emulation
  livepatch: check kzalloc return values
  tools/power/x86/intel_pstate_tracer: Fix non root execution for post processing a trace file
  bnxt_en: Disable MSIX before re-reserving NQs/CMPL rings.
  i2c: sh_mobile: Add support for r8a774c0 (RZ/G2E)
  perf probe: Fix unchecked usage of strncpy()
  btrfs: use tagged writepage to mitigate livelock of snapshot
  perf header: Fix unchecked usage of strncpy()
  perf dso: Fix unchecked usage of strncpy()
  perf test: Fix perf_event_attr test failure
  tty: serial: samsung: Properly set flags in autoCTS mode
  serial: sh-sci: Resume PIO in sci_rx_interrupt() on DMA failure
  serial: sh-sci: Fix locking in sci_submit_rx()
  btrfs: harden agaist duplicate fsid on scanned devices
  usb: renesas_usbhs: add support for RZ/G2E
  mmc: jz4740: Get CD/WP GPIOs from descriptors
  mmc: sdhci-xenon: Fix timeout checks
  mmc: sdhci-omap: Fix timeout checks
  mmc: sdhci-of-esdhc: Fix timeout checks
  memstick: Prevent memstick host from getting runtime suspended during card detection
  mmc: meson-mx-sdio: check devm_kasprintf for failure
  mmc: bcm2835: reset host on timeout
  mmc: bcm2835: Recover from MMC_SEND_EXT_CSD
  KVM: PPC: Book3S: Only report KVM_CAP_SPAPR_TCE_VFIO on powernv machines
  ASoC: fsl: Fix SND_SOC_EUKREA_TLV320 build error on i.MX8M
  ARM: pxa: avoid section mismatch warning
  selftests/bpf: use __bpf_constant_htons in test_prog.c
  switchtec: Fix SWITCHTEC_IOCTL_EVENT_IDX_ALL flags overwrite
  udf: Fix BUG on corrupted inode
  mlxsw: spectrum_acl: Limit priority value
  phy: sun4i-usb: add support for missing USB PHY index
  i2c-axxia: check for error conditions first
  lightnvm: pblk: add lock protection to list operations
  lightnvm: pblk: fix resubmission of overwritten write err lbas
  drm/msm: dpu: Only check flush register against pending flushes
  drm/msm/dsi: fix dsi clock names in DSI 10nm PLL driver
  tee: optee: avoid possible double list_del()
  OPP: Use opp_table->regulators to verify no regulator case
  cpuidle: big.LITTLE: fix refcount leak
  platform/x86: mlx-platform: Fix tachometer registers
  clk: imx6sl: ensure MMDC CH0 handshake is bypassed
  sata_rcar: fix deferred probing
  iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer
  iommu/arm-smmu: Add support for qcom,smmu-v2 variant
  iommu/arm-smmu-v3: Avoid memory corruption from Hisilicon MSI payloads
  usb: dwc3: gadget: Disable CSP for stream OUT ep
  ARM: dts: imx51-zii-rdu1: Do not specify "power-gpio" for hpa1
  watchdog: renesas_wdt: don't set divider while watchdog is running
  ARM: dts: Fix up the D-Link DIR-685 MTD partition info
  media: coda: fix H.264 deblocking filter controls
  mips: bpf: fix encoding bug for mm_srlv32_op
  ARM: dts: Fix OMAP4430 SDP Ethernet startup
  iommu/amd: Fix amd_iommu=force_isolation
  pinctrl: sx150x: handle failure case of devm_kstrdup
  gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack
  gpio: mt7621: report failure of devm_kasprintf()
  usb: dwc3: trace: add missing break statement to make compiler happy
  IB/hfi1: Unreserve a reserved request when it is completed
  kobject: return error code if writing /sys/.../uevent fails
  driver core: Move async_synchronize_full call
  tipc: fix node keep alive interval calculation
  drm/amdgpu/powerplay: fix clock stretcher limits on polaris (v2)
  media: imx274: select REGMAP_I2C
  clk: sunxi-ng: a33: Set CLK_SET_RATE_PARENT for all audio module clocks
  usb: mtu3: fix the issue about SetFeature(U1/U2_Enable)
  timekeeping: Use proper seqcount initializer
  usb: hub: delay hub autosuspend if USB3 port is still link training
  usb: dwc2: Disable power down feature on Samsung SoCs
  usb: dwc3: Correct the logic for checking TRB full in __dwc3_prepare_one_trb()
  xtensa: xtfpga.dtsi: fix dtc warnings about SPI
  smack: fix access permissions for keyring
  media: DaVinci-VPBE: fix error handling in vpbe_initialize()
  media: i2c: TDA1997x: select CONFIG_HDMI
  x86/fpu: Add might_fault() to user_insn()
  ARM: dts: aspeed: add missing memory unit-address
  ARM: dts: mmp2: fix TWSI2
  drm/v3d: Fix prime imports of buffers from other drivers.
  arm64: ftrace: don't adjust the LR value
  mt76x0: dfs: fix IBI_R11 configuration on non-radar channels
  s390/zcrypt: improve special ap message cmd handling
  firmware/efi: Add NULL pointer checks in efivars API functions
  thermal: Fix locking in cooling device sysfs update cur_state
  Thermal: do not clear passive state during system sleep
  arm64: io: Ensure value passed to __iormb() is held in a 64-bit register
  perf: arm_spe: handle devm_kasprintf() failure
  drm: Clear state->acquire_ctx before leaving drm_atomic_helper_commit_duplicated_state()
  nfsd4: fix crash on writing v4_end_grace before nfsd startup
  soc: bcm: brcmstb: Don't leak device tree node reference
  sunvdc: Do not spin in an infinite loop when vio_ldc_send() returns EAGAIN
  net: aquantia: return 'err' if set MPI_DEINIT state fails
  arm64: io: Ensure calls to delay routines are ordered against prior readX()
  i2c: sh_mobile: add support for r8a77990 (R-Car E3)
  f2fs: fix wrong return value of f2fs_acl_create
  f2fs: fix race between write_checkpoint and write_begin
  f2fs: move dir data flush to write checkpoint process
  staging: pi433: fix potential null dereference
  ACPI: SPCR: Consider baud rate 0 as preconfigured state
  media: adv*/tc358743/ths8200: fill in min width/height/pixelclock
  iio: accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID
  iio: adc: meson-saradc: fix internal clock names
  iio: adc: meson-saradc: check for devm_kasprintf failure
  powerpc/32: Add .data..Lubsan_data*/.data..Lubsan_type* sections explicitly
  dmaengine: xilinx_dma: Remove __aligned attribute on zynqmp_dma_desc_ll
  ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
  clk: meson: meson8b: mark the CPU clock as CLK_IS_CRITICAL
  clk: meson: meson8b: fix the width of the cpu_scale_div clock
  clk: meson: meson8b: do not use cpu_div3 for cpu_scale_out_sel
  staging: erofs: fix the definition of DBG_BUGON
  media: mtk-vcodec: Release device nodes in mtk_vcodec_init_enc_pm()
  media: video-i2c: avoid accessing released memory area when removing driver
  media: rc: ensure close() is called on rc_unregister_device
  soc/tegra: Don't leak device tree node reference
  perf tools: Add Hygon Dhyana support
  modpost: validate symbol names also in find_elf_symbol
  net/mlx5: EQ, Use the right place to store/read IRQ affinity hint
  bpf: libbpf: retry map creation without the name
  drm/amd/display: calculate stream->phy_pix_clk before clock mapping
  drm/amd/display: fix gamma not being applied correctly
  ARM: OMAP2+: hwmod: Fix some section annotations
  drm/rockchip: fix for mailbox read size
  usbnet: smsc95xx: fix rx packet alignment
  staging: iio: ad7780: update voltage on read
  scsi: hisi_sas: change the time of SAS SSP connection
  i40e: prevent overlapping tx_timeout recover
  platform/chrome: don't report EC_MKBP_EVENT_SENSOR_FIFO as wakeup
  vbox: fix link error with 'gcc -Og'
  fpga: altera-cvp: fix 'bad IO access' on x86_64
  Tools: hv: kvp: Fix a warning of buffer overflow with gcc 8.0.1
  fpga: altera-cvp: Fix registration for CvP incapable devices
  staging:iio:ad2s90: Make probe handle spi_setup failure
  iwlwifi: fw: do not set sgi bits for HE connection
  dpaa2-ptp: defer probe when portal allocation failed
  MIPS: Boston: Disable EG20T prefetch
  ptp: check gettime64 return code in PTP_SYS_OFFSET ioctl
  serial: fsl_lpuart: clear parity enable bit when disable parity
  drm/vc4: ->x_scaling[1] should never be set to VC4_SCALING_NONE
  crypto: aes_ti - disable interrupts while accessing S-box
  powerpc/pseries: add of_node_put() in dlpar_detach_node()
  x86/PCI: Fix Broadcom CNB20LE unintended sign extension (redux)
  dlm: Don't swamp the CPU with callbacks queued during recovery
  clk: boston: fix possible memory leak in clk_boston_setup()
  ARM: 8808/1: kexec:offline panic_smp_self_stop CPU
  scsi: lpfc: Fix LOGO/PLOGI handling when triggerd by ABTS Timeout event
  scsi: mpt3sas: Call sas_remove_host before removing the target devices
  scsi: lpfc: Correct LCB RJT handling
  ath9k: dynack: use authentication messages for 'late' ack
  ath10k: assign 'n_cipher_suites' for WCN3990
  wil6210: fix memory leak in wil_find_tx_bcast_2
  wil6210: fix reset flow for Talyn-mb
  nds32: Fix gcc 8.0 compiler option incompatible.
  gpu: ipu-v3: image-convert: Prevent race between run and unprepare
  genirq/affinity: Spread IRQs to all available NUMA nodes
  drm/sun4i: Initialize registers in tcon-top driver
  gpiolib: Fix possible use after free on label
  ASoC: Intel: mrfld: fix uninitialized variable access
  pinctrl: bcm2835: Use raw spinlock for RT compatibility
  drm/vgem: Fix vgem_init to get drm device available.
  staging: iio: adc: ad7280a: handle error from __ad7280_read32()
  drm/bufs: Fix Spectre v1 vulnerability
  devres: Align data[] to ARCH_KMALLOC_MINALIGN
  ANDROID: Turn xt_owner module on
  UPSTREAM: virt_wifi: fix error return code in virt_wifi_newlink()

Conflicts:
	arch/arm64/include/asm/io.h
	drivers/iommu/arm-smmu.c
	drivers/thermal/thermal_core.c

Change-Id: Ic348640eaeb3501bfc61d0b6907b7fcbb83f5118
Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2019-03-13 10:36:59 -07:00
Josh Poimboeuf
97a7fa90ea cpu/hotplug: Fix "SMT disabled by BIOS" detection for KVM
commit b284909abad48b07d3071a9fc9b5692b3e64914b upstream.

With the following commit:

  73d5e2b472 ("cpu/hotplug: detect SMT disabled by BIOS")

... the hotplug code attempted to detect when SMT was disabled by BIOS,
in which case it reported SMT as permanently disabled.  However, that
code broke a virt hotplug scenario, where the guest is booted with only
primary CPU threads, and a sibling is brought online later.

The problem is that there doesn't seem to be a way to reliably
distinguish between the HW "SMT disabled by BIOS" case and the virt
"sibling not yet brought online" case.  So the above-mentioned commit
was a bit misguided, as it permanently disabled SMT for both cases,
preventing future virt sibling hotplugs.

Going back and reviewing the original problems which were attempted to
be solved by that commit, when SMT was disabled in BIOS:

  1) /sys/devices/system/cpu/smt/control showed "on" instead of
     "notsupported"; and

  2) vmx_vm_init() was incorrectly showing the L1TF_MSG_SMT warning.

I'd propose that we instead consider #1 above to not actually be a
problem.  Because, at least in the virt case, it's possible that SMT
wasn't disabled by BIOS and a sibling thread could be brought online
later.  So it makes sense to just always default the smt control to "on"
to allow for that possibility (assuming cpuid indicates that the CPU
supports SMT).

The real problem is #2, which has a simple fix: change vmx_vm_init() to
query the actual current SMT state -- i.e., whether any siblings are
currently online -- instead of looking at the SMT "control" sysfs value.

So fix it by:

  a) reverting the original "fix" and its followup fix:

     73d5e2b472 ("cpu/hotplug: detect SMT disabled by BIOS")
     bc2d8d262c ("cpu/hotplug: Fix SMT supported evaluation")

     and

  b) changing vmx_vm_init() to query the actual current SMT state --
     instead of the sysfs control value -- to determine whether the L1TF
     warning is needed.  This also requires the 'sched_smt_present'
     variable to exported, instead of 'cpu_smt_control'.

Fixes: 73d5e2b472 ("cpu/hotplug: detect SMT disabled by BIOS")
Reported-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Joe Mario <jmario@redhat.com>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: kvm@vger.kernel.org
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/e3a85d585da28cc333ecbc1e78ee9216e6da9396.1548794349.git.jpoimboe@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-12 19:47:25 +01:00
Amit Pundir
dd81d8a66f ANDROID: idle_notifier: Add generic idle notifiers
AOSP Change-ID: Idf29cda15be151f494ff245933c12462643388d5
moved x86_64 idle notifiers as generic so that they can
be used in interactive governor.

Upstream change 8e7a7ee9dd ("x86/idle: Remove idle_notifier")
removed x86_64 idle notifiers altogether. This patch add
generic idle notifiers again.

Change-Id: Iffb48a1ea0348d9ddad93df697e4743a5531fe73
Fixes: android-4.9 commit bfd2a547fc17 ("ANDROID: ARM: Call idle notifiers")
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Git-Commit: d82a8035d09bcfcac238b80ad97335167665a7c3
Git-Repo: https://android-git.linaro.org/git/kernel/linaro-android.git
Signed-off-by: Rishabh Bhatnagar <rishabhb@codeaurora.org>
2018-12-04 10:28:53 -08:00
Linus Torvalds
b018fc9800 Merge tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki:
 "These add a new framework for CPU idle time injection, to be used by
  all of the idle injection code in the kernel in the future, fix some
  issues and add a number of relatively small extensions in multiple
  places.

  Specifics:

   - Add a new framework for CPU idle time injection (Daniel Lezcano).

   - Add AVS support to the armada-37xx cpufreq driver (Gregory
     CLEMENT).

   - Add support for current CPU frequency reporting to the ACPI CPPC
     cpufreq driver (George Cherian).

   - Rework the cooling device registration in the imx6q/thermal driver
     (Bastian Stender).

   - Make the pcc-cpufreq driver refuse to work with dynamic scaling
     governors on systems with many CPUs to avoid scalability issues
     with it (Rafael Wysocki).

   - Fix the intel_pstate driver to report different maximum CPU
     frequencies on systems where they really are different and to
     ignore the turbo active ratio if hardware-managend P-states (HWP)
     are in use; make it use the match_string() helper (Xie Yisheng,
     Srinivas Pandruvada).

   - Fix a minor deferred probe issue in the qcom-kryo cpufreq driver
     (Niklas Cassel).

   - Add a tracepoint for the tracking of frequency limits changes (from
     Andriod) to the cpufreq core (Ruchi Kandoi).

   - Fix a circular lock dependency between CPU hotplug and sysfs
     locking in the cpufreq core reported by lockdep (Waiman Long).

   - Avoid excessive error reports on driver registration failures in
     the ARM cpuidle driver (Sudeep Holla).

   - Add a new device links flag to the driver core to make links go
     away automatically on supplier driver removal (Vivek Gautam).

   - Eliminate potential race condition between system-wide power
     management transitions and system shutdown (Pingfan Liu).

   - Add a quirk to save NVS memory on system suspend for the ASUS 1025C
     laptop (Willy Tarreau).

   - Make more systems use suspend-to-idle (instead of ACPI S3) by
     default (Tristian Celestin).

   - Get rid of stack VLA usage in the low-level hibernation code on
     64-bit x86 (Kees Cook).

   - Fix error handling in the hibernation core and mark an expected
     fall-through switch in it (Chengguang Xu, Gustavo Silva).

   - Extend the generic power domains (genpd) framework to support
     attaching a device to a power domain by name (Ulf Hansson).

   - Fix device reference counting and user limits initialization in the
     devfreq core (Arvind Yadav, Matthias Kaehlcke).

   - Fix a few issues in the rk3399_dmc devfreq driver and improve its
     documentation (Enric Balletbo i Serra, Lin Huang, Nick Milner).

   - Drop a redundant error message from the exynos-ppmu devfreq driver
     (Markus Elfring)"

* tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
  PM / reboot: Eliminate race between reboot and suspend
  PM / hibernate: Mark expected switch fall-through
  cpufreq: intel_pstate: Ignore turbo active ratio in HWP
  cpufreq: Fix a circular lock dependency problem
  cpu/hotplug: Add a cpus_read_trylock() function
  x86/power/hibernate_64: Remove VLA usage
  cpufreq: trace frequency limits change
  cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP
  cpufreq: pcc-cpufreq: Disable dynamic scaling on many-CPU systems
  cpufreq: qcom-kryo: Silently error out on EPROBE_DEFER
  cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC
  cpufreq: armada-37xx: Add AVS support
  dt-bindings: marvell: Add documentation for the Armada 3700 AVS binding
  PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload.
  PM / devfreq: Init user limits from OPP limits, not viceversa
  PM / devfreq: rk3399_dmc: fix spelling mistakes.
  PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer.
  dt-bindings: devfreq: rk3399_dmc: move interrupts to be optional.
  PM / devfreq: rk3399_dmc: remove wait for dcf irq event.
  dt-bindings: clock: add rk3399 DDR3 standard speed bins.
  ...
2018-08-14 13:12:24 -07:00
Linus Torvalds
958f338e96 Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Merge L1 Terminal Fault fixes from Thomas Gleixner:
 "L1TF, aka L1 Terminal Fault, is yet another speculative hardware
  engineering trainwreck. It's a hardware vulnerability which allows
  unprivileged speculative access to data which is available in the
  Level 1 Data Cache when the page table entry controlling the virtual
  address, which is used for the access, has the Present bit cleared or
  other reserved bits set.

  If an instruction accesses a virtual address for which the relevant
  page table entry (PTE) has the Present bit cleared or other reserved
  bits set, then speculative execution ignores the invalid PTE and loads
  the referenced data if it is present in the Level 1 Data Cache, as if
  the page referenced by the address bits in the PTE was still present
  and accessible.

  While this is a purely speculative mechanism and the instruction will
  raise a page fault when it is retired eventually, the pure act of
  loading the data and making it available to other speculative
  instructions opens up the opportunity for side channel attacks to
  unprivileged malicious code, similar to the Meltdown attack.

  While Meltdown breaks the user space to kernel space protection, L1TF
  allows to attack any physical memory address in the system and the
  attack works across all protection domains. It allows an attack of SGX
  and also works from inside virtual machines because the speculation
  bypasses the extended page table (EPT) protection mechanism.

  The assoicated CVEs are: CVE-2018-3615, CVE-2018-3620, CVE-2018-3646

  The mitigations provided by this pull request include:

   - Host side protection by inverting the upper address bits of a non
     present page table entry so the entry points to uncacheable memory.

   - Hypervisor protection by flushing L1 Data Cache on VMENTER.

   - SMT (HyperThreading) control knobs, which allow to 'turn off' SMT
     by offlining the sibling CPU threads. The knobs are available on
     the kernel command line and at runtime via sysfs

   - Control knobs for the hypervisor mitigation, related to L1D flush
     and SMT control. The knobs are available on the kernel command line
     and at runtime via sysfs

   - Extensive documentation about L1TF including various degrees of
     mitigations.

  Thanks to all people who have contributed to this in various ways -
  patches, review, testing, backporting - and the fruitful, sometimes
  heated, but at the end constructive discussions.

  There is work in progress to provide other forms of mitigations, which
  might be less horrible performance wise for a particular kind of
  workloads, but this is not yet ready for consumption due to their
  complexity and limitations"

* 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
  x86/microcode: Allow late microcode loading with SMT disabled
  tools headers: Synchronise x86 cpufeatures.h for L1TF additions
  x86/mm/kmmio: Make the tracer robust against L1TF
  x86/mm/pat: Make set_memory_np() L1TF safe
  x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
  x86/speculation/l1tf: Invert all not present mappings
  cpu/hotplug: Fix SMT supported evaluation
  KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
  x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry
  x86/speculation: Simplify sysfs report of VMX L1TF vulnerability
  Documentation/l1tf: Remove Yonah processors from not vulnerable list
  x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()
  x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d
  x86: Don't include linux/irq.h from asm/hardirq.h
  x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d
  x86/irq: Demote irq_cpustat_t::__softirq_pending to u16
  x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush()
  x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond'
  x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush()
  cpu/hotplug: detect SMT disabled by BIOS
  ...
2018-08-14 09:46:06 -07:00
Linus Torvalds
b5b1404d08 init: rename and re-order boot_cpu_state_init()
This is purely a preparatory patch for upcoming changes during the 4.19
merge window.

We have a function called "boot_cpu_state_init()" that isn't really
about the bootup cpu state: that is done much earlier by the similarly
named "boot_cpu_init()" (note lack of "state" in name).

This function initializes some hotplug CPU state, and needs to run after
the percpu data has been properly initialized.  It even has a comment to
that effect.

Except it _doesn't_ actually run after the percpu data has been properly
initialized.  On x86 it happens to do that, but on at least arm and
arm64, the percpu base pointers are initialized by the arch-specific
'smp_prepare_boot_cpu()' hook, which ran _after_ boot_cpu_state_init().

This had some unexpected results, and in particular we have a patch
pending for the merge window that did the obvious cleanup of using
'this_cpu_write()' in the cpu hotplug init code:

  -       per_cpu_ptr(&cpuhp_state, smp_processor_id())->state = CPUHP_ONLINE;
  +       this_cpu_write(cpuhp_state.state, CPUHP_ONLINE);

which is obviously the right thing to do.  Except because of the
ordering issue, it actually failed miserably and unexpectedly on arm64.

So this just fixes the ordering, and changes the name of the function to
be 'boot_cpu_hotplug_init()' to make it obvious that it's about cpu
hotplug state, because the core CPU state was supposed to have already
been done earlier.

Marked for stable, since the (not yet merged) patch that will show this
problem is marked for stable.

Reported-by: Vlastimil Babka <vbabka@suse.cz>
Reported-by: Mian Yousaf Kaukab <yousaf.kaukab@suse.com>
Suggested-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Will Deacon <will.deacon@arm.com>
Cc: stable@kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-08-12 12:19:42 -07:00
Thomas Gleixner
bc2d8d262c cpu/hotplug: Fix SMT supported evaluation
Josh reported that the late SMT evaluation in cpu_smt_state_init() sets
cpu_smt_control to CPU_SMT_NOT_SUPPORTED in case that 'nosmt' was supplied
on the kernel command line as it cannot differentiate between SMT disabled
by BIOS and SMT soft disable via 'nosmt'. That wreckages the state and
makes the sysfs interface unusable.

Rework this so that during bringup of the non boot CPUs the availability of
SMT is determined in cpu_smt_allowed(). If a newly booted CPU is not a
'primary' thread then set the local cpu_smt_available marker and evaluate
this explicitely right after the initial SMP bringup has finished.

SMT evaulation on x86 is a trainwreck as the firmware has all the
information _before_ booting the kernel, but there is no interface to query
it.

Fixes: 73d5e2b472 ("cpu/hotplug: detect SMT disabled by BIOS")
Reported-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2018-08-07 12:25:30 +02:00
Waiman Long
6f4ceee930 cpu/hotplug: Add a cpus_read_trylock() function
There are use cases where it can be useful to have a cpus_read_trylock()
function to work around circular lock dependency problem involving
the cpu_hotplug_lock.

Signed-off-by: Waiman Long <longman@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-07-26 10:37:36 +02:00
Thomas Gleixner
fee0aede6f cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early
The CPU_SMT_NOT_SUPPORTED state is set (if the processor does not support
SMT) when the sysfs SMT control file is initialized.

That was fine so far as this was only required to make the output of the
control file correct and to prevent writes in that case.

With the upcoming l1tf command line parameter, this needs to be set up
before the L1TF mitigation selection and command line parsing happens.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jiri Kosina <jkosina@suse.cz>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lkml.kernel.org/r/20180713142323.121795971@linutronix.de
2018-07-13 16:29:56 +02:00
Jiri Kosina
8e1b706b6e cpu/hotplug: Expose SMT control init function
The L1TF mitigation will gain a commend line parameter which allows to set
a combination of hypervisor mitigation and SMT control.

Expose cpu_smt_disable() so the command line parser can tweak SMT settings.

[ tglx: Split out of larger patch and made it preserve an already existing
  	force off state ]

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Jiri Kosina <jkosina@suse.cz>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lkml.kernel.org/r/20180713142323.039715135@linutronix.de
2018-07-13 16:29:55 +02:00
Thomas Gleixner
05736e4ac1 cpu/hotplug: Provide knobs to control SMT
Provide a command line and a sysfs knob to control SMT.

The command line options are:

 'nosmt':	Enumerate secondary threads, but do not online them
 		
 'nosmt=force': Ignore secondary threads completely during enumeration
 		via MP table and ACPI/MADT.

The sysfs control file has the following states (read/write):

 'on':		 SMT is enabled. Secondary threads can be freely onlined
 'off':		 SMT is disabled. Secondary threads, even if enumerated
 		 cannot be onlined
 'forceoff':	 SMT is permanentely disabled. Writes to the control
 		 file are rejected.
 'notsupported': SMT is not supported by the CPU

The command line option 'nosmt' sets the sysfs control to 'off'. This
can be changed to 'on' to reenable SMT during runtime.

The command line option 'nosmt=force' sets the sysfs control to
'forceoff'. This cannot be changed during runtime.

When SMT is 'on' and the control file is changed to 'off' then all online
secondary threads are offlined and attempts to online a secondary thread
later on are rejected.

When SMT is 'off' and the control file is changed to 'on' then secondary
threads can be onlined again. The 'off' -> 'on' transition does not
automatically online the secondary threads.

When the control file is set to 'forceoff', the behaviour is the same as
setting it to 'off', but the operation is irreversible and later writes to
the control file are rejected.

When the control status is 'notsupported' then writes to the control file
are rejected.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
2018-06-21 14:20:58 +02:00
Andi Kleen
17dbca1193 x86/speculation/l1tf: Add sysfs reporting for l1tf
L1TF core kernel workarounds are cheap and normally always enabled, However
they still should be reported in sysfs if the system is vulnerable or
mitigated. Add the necessary CPU feature/bug bits.

- Extend the existing checks for Meltdowns to determine if the system is
  vulnerable. All CPUs which are not vulnerable to Meltdown are also not
  vulnerable to L1TF

- Check for 32bit non PAE and emit a warning as there is no practical way
  for mitigation due to the limited physical address bits

- If the system has more than MAX_PA/2 physical memory the invert page
  workarounds don't protect the system against the L1TF attack anymore,
  because an inverted physical address will also point to valid
  memory. Print a warning in this case and report that the system is
  vulnerable.

Add a function which returns the PFN limit for the L1TF mitigation, which
will be used in follow up patches for sanity and range checks.

[ tglx: Renamed the CPU feature bit to L1TF_PTEINV ]

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Dave Hansen <dave.hansen@intel.com>
2018-06-20 19:10:00 +02:00
Konrad Rzeszutek Wilk
c456442cd3 x86/bugs: Expose /sys/../spec_store_bypass
Add the sysfs file for the new vulerability. It does not do much except
show the words 'Vulnerable' for recent x86 cores.

Intel cores prior to family 6 are known not to be vulnerable, and so are
some Atoms and some Xeon Phi.

It assumes that older Cyrix, Centaur, etc. cores are immune.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
2018-05-03 13:55:47 +02:00
Linus Torvalds
40548c6b6c Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 pti updates from Thomas Gleixner:
 "This contains:

   - a PTI bugfix to avoid setting reserved CR3 bits when PCID is
     disabled. This seems to cause issues on a virtual machine at least
     and is incorrect according to the AMD manual.

   - a PTI bugfix which disables the perf BTS facility if PTI is
     enabled. The BTS AUX buffer is not globally visible and causes the
     CPU to fault when the mapping disappears on switching CR3 to user
     space. A full fix which restores BTS on PTI is non trivial and will
     be worked on.

   - PTI bugfixes for EFI and trusted boot which make sure that the user
     space visible page table entries have the NX bit cleared

   - removal of dead code in the PTI pagetable setup functions

   - add PTI documentation

   - add a selftest for vsyscall to verify that the kernel actually
     implements what it advertises.

   - a sysfs interface to expose vulnerability and mitigation
     information so there is a coherent way for users to retrieve the
     status.

   - the initial spectre_v2 mitigations, aka retpoline:

      + The necessary ASM thunk and compiler support

      + The ASM variants of retpoline and the conversion of affected ASM
        code

      + Make LFENCE serializing on AMD so it can be used as speculation
        trap

      + The RSB fill after vmexit

   - initial objtool support for retpoline

  As I said in the status mail this is the most of the set of patches
  which should go into 4.15 except two straight forward patches still on
  hold:

   - the retpoline add on of LFENCE which waits for ACKs

   - the RSB fill after context switch

  Both should be ready to go early next week and with that we'll have
  covered the major holes of spectre_v2 and go back to normality"

* 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
  x86,perf: Disable intel_bts when PTI
  security/Kconfig: Correct the Documentation reference for PTI
  x86/pti: Fix !PCID and sanitize defines
  selftests/x86: Add test_vsyscall
  x86/retpoline: Fill return stack buffer on vmexit
  x86/retpoline/irq32: Convert assembler indirect jumps
  x86/retpoline/checksum32: Convert assembler indirect jumps
  x86/retpoline/xen: Convert Xen hypercall indirect jumps
  x86/retpoline/hyperv: Convert assembler indirect jumps
  x86/retpoline/ftrace: Convert ftrace assembler indirect jumps
  x86/retpoline/entry: Convert entry assembler indirect jumps
  x86/retpoline/crypto: Convert crypto assembler indirect jumps
  x86/spectre: Add boot time option to select Spectre v2 mitigation
  x86/retpoline: Add initial retpoline support
  objtool: Allow alternatives to be ignored
  objtool: Detect jumps to retpoline thunks
  x86/pti: Make unpoison of pgd for trusted boot work for real
  x86/alternatives: Fix optimize_nops() checking
  sysfs/cpu: Fix typos in vulnerability documentation
  x86/cpu/AMD: Use LFENCE_RDTSC in preference to MFENCE_RDTSC
  ...
2018-01-14 09:51:25 -08:00
Thomas Gleixner
87590ce6e3 sysfs/cpu: Add vulnerability folder
As the meltdown/spectre problem affects several CPU architectures, it makes
sense to have common way to express whether a system is affected by a
particular vulnerability or not. If affected the way to express the
mitigation should be common as well.

Create /sys/devices/system/cpu/vulnerabilities folder and files for
meltdown, spectre_v1 and spectre_v2.

Allow architectures to override the show function.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Linus Torvalds <torvalds@linuxfoundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Link: https://lkml.kernel.org/r/20180107214913.096657732@linutronix.de
2018-01-08 11:10:33 +01:00
Linus Torvalds
7d58e1c905 Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull smp/hotplug updates from Thomas Gleixner:
 "No functional changes, just removal of obsolete and outdated defines,
  macros and documentation"

* 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  cpu/hotplug: Get rid of CPU hotplug notifier leftovers
  cpu/hotplug: Remove obsolete notifier macros
2017-11-13 18:23:19 -08:00
Thomas Gleixner
f4c09f87ad cpu/hotplug: Get rid of CPU hotplug notifier leftovers
The CPU hotplug notifiers are history. Remove the last reminders.

Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2017-11-13 10:03:53 +01:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

By default all files without license information are under the default
license of the kernel, which is GPL version 2.

Update the files which contain no license information with the 'GPL-2.0'
SPDX license identifier.  The SPDX identifier is a legally binding
shorthand, which can be used instead of the full boiler plate text.

This patch is based on work done by Thomas Gleixner and Kate Stewart and
Philippe Ombredanne.

How this work was done:

Patches were generated and checked against linux-4.14-rc6 for a subset of
the use cases:
 - file had no licensing information it it.
 - file was a */uapi/* one with no licensing information in it,
 - file was a */uapi/* one with existing licensing information,

Further patches will be generated in subsequent months to fix up cases
where non-standard license headers were used, and references to license
had to be inferred by heuristics based on keywords.

The analysis to determine which SPDX License Identifier to be applied to
a file was done in a spreadsheet of side by side results from of the
output of two independent scanners (ScanCode & Windriver) producing SPDX
tag:value files created by Philippe Ombredanne.  Philippe prepared the
base worksheet, and did an initial spot review of a few 1000 files.

The 4.13 kernel was the starting point of the analysis with 60,537 files
assessed.  Kate Stewart did a file by file comparison of the scanner
results in the spreadsheet to determine which SPDX license identifier(s)
to be applied to the file. She confirmed any determination that was not
immediately clear with lawyers working with the Linux Foundation.

Criteria used to select files for SPDX license identifier tagging was:
 - Files considered eligible had to be source code files.
 - Make and config files were included as candidates if they contained >5
   lines of source
 - File already had some variant of a license header in it (even if <5
   lines).

All documentation files were explicitly excluded.

The following heuristics were used to determine which SPDX license
identifiers to apply.

 - when both scanners couldn't find any license traces, file was
   considered to have no license information in it, and the top level
   COPYING file license applied.

   For non */uapi/* files that summary was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0                                              11139

   and resulted in the first patch in this series.

   If that file was a */uapi/* path one, it was "GPL-2.0 WITH
   Linux-syscall-note" otherwise it was "GPL-2.0".  Results of that was:

   SPDX license identifier                            # files
   ---------------------------------------------------|-------
   GPL-2.0 WITH Linux-syscall-note                        930

   and resulted in the second patch in this series.

 - if a file had some form of licensing information in it, and was one
   of the */uapi/* ones, it was denoted with the Linux-syscall-note if
   any GPL family license was found in the file or had no licensing in
   it (per prior point).  Results summary:

   SPDX license identifier                            # files
   ---------------------------------------------------|------
   GPL-2.0 WITH Linux-syscall-note                       270
   GPL-2.0+ WITH Linux-syscall-note                      169
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause)    21
   ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)    17
   LGPL-2.1+ WITH Linux-syscall-note                      15
   GPL-1.0+ WITH Linux-syscall-note                       14
   ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause)    5
   LGPL-2.0+ WITH Linux-syscall-note                       4
   LGPL-2.1 WITH Linux-syscall-note                        3
   ((GPL-2.0 WITH Linux-syscall-note) OR MIT)              3
   ((GPL-2.0 WITH Linux-syscall-note) AND MIT)             1

   and that resulted in the third patch in this series.

 - when the two scanners agreed on the detected license(s), that became
   the concluded license(s).

 - when there was disagreement between the two scanners (one detected a
   license but the other didn't, or they both detected different
   licenses) a manual inspection of the file occurred.

 - In most cases a manual inspection of the information in the file
   resulted in a clear resolution of the license that should apply (and
   which scanner probably needed to revisit its heuristics).

 - When it was not immediately clear, the license identifier was
   confirmed with lawyers working with the Linux Foundation.

 - If there was any question as to the appropriate license identifier,
   the file was flagged for further research and to be revisited later
   in time.

In total, over 70 hours of logged manual review was done on the
spreadsheet to determine the SPDX license identifiers to apply to the
source files by Kate, Philippe, Thomas and, in some cases, confirmation
by lawyers working with the Linux Foundation.

Kate also obtained a third independent scan of the 4.13 code base from
FOSSology, and compared selected files where the other two scanners
disagreed against that SPDX file, to see if there was new insights.  The
Windriver scanner is based on an older version of FOSSology in part, so
they are related.

Thomas did random spot checks in about 500 files from the spreadsheets
for the uapi headers and agreed with SPDX license identifier in the
files he inspected. For the non-uapi files Thomas did random spot checks
in about 15000 files.

In initial set of patches against 4.14-rc6, 3 files were found to have
copy/paste license identifier errors, and have been fixed to reflect the
correct identifier.

Additionally Philippe spent 10 hours this week doing a detailed manual
inspection and review of the 12,461 patched files from the initial patch
version early this week with:
 - a full scancode scan run, collecting the matched texts, detected
   license ids and scores
 - reviewing anything where there was a license detected (about 500+
   files) to ensure that the applied SPDX license was correct
 - reviewing anything where there was no detection but the patch license
   was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied
   SPDX license was correct

This produced a worksheet with 20 files needing minor correction.  This
worksheet was then exported into 3 different .csv files for the
different types of files to be modified.

These .csv files were then reviewed by Greg.  Thomas wrote a script to
parse the csv files and add the proper SPDX tag to the file, in the
format that the file expected.  This script was further refined by Greg
based on the output to detect more types of files automatically and to
distinguish between header and source .c files (which need different
comment types.)  Finally Greg ran the script using the .csv files to
generate the patches.

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Yanjiang Jin
c6cd924efe cpu/hotplug: Remove obsolete notifier macros
commit 530e9b76ae ("cpu/hotplug: Remove obsolete cpu hotplug
register/unregister functions")' removed the below macros:

- #define CPU_UP_CANCELED 0x0004 /* CPU (unsigned)v NOT coming up */
- #define CPU_DOWN_PREPARE 0x0005 /* CPU (unsigned)v going down */
- #define CPU_DOWN_FAILED 0x0006 /* CPU (unsigned)v NOT going down */

But "CPU_UP_CANCELED_FROZEN, CPU_DOWN_PREPARE_FROZEN and
CPU_DOWN_FAILED_FROZEN" still refer to them, and nobody uses these "FROZEN"
macros now, so remove them too.

Signed-off-by: Yanjiang Jin <yanjiang.jin@windriver.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: peterz@infradead.org
Cc: bigeasy@linutronix.de
Cc: jinyanjiang@gmail.com
Link: https://lkml.kernel.org/r/20171024062341.179678-1-yanjiang.jin@windriver.com
2017-10-24 10:43:52 +02:00
Thomas Gleixner
fc8dffd379 cpu/hotplug: Convert hotplug locking to percpu rwsem
There are no more (known) nested calls to get_online_cpus() and all
observed lock ordering problems have been addressed.

Replace the magic nested 'rwsem' hackery with a percpu-rwsem.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/20170524081549.447014063@linutronix.de
2017-05-26 10:10:46 +02:00
Thomas Gleixner
ade3f680a7 cpu/hotplug: Provide lockdep_assert_cpus_held()
Provide a stub function which can be used in places where existing
get_online_cpus() calls are moved to call sites.

This stub is going to be filled by the final conversion of the hotplug
locking mechanism to a percpu rwsem.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/20170524081547.161282442@linutronix.de
2017-05-26 10:10:35 +02:00
Thomas Gleixner
8f553c498e cpu/hotplug: Provide cpus_read|write_[un]lock()
The counting 'rwsem' hackery of get|put_online_cpus() is going to be
replaced by percpu rwsem.

Rename the functions to make it clear that it's locking and not some
refcount style interface. These new functions will be used for the
preparatory patches which make the code ready for the percpu rwsem
conversion.

Rename all instances in the cpu hotplug code while at it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sebastian Siewior <bigeasy@linutronix.de>
Cc: Steven Rostedt <rostedt@goodmis.org>
Link: http://lkml.kernel.org/r/20170524081547.080397752@linutronix.de
2017-05-26 10:10:34 +02:00
Ingo Molnar
1777e46355 sched/headers: Prepare to move _init() prototypes from <linux/sched.h> to <linux/sched/init.h>
But first introduce a trivial header and update usage sites.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-03-02 08:42:40 +01:00
Thomas Gleixner
530e9b76ae cpu/hotplug: Remove obsolete cpu hotplug register/unregister functions
hotcpu_notifier(), cpu_notifier(), __hotcpu_notifier(), __cpu_notifier(),
register_hotcpu_notifier(), register_cpu_notifier(),
__register_hotcpu_notifier(), __register_cpu_notifier(),
unregister_hotcpu_notifier(), unregister_cpu_notifier(),
__unregister_hotcpu_notifier(), __unregister_cpu_notifier()

are unused now. Remove them and all related code.

Remove also the now pointless cpu notifier error injection mechanism. The
states can be executed step by step and error rollback is the same as cpu
down, so any state transition can be tested w/o requiring the notifier
error injection.

Some CPU hotplug states are kept as they are (ab)used for hotplug state
tracking.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20161221192112.005642358@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-12-25 10:47:43 +01:00
Linus Torvalds
7b9dc3f75f Merge tag 'pm-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management updates from Rafael Wysocki:
 "Again, cpufreq gets more changes than the other parts this time (one
  new driver, one old driver less, a bunch of enhancements of the
  existing code, new CPU IDs, fixes, cleanups)

  There also are some changes in cpuidle (idle injection rework, a
  couple of new CPU IDs, online/offline rework in intel_idle, fixes and
  cleanups), in the generic power domains framework (mostly related to
  supporting power domains containing CPUs), and in the Operating
  Performance Points (OPP) library (mostly related to supporting devices
  with multiple voltage regulators)

  In addition to that, the system sleep state selection interface is
  modified to make it easier for distributions with unchanged user space
  to support suspend-to-idle as the default system suspend method, some
  issues are fixed in the PM core, the latency tolerance PM QoS
  framework is improved a bit, the Intel RAPL power capping driver is
  cleaned up and there are some fixes and cleanups in the devfreq
  subsystem

  Specifics:

   - New cpufreq driver for Broadcom STB SoCs and a Device Tree binding
     for it (Markus Mayer)

   - Support for ARM Integrator/AP and Integrator/CP in the generic DT
     cpufreq driver and elimination of the old Integrator cpufreq driver
     (Linus Walleij)

   - Support for the zx296718, r8a7743 and r8a7745, Socionext UniPhier,
     and PXA SoCs in the the generic DT cpufreq driver (Baoyou Xie,
     Geert Uytterhoeven, Masahiro Yamada, Robert Jarzmik)

   - cpufreq core fix to eliminate races that may lead to using inactive
     policy objects and related cleanups (Rafael Wysocki)

   - cpufreq schedutil governor update to make it use SCHED_FIFO kernel
     threads (instead of regular workqueues) for doing delayed work (to
     reduce the response latency in some cases) and related cleanups
     (Viresh Kumar)

   - New cpufreq sysfs attribute for resetting statistics (Markus Mayer)

   - cpufreq governors fixes and cleanups (Chen Yu, Stratos Karafotis,
     Viresh Kumar)

   - Support for using generic cpufreq governors in the intel_pstate
     driver (Rafael Wysocki)

   - Support for per-logical-CPU P-state limits and the EPP/EPB (Energy
     Performance Preference/Energy Performance Bias) knobs in the
     intel_pstate driver (Srinivas Pandruvada)

   - New CPU ID for Knights Mill in intel_pstate (Piotr Luc)

   - intel_pstate driver modification to use the P-state selection
     algorithm based on CPU load on platforms with the system profile in
     the ACPI tables set to "mobile" (Srinivas Pandruvada)

   - intel_pstate driver cleanups (Arnd Bergmann, Rafael Wysocki,
     Srinivas Pandruvada)

   - cpufreq powernv driver updates including fast switching support
     (for the schedutil governor), fixes and cleanus (Akshay Adiga,
     Andrew Donnellan, Denis Kirjanov)

   - acpi-cpufreq driver rework to switch it over to the new CPU
     offline/online state machine (Sebastian Andrzej Siewior)

   - Assorted cleanups in cpufreq drivers (Wei Yongjun, Prashanth
     Prakash)

   - Idle injection rework (to make it use the regular idle path instead
     of a home-grown custom one) and related powerclamp thermal driver
     updates (Peter Zijlstra, Jacob Pan, Petr Mladek, Sebastian Andrzej
     Siewior)

   - New CPU IDs for Atom Z34xx and Knights Mill in intel_idle (Andy
     Shevchenko, Piotr Luc)

   - intel_idle driver cleanups and switch over to using the new CPU
     offline/online state machine (Anna-Maria Gleixner, Sebastian
     Andrzej Siewior)

   - cpuidle DT driver update to support suspend-to-idle properly
     (Sudeep Holla)

   - cpuidle core cleanups and misc updates (Daniel Lezcano, Pan Bian,
     Rafael Wysocki)

   - Preliminary support for power domains including CPUs in the generic
     power domains (genpd) framework and related DT bindings (Lina Iyer)

   - Assorted fixes and cleanups in the generic power domains (genpd)
     framework (Colin Ian King, Dan Carpenter, Geert Uytterhoeven)

   - Preliminary support for devices with multiple voltage regulators
     and related fixes and cleanups in the Operating Performance Points
     (OPP) library (Viresh Kumar, Masahiro Yamada, Stephen Boyd)

   - System sleep state selection interface rework to make it easier to
     support suspend-to-idle as the default system suspend method
     (Rafael Wysocki)

   - PM core fixes and cleanups, mostly related to the interactions
     between the system suspend and runtime PM frameworks (Ulf Hansson,
     Sahitya Tummala, Tony Lindgren)

   - Latency tolerance PM QoS framework imorovements (Andrew Lutomirski)

   - New Knights Mill CPU ID for the Intel RAPL power capping driver
     (Piotr Luc)

   - Intel RAPL power capping driver fixes, cleanups and switch over to
     using the new CPU offline/online state machine (Jacob Pan, Thomas
     Gleixner, Sebastian Andrzej Siewior)

   - Fixes and cleanups in the exynos-ppmu, exynos-nocp, rk3399_dmc,
     rockchip-dfi devfreq drivers and the devfreq core (Axel Lin,
     Chanwoo Choi, Javier Martinez Canillas, MyungJoo Ham, Viresh Kumar)

   - Fix for false-positive KASAN warnings during resume from ACPI S3
     (suspend-to-RAM) on x86 (Josh Poimboeuf)

   - Memory map verification during resume from hibernation on x86 to
     ensure a consistent address space layout (Chen Yu)

   - Wakeup sources debugging enhancement (Xing Wei)

   - rockchip-io AVS driver cleanup (Shawn Lin)"

* tag 'pm-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (127 commits)
  devfreq: rk3399_dmc: Don't use OPP structures outside of RCU locks
  devfreq: rk3399_dmc: Remove dangling rcu_read_unlock()
  devfreq: exynos: Don't use OPP structures outside of RCU locks
  Documentation: intel_pstate: Document HWP energy/performance hints
  cpufreq: intel_pstate: Support for energy performance hints with HWP
  cpufreq: intel_pstate: Add locking around HWP requests
  PM / sleep: Print active wakeup sources when blocking on wakeup_count reads
  PM / core: Fix bug in the error handling of async suspend
  PM / wakeirq: Fix dedicated wakeirq for drivers not using autosuspend
  PM / Domains: Fix compatible for domain idle state
  PM / OPP: Don't WARN on multiple calls to dev_pm_opp_set_regulators()
  PM / OPP: Allow platform specific custom set_opp() callbacks
  PM / OPP: Separate out _generic_set_opp()
  PM / OPP: Add infrastructure to manage multiple regulators
  PM / OPP: Pass struct dev_pm_opp_supply to _set_opp_voltage()
  PM / OPP: Manage supply's voltage/current in a separate structure
  PM / OPP: Don't use OPP structure outside of rcu protected section
  PM / OPP: Reword binding supporting multiple regulators per device
  PM / OPP: Fix incorrect cpu-supply property in binding
  cpuidle: Add a kerneldoc comment to cpuidle_use_deepest_state()
  ..
2016-12-13 10:41:53 -08:00
Michal Hocko
777c6e0dae hotplug: Make register and unregister notifier API symmetric
Yu Zhao has noticed that __unregister_cpu_notifier only unregisters its
notifiers when HOTPLUG_CPU=y while the registration might succeed even
when HOTPLUG_CPU=n if MODULE is enabled. This means that e.g. zswap
might keep a stale notifier on the list on the manual clean up during
the pool tear down and thus corrupt the list. Resulting in the following

[  144.964346] BUG: unable to handle kernel paging request at ffff880658a2be78
[  144.971337] IP: [<ffffffffa290b00b>] raw_notifier_chain_register+0x1b/0x40
<snipped>
[  145.122628] Call Trace:
[  145.125086]  [<ffffffffa28e5cf8>] __register_cpu_notifier+0x18/0x20
[  145.131350]  [<ffffffffa2a5dd73>] zswap_pool_create+0x273/0x400
[  145.137268]  [<ffffffffa2a5e0fc>] __zswap_param_set+0x1fc/0x300
[  145.143188]  [<ffffffffa2944c1d>] ? trace_hardirqs_on+0xd/0x10
[  145.149018]  [<ffffffffa2908798>] ? kernel_param_lock+0x28/0x30
[  145.154940]  [<ffffffffa2a3e8cf>] ? __might_fault+0x4f/0xa0
[  145.160511]  [<ffffffffa2a5e237>] zswap_compressor_param_set+0x17/0x20
[  145.167035]  [<ffffffffa2908d3c>] param_attr_store+0x5c/0xb0
[  145.172694]  [<ffffffffa290848d>] module_attr_store+0x1d/0x30
[  145.178443]  [<ffffffffa2b2b41f>] sysfs_kf_write+0x4f/0x70
[  145.183925]  [<ffffffffa2b2a5b9>] kernfs_fop_write+0x149/0x180
[  145.189761]  [<ffffffffa2a99248>] __vfs_write+0x18/0x40
[  145.194982]  [<ffffffffa2a9a412>] vfs_write+0xb2/0x1a0
[  145.200122]  [<ffffffffa2a9a732>] SyS_write+0x52/0xa0
[  145.205177]  [<ffffffffa2ff4d97>] entry_SYSCALL_64_fastpath+0x12/0x17

This can be even triggered manually by changing
/sys/module/zswap/parameters/compressor multiple times.

Fix this issue by making unregister APIs symmetric to the register so
there are no surprises.

Fixes: 47e627bc8c ("[PATCH] hotplug: Allow modules to use the cpu hotplug notifiers even if !CONFIG_HOTPLUG_CPU")
Reported-and-tested-by: Yu Zhao <yuzhao@google.com>
Signed-off-by: Michal Hocko <mhocko@suse.com>
Cc: linux-mm@kvack.org
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Dan Streetman <ddstreet@ieee.org>
Link: http://lkml.kernel.org/r/20161207135438.4310-1-mhocko@kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-12-08 10:08:41 +01:00
Peter Zijlstra
c1de45ca83 sched/idle: Add support for tasks that inject idle
Idle injection drivers such as Intel powerclamp and ACPI PAD drivers use
realtime tasks to take control of CPU then inject idle. There are two
issues with this approach:

 1. Low efficiency: injected idle task is treated as busy so sched ticks
    do not stop during injected idle period, the result of these
    unwanted wakeups can be ~20% loss in power savings.

 2. Idle accounting: injected idle time is presented to user as busy.

This patch addresses the issues by introducing a new PF_IDLE flag which
allows any given task to be treated as idle task while the flag is set.
Therefore, idle injection tasks can run through the normal flow of NOHZ
idle enter/exit to get the correct accounting as well as tick stop when
possible.

The implication is that idle task is then no longer limited to PID == 0.

Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-11-29 14:02:21 +01:00
Chris Metcalf
6727ad9e20 nmi_backtrace: generate one-line reports for idle cpus
When doing an nmi backtrace of many cores, most of which are idle, the
output is a little overwhelming and very uninformative.  Suppress
messages for cpus that are idling when they are interrupted and just
emit one line, "NMI backtrace for N skipped: idling at pc 0xNNN".

We do this by grouping all the cpuidle code together into a new
.cpuidle.text section, and then checking the address of the interrupted
PC to see if it lies within that section.

This commit suitably tags x86 and tile idle routines, and only adds in
the minimal framework for other architectures.

Link: http://lkml.kernel.org/r/1472487169-14923-5-git-send-email-cmetcalf@mellanox.com
Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Daniel Thompson <daniel.thompson@linaro.org> [arm]
Tested-by: Petr Mladek <pmladek@suse.com>
Cc: Aaron Tomlin <atomlin@redhat.com>
Cc: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-10-07 18:46:30 -07:00
Linus Torvalds
597f03f9d1 Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull CPU hotplug updates from Thomas Gleixner:
 "Yet another batch of cpu hotplug core updates and conversions:

   - Provide core infrastructure for multi instance drivers so the
     drivers do not have to keep custom lists.

   - Convert custom lists to the new infrastructure. The block-mq custom
     list conversion comes through the block tree and makes the diffstat
     tip over to more lines removed than added.

   - Handle unbalanced hotplug enable/disable calls more gracefully.

   - Remove the obsolete CPU_STARTING/DYING notifier support.

   - Convert another batch of notifier users.

   The relayfs changes which conflicted with the conversion have been
   shipped to me by Andrew.

   The remaining lot is targeted for 4.10 so that we finally can remove
   the rest of the notifiers"

* 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
  cpufreq: Fix up conversion to hotplug state machine
  blk/mq: Reserve hotplug states for block multiqueue
  x86/apic/uv: Convert to hotplug state machine
  s390/mm/pfault: Convert to hotplug state machine
  mips/loongson/smp: Convert to hotplug state machine
  mips/octeon/smp: Convert to hotplug state machine
  fault-injection/cpu: Convert to hotplug state machine
  padata: Convert to hotplug state machine
  cpufreq: Convert to hotplug state machine
  ACPI/processor: Convert to hotplug state machine
  virtio scsi: Convert to hotplug state machine
  oprofile/timer: Convert to hotplug state machine
  block/softirq: Convert to hotplug state machine
  lib/irq_poll: Convert to hotplug state machine
  x86/microcode: Convert to hotplug state machine
  sh/SH-X3 SMP: Convert to hotplug state machine
  ia64/mca: Convert to hotplug state machine
  ARM/OMAP/wakeupgen: Convert to hotplug state machine
  ARM/shmobile: Convert to hotplug state machine
  arm64/FP/SIMD: Convert to hotplug state machine
  ...
2016-10-03 19:43:08 -07:00
Thomas Gleixner
ee1e714b94 cpu/hotplug: Remove CPU_STARTING and CPU_DYING notifier
All users are converted to state machine, remove CPU_STARTING and the
corresponding CPU_DYING.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160818125731.27256-2-bigeasy@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-09-06 18:30:19 +02:00
James Morse
d391e55229 cpu/hotplug: Allow suspend/resume CPU to be specified
disable_nonboot_cpus() assumes that the lowest numbered online CPU is
the boot CPU, and that this is the correct CPU to run any power
management code on.

On x86 this is always correct, as CPU0 cannot (easily) by taken offline.

On arm64 CPU0 can be taken offline. For hibernate/resume this means we
may hibernate on a CPU other than CPU0. If the system is rebooted with
kexec 'CPU0' will be assigned to a different physical CPU. This
complicates hibernate/resume as now we can't trust the CPU numbers.
Arch code can find the correct physical CPU, and ensure it is online
before resume from hibernate begins, but also needs to influence
disable_nonboot_cpus()s choice of CPU.

Rename disable_nonboot_cpus() as freeze_secondary_cpus() and add an
argument indicating which CPU should be left standing. Follow the logic
in migrate_to_reboot_cpu() to use the lowest numbered online CPU if the
requested CPU is not online.
Add disable_nonboot_cpus() as an inline function that has the existing
behaviour.

Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2016-08-26 11:20:11 +01:00
Thomas Gleixner
7ee681b252 workqueue: Convert to state machine callbacks
Get rid of the prio ordering of the separate notifiers and use a proper state
callback pair.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Tejun Heo <tj@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160713153335.197083890@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-14 09:34:43 +02:00
Thomas Gleixner
89ab9cb169 perf/core: Remove perf CPU notifier code
All users converted to state machine callbacks.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Nicolas Iooss <nicolas.iooss_linux@m4x.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160713153335.115333381@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-07-14 09:34:42 +02:00
Thomas Gleixner
f2785ddb53 sched/hotplug: Move migration CPU_DYING to sched_cpu_dying()
Remove the hotplug notifier and make it an explicit state.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160310120025.502222097@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-05-06 14:58:25 +02:00