322 Commits

Author SHA1 Message Date
Michael Bestas
87cf1c2fc1 Merge remote-tracking branch 'common/android-4.9-q' into android-msm-pixel-4.9
* common/android-4.9-q:
  Linux 4.9.321
  swiotlb: skip swiotlb_bounce when orig_addr is zero
  kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
  fdt: Update CRC check for rng-seed
  xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
  drm: remove drm_fb_helper_modinit
  powerpc/pseries: wire up rng during setup_arch()
  modpost: fix section mismatch check for exported init/exit sections
  ARM: cns3xxx: Fix refcount leak in cns3xxx_init
  ARM: Fix refcount leak in axxia_boot_secondary
  ARM: exynos: Fix refcount leak in exynos_map_pmu
  ARM: dts: imx6qdl: correct PU regulator ramp delay
  powerpc: Enable execve syscall exit tracepoint
  xtensa: Fix refcount leak bug in time.c
  xtensa: xtfpga: Fix refcount leak bug in setup
  iio: trigger: sysfs: fix use-after-free on remove
  iio: accel: mma8452: ignore the return value of reset operation
  iio:accel:bma180: rearrange iio trigger get and register
  usb: chipidea: udc: check request status before setting device address
  iio: adc: vf610: fix conversion mode sysfs node name
  igb: Make DMA faster when CPU is active on the PCIe link
  MIPS: Remove repetitive increase irq_err_count
  x86/xen: Remove undefined behavior in setup_features()
  bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
  USB: serial: option: add Telit LE910Cx 0x1250 composition
  random: quiet urandom warning ratelimit suppression message
  dm era: commit metadata in postsuspend after worker stops
  ata: libata: add qc->flags in ata_qc_complete_template tracepoint
  random: schedule mix_interrupt_randomness() less often
  vt: drop old FONT ioctls
  BACKPORT: l2tp: fix race in pppol2tp_release with session object destroy
  BACKPORT: l2tp: don't use inet_shutdown on ppp session destroy
  Linux 4.9.320
  tcp: drop the hash_32() part from the index calculation
  tcp: increase source port perturb table to 2^16
  tcp: dynamically allocate the perturb table used by source ports
  tcp: add small random increments to the source port
  tcp: use different parts of the port_offset for index and offset
  secure_seq: use the 64 bits of the siphash for port offset calculation
  tcp: add some entropy in __inet_hash_connect()
  tcp: change source port randomizarion at connect() time
  fuse: fix pipe buffer lifetime for direct_io
  Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""
  swiotlb: fix info leak with DMA_FROM_DEVICE
  xprtrdma: fix incorrect header size calculations
  s390/mm: use non-quiescing sske for KVM switch to keyed guest
  l2tp: fix race in pppol2tp_release with session object destroy
  l2tp: don't use inet_shutdown on ppp session destroy
  ext4: add reserved GDT blocks check
  ext4: make variable "count" signed
  ext4: fix bug_on ext4_mb_use_inode_pa
  serial: 8250: Store to lsr_save_flags after lsr read
  usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
  USB: serial: io_ti: add Agilent E5805A support
  USB: serial: option: add support for Cinterion MV31 with new baseline
  comedi: vmk80xx: fix expression for tx buffer size
  irqchip/gic-v3: Iterate over possible CPUs by for_each_possible_cpu()
  irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
  misc: atmel-ssc: Fix IRQ check in ssc_probe
  pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
  random: credit cpu and bootloader seeds by default
  net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
  ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
  nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
  virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
  scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
  scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
  ASoC: wm8962: Fix suspend while playing music
  ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
  ASoC: cs42l56: Correct typo in minimum level for SX volume controls
  ASoC: cs42l52: Correct TLV for Bypass Volume
  ASoC: cs53l30: Correct number of volume levels on SX controls
  ASoC: cs42l52: Fix TLV scales for mixer controls
  random: account for arch randomness in bits
  random: mark bootloader randomness code as __init
  random: avoid checking crng_ready() twice in random_init()
  crypto: drbg - make reseeding from get_random_bytes() synchronous
  crypto: drbg - always try to free Jitter RNG instance
  crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
  crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
  crypto: drbg - prepare for more fine-grained tracking of seeding state
  crypto: drbg - always seeded with SP800-90B compliant noise source
  crypto: drbg - add FIPS 140-2 CTRNG for noise source
  Revert "random: use static branch for crng_ready()"
  random: check for signals after page of pool writes
  random: wire up fops->splice_{read,write}_iter()
  random: convert to using fops->write_iter()
  random: move randomize_page() into mm where it belongs
  random: move initialization functions out of hot pages
  random: use proper return types on get_random_{int,long}_wait()
  random: remove extern from functions in header
  random: use static branch for crng_ready()
  random: credit architectural init the exact amount
  random: handle latent entropy and command line from random_init()
  random: use proper jiffies comparison macro
  random: remove ratelimiting for in-kernel unseeded randomness
  random: avoid initializing twice in credit race
  random: use symbolic constants for crng_init states
  siphash: use one source of truth for siphash permutations
  random: help compiler out with fast_mix() by using simpler arguments
  random: do not use input pool from hard IRQs
  random: order timer entropy functions below interrupt functions
  random: do not pretend to handle premature next security model
  random: do not use batches when !crng_ready()
  random: insist on random_get_entropy() existing in order to simplify
  uapi: rename ext2_swab() to swab() and share globally in swab.h
  xtensa: use fallback for random_get_entropy() instead of zero
  sparc: use fallback for random_get_entropy() instead of zero
  um: use fallback for random_get_entropy() instead of zero
  x86/tsc: Use fallback for random_get_entropy() instead of zero
  nios2: use fallback for random_get_entropy() instead of zero
  arm: use fallback for random_get_entropy() instead of zero
  mips: use fallback for random_get_entropy() instead of just c0 random
  m68k: use fallback for random_get_entropy() instead of zero
  timekeeping: Add raw clock fallback for random_get_entropy()
  powerpc: define get_cycles macro for arch-override
  alpha: define get_cycles macro for arch-override
  parisc: define get_cycles macro for arch-override
  s390: define get_cycles macro for arch-override
  ia64: define get_cycles macro for arch-override
  init: call time_init() before rand_initialize()
  random: fix sysctl documentation nits
  random: document crng_fast_key_erasure() destination possibility
  random: make random_get_entropy() return an unsigned long
  random: check for signals every PAGE_SIZE chunk of /dev/[u]random
  random: check for signal_pending() outside of need_resched() check
  random: do not allow user to keep crng key around on stack
  random: do not split fast init input in add_hwgenerator_randomness()
  random: mix build-time latent entropy into pool at init
  random: re-add removed comment about get_random_{u32,u64} reseeding
  random: treat bootloader trust toggle the same way as cpu trust toggle
  random: skip fast_init if hwrng provides large chunk of entropy
  random: check for signal and try earlier when generating entropy
  random: reseed more often immediately after booting
  random: make consistent usage of crng_ready()
  random: use SipHash as interrupt entropy accumulator
  random: replace custom notifier chain with standard one
  random: don't let 644 read-only sysctls be written to
  random: give sysctl_random_min_urandom_seed a more sensible value
  random: do crng pre-init loading in worker rather than irq
  random: unify cycles_t and jiffies usage and types
  random: cleanup UUID handling
  random: only wake up writers after zap if threshold was passed
  random: round-robin registers as ulong, not u32
  random: clear fast pool, crng, and batches in cpuhp bring up
  random: pull add_hwgenerator_randomness() declaration into random.h
  hwrng: remember rng chosen by user
  hwrng: use rng source with best quality
  hwrng: core - remove unused PFX macro
  hwrng: core - Move hwrng miscdev minor number to include/linux/miscdevice.h
  hwrng: core - Rewrite the header
  hwrng: core - rewrite better comparison to NULL
  hwrng: core - do not use multiple blank lines
  random: check for crng_init == 0 in add_device_randomness()
  random: unify early init crng load accounting
  random: do not take pool spinlock at boot
  random: defer fast pool mixing to worker
  workqueue: make workqueue available early during boot
  random: rewrite header introductory comment
  random: group sysctl functions
  random: group userspace read/write functions
  random: group entropy collection functions
  random: group entropy extraction functions
  random: group initialization wait functions
  random: remove whitespace and reorder includes
  random: remove useless header comment
  random: introduce drain_entropy() helper to declutter crng_reseed()
  random: deobfuscate irq u32/u64 contributions
  random: add proper SPDX header
  random: remove unused tracepoints
  random: remove ifdef'd out interrupt bench
  random: tie batched entropy generation to base_crng generation
  random: zero buffer after reading entropy from userspace
  random: remove outdated INT_MAX >> 6 check in urandom_read()
  random: use hash function for crng_slow_load()
  random: absorb fast pool into input pool after fast load
  random: do not xor RDRAND when writing into /dev/random
  random: ensure early RDSEED goes through mixer on init
  random: inline leaves of rand_initialize()
  random: use RDSEED instead of RDRAND in entropy extraction
  random: fix locking in crng_fast_load()
  random: remove batched entropy locking
  random: remove use_input_pool parameter from crng_reseed()
  random: make credit_entropy_bits() always safe
  random: always wake up entropy writers after extraction
  random: use linear min-entropy accumulation crediting
  random: simplify entropy debiting
  random: use computational hash for entropy extraction
  random: only call crng_finalize_init() for primary_crng
  random: access primary_pool directly rather than through pointer
  random: continually use hwgenerator randomness
  random: simplify arithmetic function flow in account()
  random: access input_pool_data directly rather than through pointer
  random: cleanup fractional entropy shift constants
  random: prepend remaining pool constants with POOL_
  random: de-duplicate INPUT_POOL constants
  random: remove unused OUTPUT_POOL constants
  random: rather than entropy_store abstraction, use global
  random: try to actively add entropy rather than passively wait for it
  random: remove unused extract_entropy() reserved argument
  random: remove incomplete last_data logic
  random: cleanup integer types
  crypto: chacha20 - Fix chacha20_block() keystream alignment (again)
  random: cleanup poolinfo abstraction
  random: fix typo in comments
  random: don't reset crng_init_cnt on urandom_read()
  random: avoid superfluous call to RDRAND in CRNG extraction
  random: early initialization of ChaCha constants
  random: initialize ChaCha20 constants with correct endianness
  random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
  random: harmonize "crng init done" messages
  random: mix bootloader randomness into pool
  random: do not re-init if crng_reseed completes before primary init
  random: do not sign extend bytes for rotation when mixing
  random: use BLAKE2s instead of SHA1 in extraction
  random: remove unused irq_flags argument from add_interrupt_randomness()
  random: document add_hwgenerator_randomness() with other input functions
  crypto: blake2s - adjust include guard naming
  crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
  MAINTAINERS: co-maintain random.c
  random: remove dead code left over from blocking pool
  random: avoid arch_get_random_seed_long() when collecting IRQ randomness
  random: add arch_get_random_*long_early()
  powerpc: Use bool in archrandom.h
  linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
  linux/random.h: Use false with bool
  linux/random.h: Remove arch_has_random, arch_has_random_seed
  powerpc: Remove arch_has_random, arch_has_random_seed
  x86: Remove arch_has_random, arch_has_random_seed
  random: avoid warnings for !CONFIG_NUMA builds
  random: split primary/secondary crng init paths
  random: remove some dead code of poolinfo
  random: fix typo in add_timer_randomness()
  random: Add and use pr_fmt()
  random: convert to ENTROPY_BITS for better code readability
  random: remove unnecessary unlikely()
  random: remove kernel.random.read_wakeup_threshold
  random: delete code to pull data into pools
  random: remove the blocking pool
  random: fix crash on multiple early calls to add_bootloader_randomness()
  random: make /dev/random be almost like /dev/urandom
  random: ignore GRND_RANDOM in getentropy(2)
  random: add GRND_INSECURE to return best-effort non-cryptographic bytes
  random: Add a urandom_read_nowait() for random APIs that don't warn
  random: Don't wake crng_init_wait when crng_init == 1
  lib/crypto: sha1: re-roll loops to reduce code size
  lib/crypto: blake2s: move hmac construction into wireguard
  crypto: blake2s - generic C library implementation and selftest
  crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
  Revert "hwrng: core - Freeze khwrng thread during suspend"
  char/random: Add a newline at the end of the file
  random: Use wait_event_freezable() in add_hwgenerator_randomness()
  fdt: add support for rng-seed
  random: Support freezable kthreads in add_hwgenerator_randomness()
  random: fix soft lockup when trying to read from an uninitialized blocking pool
  latent_entropy: avoid build error when plugin cflags are not set
  random: document get_random_int() family
  random: move rand_initialize() earlier
  random: only read from /dev/random after its pool has received 128 bits
  drivers/char/random.c: make primary_crng static
  drivers/char/random.c: remove unused stuct poolinfo::poolbits
  drivers/char/random.c: constify poolinfo_table
  random: make CPU trust a boot parameter
  random: Make crng state queryable
  random: remove preempt disabled region
  random: add a config option to trust the CPU's hwrng
  random: Return nbytes filled from hw RNG
  random: Fix whitespace pre random-bytes work
  drivers/char/random.c: remove unused dont_count_entropy
  random: optimize add_interrupt_randomness
  random: always fill buffer in get_random_bytes_wait
  crypto: chacha20 - Fix keystream alignment for chacha20_block()
  random: fix data race on crng_node_pool
  random: always use batched entropy for get_random_u{32,64}
  Revert "char/random: silence a lockdep splat with printk()"
  char/random: silence a lockdep splat with printk()
  random: add a spinlock_t to struct batched_entropy
  random: rate limit unseeded randomness warnings
  random: fix possible sleeping allocation from irq context
  random: set up the NUMA crng instances after the CRNG is fully initialized
  random: use a different mixing algorithm for add_device_randomness()
  random: fix warning message on ia64 and parisc
  random: reorder READ_ONCE() in get_random_uXX
  random: suppress spammy warnings about unseeded randomness
  random: do not ignore early device randomness
  random: warn when kernel uses unseeded randomness
  random: add get_random_{bytes,u32,u64,int,long,once}_wait family
  random: add wait_for_random_bytes() API
  random: silence compiler warnings and fix race
  random: invalidate batched entropy after crng init
  random: move random_min_urandom_seed into CONFIG_SYSCTL ifdef block
  random: convert get_random_int/long into get_random_u32/u64
  random: fix comment for unused random_min_urandom_seed
  random: remove variable limit
  random: remove stale urandom_init_wait
  random: remove stale maybe_reseed_primary_crng
  9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
  Linux 4.9.319
  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
  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 Comet Lake to the Intel CPU models header
  x86/CPU: Add more Icelake model numbers
  x86/CPU: Add Icelake model number
  x86/cpu: Add Cannonlake to Intel family
  x86/cpu: Add Jasper Lake to Intel family
  cpu/speculation: Add prototype for cpu_show_srbds()
  x86/cpu: Add Elkhart Lake to Intel family
  ANDROID: arch: fix backported syscall numbers
  Linux 4.9.318
  tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd
  PCI: qcom: Fix unbalanced PHY init on probe errors
  mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
  mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
  powerpc/32: Fix overread/overwrite of thread_struct via ptrace
  Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag
  nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
  nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
  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
  modpost: fix undefined behavior of is_arm_mapping_symbol()
  drm/radeon: fix a possible null pointer dereference
  Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
  md: protect md_unregister_thread from reentrancy
  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
  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: 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()
  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()
  net: altera: Fix refcount leak in altera_tse_mdio_create
  net: xfrm: unexport __init-annotated xfrm4_protocol_init()
  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
  ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
  net: fix nla_strcmp to handle more then one trailing null character
  video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
  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
  tcp: tcp_rtx_synack() can be called from process context
  jffs2: fix memory leak in jffs2_do_fill_super
  modpost: fix removing numeric suffixes
  net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()
  clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value
  firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
  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: meson: acquire port->lock in startup()
  rtc: mt6397: check return value after calling platform_get_resource()
  rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
  pwm: lp3943: Fix duty calculation in case period was clamped
  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()
  staging: greybus: codecs: fix type confusion of list iterator variable
  pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards
  netfilter: nf_tables: disallow non-stateful expression in sets earlier
  MIPS: IP27: Remove incorrect `cpu_has_fpu' override
  RDMA/rxe: Generate a completion for unsupported/invalid opcode
  dt-bindings: gpio: altera: correct interrupt-cells
  docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
  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
  rtl818x: Prevent using not initialized queues
  hugetlb: fix huge_pmd_unshare address update
  nodemask.h: fix compilation error with GCC12
  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
  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/amdgpu/cs: make commands with 0 chunks illegal behaviour.
  scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
  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
  ext4: verify dir block before splitting it
  ext4: fix bug_on in ext4_writepages
  ext4: fix use-after-free in ext4_rename_dir_prepare
  fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
  iwlwifi: mvm: fix assert 1F04 upon reconfig
  wifi: mac80211: fix use-after-free in chanctx code
  iommu/amd: Increase timeout waiting for GA log enablement
  video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
  Input: sparcspkr - fix refcount leak in bbc_beep_probe
  tty: fix deadlock caused by calling printk() under tty_port->lock
  powerpc/4xx/cpm: Fix return value of __setup() handler
  powerpc/idle: Fix return value of __setup() handler
  powerpc/8xx: export 'cpm_setbrg' for modules
  drivers/base/node.c: fix compaction sysfs file leak
  scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
  mfd: ipaq-micro: Fix error check return value of platform_get_irq()
  soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
  soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
  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
  ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
  sctp: read sk->sk_bound_dev_if once in sctp_rcv()
  m68k: math-emu: Fix dependencies of math emulation support
  Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
  media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
  media: exynos4-is: Change clk_disable to clk_disable_unprepare
  regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
  ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
  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()
  x86/mm: Cleanup the control_va_addr_alignment() __setup handler
  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
  x86/pm: Fix false positive kmemleak report in msr_build_context()
  inotify: show inotify mask flags in proc fdinfo
  ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
  spi: img-spfi: Fix pm_runtime_get_sync() error checking
  HID: hid-led: fix maximum brightness for Dream Cheeky
  NFC: NULL out the dev->rfkill to prevent UAF
  spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
  drm/mediatek: Fix mtk_cec_mask()
  x86/delay: Fix the wrong asm constraint in delay_loop()
  ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
  drm: fix EDID struct for old ARM OABI format
  macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
  powerpc/xics: fix refcount leak in icp_opal_init()
  PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
  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()
  ARM: OMAP1: clock: Fix UART rate reporting algorithm
  fs: jfs: fix possible NULL pointer dereference in dbFree()
  eth: tg3: silence the GCC 12 array-bounds warning
  rxrpc: Return an error to sendmsg if call failed
  media: exynos4-is: Fix compile warning
  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
  ipmi:ssif: Check for NULL msg when handling events and messages
  dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
  ASoC: dapm: Don't fold register value changes into notifications
  ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
  drm/amd/pm: fix the compile warning
  scsi: megaraid: Fix error check return value of register_chrdev()
  media: cx25821: Fix the warning when removing the module
  ath9k: fix QCA9561 PA bias level
  drm/amd/pm: fix double free in si_parse_power_table()
  ALSA: jack: Access input_dev under mutex
  ACPICA: Avoid cache flush inside virtual machines
  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: add "0x" prefix for unsupported optional features
  ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
  ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
  USB: new quirk for Dell Gen 2 devices
  BACKPORT: psi: Fix uaf issue when psi trigger is destroyed while being polled

 Conflicts:
	drivers/char/Kconfig
	drivers/char/random.c
	fs/fat/fatent.c
	include/linux/random.h
	init/main.c
	kernel/cpu.c
	lib/Makefile

Change-Id: I06579fa22a0347a0d8d2fa32bd6b7b6b54db626f
2022-08-09 06:05:50 +03:00
Michael Bestas
700efa89fa cpu/hotplug: Fix qcom mismerge
Change-Id: Icce38918903d7d53540585e65e1beb389f3ed48c
2022-08-08 05:00:58 +03:00
Eric Biggers
ea690b6ba4 Merge 4.9.320 into android-4.9-q
Changes in 4.9.320
	9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
	random: remove stale maybe_reseed_primary_crng
	random: remove stale urandom_init_wait
	random: remove variable limit
	random: fix comment for unused random_min_urandom_seed
	random: convert get_random_int/long into get_random_u32/u64
	random: move random_min_urandom_seed into CONFIG_SYSCTL ifdef block
	random: invalidate batched entropy after crng init
	random: silence compiler warnings and fix race
	random: add wait_for_random_bytes() API
	random: add get_random_{bytes,u32,u64,int,long,once}_wait family
	random: warn when kernel uses unseeded randomness
	random: do not ignore early device randomness
	random: suppress spammy warnings about unseeded randomness
	random: reorder READ_ONCE() in get_random_uXX
	random: fix warning message on ia64 and parisc
	random: use a different mixing algorithm for add_device_randomness()
	random: set up the NUMA crng instances after the CRNG is fully initialized
	random: fix possible sleeping allocation from irq context
	random: rate limit unseeded randomness warnings
	random: add a spinlock_t to struct batched_entropy
	char/random: silence a lockdep splat with printk()
	Revert "char/random: silence a lockdep splat with printk()"
	random: always use batched entropy for get_random_u{32,64}
	random: fix data race on crng_node_pool
	crypto: chacha20 - Fix keystream alignment for chacha20_block()
	random: always fill buffer in get_random_bytes_wait
	random: optimize add_interrupt_randomness
	drivers/char/random.c: remove unused dont_count_entropy
	random: Fix whitespace pre random-bytes work
	random: Return nbytes filled from hw RNG
	random: add a config option to trust the CPU's hwrng
	random: remove preempt disabled region
	random: Make crng state queryable
	random: make CPU trust a boot parameter
	drivers/char/random.c: constify poolinfo_table
	drivers/char/random.c: remove unused stuct poolinfo::poolbits
	drivers/char/random.c: make primary_crng static
	random: only read from /dev/random after its pool has received 128 bits
	random: move rand_initialize() earlier
	random: document get_random_int() family
	latent_entropy: avoid build error when plugin cflags are not set
	random: fix soft lockup when trying to read from an uninitialized blocking pool
	random: Support freezable kthreads in add_hwgenerator_randomness()
	fdt: add support for rng-seed
	random: Use wait_event_freezable() in add_hwgenerator_randomness()
	char/random: Add a newline at the end of the file
	Revert "hwrng: core - Freeze khwrng thread during suspend"
	crypto: Deduplicate le32_to_cpu_array() and cpu_to_le32_array()
	crypto: blake2s - generic C library implementation and selftest
	lib/crypto: blake2s: move hmac construction into wireguard
	lib/crypto: sha1: re-roll loops to reduce code size
	random: Don't wake crng_init_wait when crng_init == 1
	random: Add a urandom_read_nowait() for random APIs that don't warn
	random: add GRND_INSECURE to return best-effort non-cryptographic bytes
	random: ignore GRND_RANDOM in getentropy(2)
	random: make /dev/random be almost like /dev/urandom
	random: fix crash on multiple early calls to add_bootloader_randomness()
	random: remove the blocking pool
	random: delete code to pull data into pools
	random: remove kernel.random.read_wakeup_threshold
	random: remove unnecessary unlikely()
	random: convert to ENTROPY_BITS for better code readability
	random: Add and use pr_fmt()
	random: fix typo in add_timer_randomness()
	random: remove some dead code of poolinfo
	random: split primary/secondary crng init paths
	random: avoid warnings for !CONFIG_NUMA builds
	x86: Remove arch_has_random, arch_has_random_seed
	powerpc: Remove arch_has_random, arch_has_random_seed
	linux/random.h: Remove arch_has_random, arch_has_random_seed
	linux/random.h: Use false with bool
	linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
	powerpc: Use bool in archrandom.h
	random: add arch_get_random_*long_early()
	random: avoid arch_get_random_seed_long() when collecting IRQ randomness
	random: remove dead code left over from blocking pool
	MAINTAINERS: co-maintain random.c
	crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
	crypto: blake2s - adjust include guard naming
	random: document add_hwgenerator_randomness() with other input functions
	random: remove unused irq_flags argument from add_interrupt_randomness()
	random: use BLAKE2s instead of SHA1 in extraction
	random: do not sign extend bytes for rotation when mixing
	random: do not re-init if crng_reseed completes before primary init
	random: mix bootloader randomness into pool
	random: harmonize "crng init done" messages
	random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
	random: initialize ChaCha20 constants with correct endianness
	random: early initialization of ChaCha constants
	random: avoid superfluous call to RDRAND in CRNG extraction
	random: don't reset crng_init_cnt on urandom_read()
	random: fix typo in comments
	random: cleanup poolinfo abstraction
	crypto: chacha20 - Fix chacha20_block() keystream alignment (again)
	random: cleanup integer types
	random: remove incomplete last_data logic
	random: remove unused extract_entropy() reserved argument
	random: try to actively add entropy rather than passively wait for it
	random: rather than entropy_store abstraction, use global
	random: remove unused OUTPUT_POOL constants
	random: de-duplicate INPUT_POOL constants
	random: prepend remaining pool constants with POOL_
	random: cleanup fractional entropy shift constants
	random: access input_pool_data directly rather than through pointer
	random: simplify arithmetic function flow in account()
	random: continually use hwgenerator randomness
	random: access primary_pool directly rather than through pointer
	random: only call crng_finalize_init() for primary_crng
	random: use computational hash for entropy extraction
	random: simplify entropy debiting
	random: use linear min-entropy accumulation crediting
	random: always wake up entropy writers after extraction
	random: make credit_entropy_bits() always safe
	random: remove use_input_pool parameter from crng_reseed()
	random: remove batched entropy locking
	random: fix locking in crng_fast_load()
	random: use RDSEED instead of RDRAND in entropy extraction
	random: inline leaves of rand_initialize()
	random: ensure early RDSEED goes through mixer on init
	random: do not xor RDRAND when writing into /dev/random
	random: absorb fast pool into input pool after fast load
	random: use hash function for crng_slow_load()
	random: remove outdated INT_MAX >> 6 check in urandom_read()
	random: zero buffer after reading entropy from userspace
	random: tie batched entropy generation to base_crng generation
	random: remove ifdef'd out interrupt bench
	random: remove unused tracepoints
	random: add proper SPDX header
	random: deobfuscate irq u32/u64 contributions
	random: introduce drain_entropy() helper to declutter crng_reseed()
	random: remove useless header comment
	random: remove whitespace and reorder includes
	random: group initialization wait functions
	random: group entropy extraction functions
	random: group entropy collection functions
	random: group userspace read/write functions
	random: group sysctl functions
	random: rewrite header introductory comment
	workqueue: make workqueue available early during boot
	random: defer fast pool mixing to worker
	random: do not take pool spinlock at boot
	random: unify early init crng load accounting
	random: check for crng_init == 0 in add_device_randomness()
	hwrng: core - do not use multiple blank lines
	hwrng: core - rewrite better comparison to NULL
	hwrng: core - Rewrite the header
	hwrng: core - Move hwrng miscdev minor number to include/linux/miscdevice.h
	hwrng: core - remove unused PFX macro
	hwrng: use rng source with best quality
	hwrng: remember rng chosen by user
	random: pull add_hwgenerator_randomness() declaration into random.h
	random: clear fast pool, crng, and batches in cpuhp bring up
	random: round-robin registers as ulong, not u32
	random: only wake up writers after zap if threshold was passed
	random: cleanup UUID handling
	random: unify cycles_t and jiffies usage and types
	random: do crng pre-init loading in worker rather than irq
	random: give sysctl_random_min_urandom_seed a more sensible value
	random: don't let 644 read-only sysctls be written to
	random: replace custom notifier chain with standard one
	random: use SipHash as interrupt entropy accumulator
	random: make consistent usage of crng_ready()
	random: reseed more often immediately after booting
	random: check for signal and try earlier when generating entropy
	random: skip fast_init if hwrng provides large chunk of entropy
	random: treat bootloader trust toggle the same way as cpu trust toggle
	random: re-add removed comment about get_random_{u32,u64} reseeding
	random: mix build-time latent entropy into pool at init
	random: do not split fast init input in add_hwgenerator_randomness()
	random: do not allow user to keep crng key around on stack
	random: check for signal_pending() outside of need_resched() check
	random: check for signals every PAGE_SIZE chunk of /dev/[u]random
	random: make random_get_entropy() return an unsigned long
	random: document crng_fast_key_erasure() destination possibility
	random: fix sysctl documentation nits
	init: call time_init() before rand_initialize()
	ia64: define get_cycles macro for arch-override
	s390: define get_cycles macro for arch-override
	parisc: define get_cycles macro for arch-override
	alpha: define get_cycles macro for arch-override
	powerpc: define get_cycles macro for arch-override
	timekeeping: Add raw clock fallback for random_get_entropy()
	m68k: use fallback for random_get_entropy() instead of zero
	mips: use fallback for random_get_entropy() instead of just c0 random
	arm: use fallback for random_get_entropy() instead of zero
	nios2: use fallback for random_get_entropy() instead of zero
	x86/tsc: Use fallback for random_get_entropy() instead of zero
	um: use fallback for random_get_entropy() instead of zero
	sparc: use fallback for random_get_entropy() instead of zero
	xtensa: use fallback for random_get_entropy() instead of zero
	uapi: rename ext2_swab() to swab() and share globally in swab.h
	random: insist on random_get_entropy() existing in order to simplify
	random: do not use batches when !crng_ready()
	random: do not pretend to handle premature next security model
	random: order timer entropy functions below interrupt functions
	random: do not use input pool from hard IRQs
	random: help compiler out with fast_mix() by using simpler arguments
	siphash: use one source of truth for siphash permutations
	random: use symbolic constants for crng_init states
	random: avoid initializing twice in credit race
	random: remove ratelimiting for in-kernel unseeded randomness
	random: use proper jiffies comparison macro
	random: handle latent entropy and command line from random_init()
	random: credit architectural init the exact amount
	random: use static branch for crng_ready()
	random: remove extern from functions in header
	random: use proper return types on get_random_{int,long}_wait()
	random: move initialization functions out of hot pages
	random: move randomize_page() into mm where it belongs
	random: convert to using fops->write_iter()
	random: wire up fops->splice_{read,write}_iter()
	random: check for signals after page of pool writes
	Revert "random: use static branch for crng_ready()"
	crypto: drbg - add FIPS 140-2 CTRNG for noise source
	crypto: drbg - always seeded with SP800-90B compliant noise source
	crypto: drbg - prepare for more fine-grained tracking of seeding state
	crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
	crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
	crypto: drbg - always try to free Jitter RNG instance
	crypto: drbg - make reseeding from get_random_bytes() synchronous
	random: avoid checking crng_ready() twice in random_init()
	random: mark bootloader randomness code as __init
	random: account for arch randomness in bits
	ASoC: cs42l52: Fix TLV scales for mixer controls
	ASoC: cs53l30: Correct number of volume levels on SX controls
	ASoC: cs42l52: Correct TLV for Bypass Volume
	ASoC: cs42l56: Correct typo in minimum level for SX volume controls
	ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
	ASoC: wm8962: Fix suspend while playing music
	scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
	scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
	virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
	nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
	ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
	net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
	random: credit cpu and bootloader seeds by default
	pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
	misc: atmel-ssc: Fix IRQ check in ssc_probe
	irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
	irqchip/gic-v3: Iterate over possible CPUs by for_each_possible_cpu()
	comedi: vmk80xx: fix expression for tx buffer size
	USB: serial: option: add support for Cinterion MV31 with new baseline
	USB: serial: io_ti: add Agilent E5805A support
	usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
	serial: 8250: Store to lsr_save_flags after lsr read
	ext4: fix bug_on ext4_mb_use_inode_pa
	ext4: make variable "count" signed
	ext4: add reserved GDT blocks check
	l2tp: don't use inet_shutdown on ppp session destroy
	l2tp: fix race in pppol2tp_release with session object destroy
	s390/mm: use non-quiescing sske for KVM switch to keyed guest
	xprtrdma: fix incorrect header size calculations
	swiotlb: fix info leak with DMA_FROM_DEVICE
	Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""
	fuse: fix pipe buffer lifetime for direct_io
	tcp: change source port randomizarion at connect() time
	tcp: add some entropy in __inet_hash_connect()
	secure_seq: use the 64 bits of the siphash for port offset calculation
	tcp: use different parts of the port_offset for index and offset
	tcp: add small random increments to the source port
	tcp: dynamically allocate the perturb table used by source ports
	tcp: increase source port perturb table to 2^16
	tcp: drop the hash_32() part from the index calculation
	Linux 4.9.320

Conflicts:
	crypto/chacha20_generic.c
	drivers/char/random.c
	drivers/of/fdt.c
	include/crypto/chacha20.h
	lib/chacha20.c

Merge resolution notes:
  - Added CHACHA20_KEY_SIZE and CHACHA20_BLOCK_SIZE constants to
    chacha.h, to minimize changes from the 4.9.320 version of random.c

  - Updated lib/vsprintf.c for
    "random: replace custom notifier chain with standard one".

Change-Id: Ia7a12d8883b808f88bbe807d6150552bb084f6b3
Signed-off-by: Eric Biggers <ebiggers@google.com>
2022-06-28 16:46:38 +00:00
Jason A. Donenfeld
ed20ec409e random: clear fast pool, crng, and batches in cpuhp bring up
commit 3191dd5a1179ef0fad5a050a1702ae98b6251e8f upstream.

For the irq randomness fast pool, rather than having to use expensive
atomics, which were visibly the most expensive thing in the entire irq
handler, simply take care of the extreme edge case of resetting count to
zero in the cpuhp online handler, just after workqueues have been
reenabled. This simplifies the code a bit and lets us use vanilla
variables rather than atomics, and performance should be improved.

As well, very early on when the CPU comes up, while interrupts are still
disabled, we clear out the per-cpu crng and its batches, so that it
always starts with fresh randomness.

Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Sultan Alsawaf <sultan@kerneltoast.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-25 11:45:10 +02:00
Lucas Wei
4b93cc8b15 Merge android-4.9-q (4.9.254) into android-msm-pixel-4.9-lts
Merge 4.9.254 into android-4.9-q
Linux 4.9.254
    x86/boot/compressed: Disable relocation relaxation
  * tracing: Fix race in trace_open and buffer resize call
      kernel/trace/ring_buffer.c
  * Revert "mm/slub: fix a memory leak in sysfs_slab_add()"
      mm/slub.c
    net: dsa: b53: fix an off by one in checking "vlan->vid"
    net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
  * ipv6: create multicast route with RTPROT_KERNEL
      net/ipv6/addrconf.c
  * skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
      net/core/skbuff.c
    sh_eth: Fix power down vs. is_opened flag ordering
    sh: dma: fix kconfig dependency for G2_DMA
  * netfilter: rpfilter: mask ecn bits before fib lookup
      net/ipv4/netfilter/ipt_rpfilter.c
  * compiler.h: Raise minimum version of GCC to 5.1 for arm64
      include/linux/compiler-gcc.h
  * bpf: Fix buggy rsh min/max bounds tracking
      kernel/bpf/verifier.c
    xhci: tegra: Delay for disabling LFPS detector
  * xhci: make sure TRB is fully written before giving it to the controller
      drivers/usb/host/xhci-ring.c
  * usb: bdc: Make bdc pci driver depend on BROKEN
      drivers/usb/gadget/udc/bdc/Kconfig
  * usb: udc: core: Use lock when write to soft_connect
      drivers/usb/gadget/udc/core.c
    USB: ehci: fix an interrupt calltrace error
    ehci: fix EHCI host controller initialization sequence
    stm class: Fix module init return on allocation failure
    iio: ad5504: Fix setting power-down state
    can: dev: can_restart: fix use after free bug
    i2c: octeon: check correct size of maximum RECV_LEN packet
    drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
    drm/nouveau/bios: fix issue shadowing expansion ROMs
  * scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
      drivers/scsi/ufs/ufshcd.c
    ASoC: Intel: haswell: Add missing pm_ops
  * dm: avoid filesystem lookup in dm_get_dev_t()
      drivers/md/dm-table.c
    ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    ALSA: hda/via: Add minimum mute flag
    ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    Merge 4.9.253 into android-4.9-q
Linux 4.9.253
    spi: cadence: cache reference clock rate during probe
    tipc: fix NULL deref in tipc_link_xmit()
    rxrpc: Fix handling of an unsupported token type in rxrpc_read()
  * net: avoid 32 x truesize under-estimation for tiny skbs
      net/core/skbuff.c
  * net: sit: unregister_netdevice on newlink's error path
      net/ipv6/sit.c
    net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
    net: dcb: Validate netlink message in DCB handler
    rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
    netxen_nic: fix MSI/MSI-x interrupts
  * net: cdc_ncm: correct overhead in delayed_ndp_size
      drivers/net/usb/cdc_ncm.c
    nfsd4: readdirplus shouldn't return parent of export
    usb: ohci: Make distrust_firmware param default to false
  * netfilter: conntrack: fix reading nf_conntrack_buckets
      net/netfilter/nf_conntrack_standalone.c
    net: sunrpc: interpret the return value of kstrtou32 correctly
  * mm, slub: consider rest of partial list if acquire_slab() fails
      mm/slub.c
    RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
  * ext4: fix superblock checksum failure when setting password salt
      fs/ext4/ioctl.c
    NFS: nfs_igrab_and_active must first reference the superblock
  * dump_common_audit_data(): fix racy accesses to ->d_name
      security/lsm_audit.c
  * Input: uinput - avoid FF flush when destroying device
      drivers/input/ff-core.c
      drivers/input/misc/uinput.c
      include/linux/input.h
    ARM: picoxcell: fix missing interrupt-parent properties
  * ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
      include/linux/acpi.h
    net: ethernet: fs_enet: Add missing MODULE_LICENSE
  * misdn: dsp: select CONFIG_BITREVERSE
      drivers/isdn/mISDN/Kconfig
    arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
    ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    ARC: build: add boot_targets to PHONY
  * ext4: fix bug for rename with RENAME_WHITEOUT
      fs/ext4/namei.c
    mm/hugetlb: fix potential missing huge page size info
    ACPI: scan: Harden acpi_device_add() against device ID overflows
    MIPS: relocatable: fix possible boot hangup with KASLR enabled
    MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
  * ASoC: dapm: remove widget from dirty list on free
      sound/soc/soc-dapm.c
    Merge 4.9.252 into android-4.9-q
Linux 4.9.252
  * net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
      net/core/skbuff.c
  * block: fix use-after-free in disk_part_iter_next
      block/genhd.c
    KVM: arm64: Don't access PMCR_EL0 when no PMU is available
  * wan: ds26522: select CONFIG_BITREVERSE
      drivers/net/wan/Kconfig
    net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
    iommu/intel: Fix memleak in intel_irq_remapping_alloc
  * block: rsxx: select CONFIG_CRC32
      drivers/block/Kconfig
  * wil6210: select CONFIG_CRC32
      drivers/net/wireless/ath/wil6210/Kconfig
    dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    dmaengine: xilinx_dma: check dma_async_device_register return value
    cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    ARM: OMAP2+: omap_device: fix idling of devices during probe
    spi: pxa2xx: Fix use-after-free on unbind
    ubifs: wbuf: Don't leak kernel memory to flash
    drm/i915: Fix mismatch between misplaced vma check and vma insert
  * vmlinux.lds.h: Add PGO and AutoFDO input sections
      include/asm-generic/vmlinux.lds.h
  * net: fix pmtu check in nopmtudisc mode
      net/ipv4/ip_tunnel.c
  * net: ip: always refragment ip defragmented packets
      net/ipv4/ip_output.c
    powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
    target: add XCOPY target/segment desc sense codes
    scsi: target: Fix XCOPY NAA identifier lookup
    xcopy: loop over devices using idr helper
    target: use XCOPY segment descriptor CSCD IDs
    target: simplify XCOPY wwn->se_dev lookup helper
    target: bounds check XCOPY segment descriptor list
    ANDROID: cuttlefish_defconfig: add missing CONFIG_BLK_CGROUP
    Merge 4.9.251 into android-4.9-q
Linux 4.9.251
    x86/mtrr: Correct the range check before performing MTRR type lookups
    netfilter: xt_RATEEST: reject non-null terminated string from userspace
    netfilter: ipset: fix shift-out-of-bounds in htable_bits()
  * Revert "device property: Keep secondary firmware node secondary by type"
      drivers/base/core.c
    ALSA: hda/conexant: add a new hda codec CX11970
    x86/mm: Fix leak of pmd ptlock
    USB: serial: keyspan_pda: remove unused variable
  * usb: gadget: configfs: Fix use-after-free issue with udc_name
      drivers/usb/gadget/configfs.c
  * usb: gadget: configfs: Preserve function ordering after bind failure
      drivers/usb/gadget/configfs.c
  * usb: gadget: Fix spinlock lockup on usb_function_deactivate
      drivers/usb/gadget/composite.c
    USB: gadget: legacy: fix return error code in acm_ms_bind()
    usb: gadget: function: printer: Fix a memory leak for interface descriptor
    usb: gadget: f_uac2: reset wMaxPacketSize
  * usb: gadget: select CONFIG_CRC32
      drivers/usb/gadget/Kconfig
  * ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
      sound/usb/midi.c
    USB: usblp: fix DMA to stack
    USB: yurex: fix control-URB timeout handling
    USB: serial: option: add LongSung M5710 module support
    USB: serial: iuu_phoenix: fix DMA from stack
    usb: uas: Add PNY USB Portable SSD to unusual_uas
  * USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
      drivers/usb/host/xhci.c
    usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
    USB: cdc-acm: blacklist another IR Droid device
  * usb: gadget: enable super speed plus
      drivers/usb/gadget/configfs.c
    video: hyperv_fb: Fix the mmap() regression for v5.4.y and older
    scripts/gdb: fix lx-version string output
    scripts/gdb: lx-dmesg: use explicit encoding=utf8 errors=replace
    scripts/gdb: lx-dmesg: cast log_buf to void* for addr fetch
    scripts/gdb: make lx-dmesg command work (reliably)
    virtio_net: Fix recursive call to cpus_read_lock()
    net: sched: prevent invalid Scell_log shift count
    vhost_net: fix ubuf refcount incorrectly when sendmsg fails
  * CDC-NCM: remove "connected" log message
      drivers/net/usb/cdc_ncm.c
    net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
    net: hns: fix return value check in __lb_other_process()
  * ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
      net/ipv4/fib_frontend.c
    net: ethernet: Fix memleak in ethoc_probe
    net/ncsi: Use real net-device for response handler
    atm: idt77252: call pci_disable_device() on error path
    ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
  * depmod: handle the case of /sbin/depmod without /sbin in PATH
      scripts/depmod.sh
  * lib/genalloc: fix the overflow when size is too big
      lib/genalloc.c
  * workqueue: Kick a worker based on the actual activation of delayed works
      kernel/workqueue.c
  * kbuild: don't hardcode depmod path
      Makefile
    Merge 4.9.250 into android-4.9-q
Linux 4.9.250
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    iio:magnetometer:mag3110: Fix alignment and data leak issues.
    iio:imu:bmi160: Fix alignment and data leak issues
    iio:imu:bmi160: Fix too large a buffer.
    iio: bmi160_core: Fix sparse warning due to incorrect type in assignment
    xenbus/xenbus_backend: Disallow pending watch messages
    xen/xenbus: Count pending messages for each watch
    xen/xenbus/xen_bus_type: Support will_handle watch callback
    xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
    xen/xenbus: Allow watches discard events before queueing
  * kdev_t: always inline major/minor helper functions
      include/linux/kdev_t.h
  * module: delay kobject uevent until after module init call
      kernel/module.c
    powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
  * quota: Don't overflow quota file offsets
      fs/quota/quota_tree.c
  * module: set MODULE_STATE_GOING state when a module fails to load
      kernel/module.c
    ALSA: seq: Use bool for snd_seq_queue internal flags
    media: gp8psk: initialize stats at power control logic
    misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells()
    reiserfs: add check for an invalid ih_entry_count
  * of: fix linker-section match-table corruption
      include/linux/of.h
  * uapi: move constants from <linux/kernel.h> to <linux/const.h>
      include/uapi/linux/const.h
      include/uapi/linux/ethtool.h
      include/uapi/linux/kernel.h
      include/uapi/linux/mroute6.h
      include/uapi/linux/netfilter/x_tables.h
      include/uapi/linux/netlink.h
      include/uapi/linux/sysctl.h
  * l2tp: fix races with ipv4-mapped ipv6 addresses
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
  * net: ipv6: keep sk status consistent after datagram connect failure
      net/ipv6/datagram.c
    USB: serial: digi_acceleport: fix write-wakeup deadlocks
    s390/dasd: fix hanging device offline processing
    vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
    ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236
    ALSA: hda - Fix a wrong FIXUP for alc289 on Dell machines
    ALSA: hda/realtek - Support Dell headset mode for ALC3271
  * ALSA: usb-audio: fix sync-ep altsetting sanity check
      sound/usb/pcm.c
  * ALSA: usb-audio: simplify set_sync_ep_implicit_fb_quirk
      sound/usb/pcm.c
    ALSA: hda/ca0132 - Fix work handling in delayed HP detection
    x86/entry/64: Add instruction suffix
  * ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Avoid bitfields for shared variables
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Cancel any pending work before teardown
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Don't corrupt global state on double registration
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Fix teardown ordering in acc_release()
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev'
      drivers/usb/gadget/function/f_accessory.c
  * UPSTREAM: locking/atomic, kref: Add KREF_INIT()
      fs/fuse/fuse_i.h
      include/linux/kref.h
      init/version.c
      kernel/pid.c
  * ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless assignment
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove useless non-debug prints
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: f_accessory: Remove stale comments
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request
      drivers/usb/gadget/function/f_accessory.c
  * ANDROID: usb: gadget: f_accessory: fix CTS test stuck
      drivers/usb/gadget/function/f_accessory.c
    Merge 4.9.249 into android-4.9-q
Linux 4.9.249
  * PCI: Fix pci_slot_release() NULL pointer dereference
      drivers/pci/slot.c
    xen-blkback: set ring->xenblkd to NULL after kthread_stop()
    clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
    iio:pressure:mpl3115: Force alignment of buffer
    iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
    iio: buffer: Fix demux update
    mtd: parser: cmdline: Fix parsing of part-names with colons
    soc: qcom: smp2p: Safely acquire spinlock without IRQs
    spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
    spi: sc18is602: Don't leak SPI master in probe error path
    spi: rb4xx: Don't leak SPI master in probe error path
    spi: pic32: Don't leak DMA channels in probe error path
    spi: davinci: Fix use-after-free on unbind
    spi: spi-sh: Fix use-after-free on unbind
    drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
    jfs: Fix array index bounds check in dbAdjTree
    jffs2: Fix GC exit abnormally
    ceph: fix race in concurrent __ceph_remove_cap invocations
    powerpc/xmon: Change printk() to pr_cont()
  * KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
      arch/arm64/include/asm/kvm_host.h
  * ext4: fix a memory leak of ext4_free_data
      fs/ext4/mballoc.c
    btrfs: fix return value mixup in btrfs_get_extent
    Btrfs: fix selftests failure due to uninitialized i_mode in test inodes
    btrfs: scrub: Don't use inode page cache in scrub_handle_errored_block()
    btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf
    USB: serial: keyspan_pda: fix write unthrottling
    USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
    USB: serial: keyspan_pda: fix write-wakeup use-after-free
    USB: serial: keyspan_pda: fix stalled writes
    USB: serial: keyspan_pda: fix write deadlock
    USB: serial: keyspan_pda: fix dropped unthrottle interrupts
    USB: serial: mos7720: fix parallel-port state restore
    powerpc/perf: Exclude kernel samples while counting events in user space.
    staging: comedi: mf6x4: Fix AI end-of-conversion detection
    s390/dasd: fix list corruption of lcu list
    s390/dasd: fix list corruption of pavgroup group list
    s390/dasd: prevent inconsistent LCU device data
  * ALSA: usb-audio: Disable sample read check if firmware doesn't give back
      sound/usb/clock.c
    ALSA: pcm: oss: Fix a few more UBSAN fixes
    ACPI: PNP: compare the string length in the matching_id()
    Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
    Input: cyapa_gen6 - fix out-of-bounds stack access
    media: netup_unidvb: Don't leak SPI master in probe error path
    media: sunxi-cir: ensure IR is handled when it is continuous
    media: gspca: Fix memory leak in probe
    Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
    Input: cros_ec_keyb - send 'scancodes' in addition to key events
  * cfg80211: initialize rekey_data
      net/wireless/nl80211.c
    clk: s2mps11: Fix a resource leak in error handling paths in the probe function
    qlcnic: Fix error code in probe
    perf record: Fix memory leak when using '--user-regs=?' to list registers
    clk: ti: Fix memleak in ti_fapll_synth_setup
    watchdog: qcom: Avoid context switch in restart handler
    net: korina: fix return value
    net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
    net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
    checkpatch: fix unescaped left brace
    powerpc/ps3: use dma_mapping_error()
    nfc: s3fwrn5: Release the nfc firmware
    um: chan_xterm: Fix fd leak
    irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
    ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
    extcon: max77693: Fix modalias string
    clk: tegra: Fix duplicated SE clock entry
    x86/kprobes: Restore BTF if the single-stepping is cancelled
    nfs_common: need lock during iterate through the list
    nfsd: Fix message level for normal termination
    speakup: fix uninitialized flush_lock
    usb: oxu210hp-hcd: Fix memory leak in oxu_create
    usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
    powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
    scsi: fnic: Fix error return code in fnic_probe()
  * seq_buf: Avoid type mismatch for seq_buf_init
      include/linux/seq_buf.h
      include/linux/trace_seq.h
    scsi: pm80xx: Fix error return in pm8001_pci_probe()
    cpufreq: scpi: Add missing MODULE_ALIAS
    cpufreq: loongson1: Add missing MODULE_ALIAS
    cpufreq: st: Add missing MODULE_DEVICE_TABLE
    cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
  * clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
      drivers/clocksource/arm_arch_timer.c
  * dm ioctl: fix error return code in target_message
      drivers/md/dm-ioctl.c
    ASoC: jz4740-i2s: add missed checks for clk_get()
    memstick: r592: Fix error return in r592_probe()
    pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
    clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
    media: saa7146: fix array overflow in vidioc_s_audio()
    vfio-pci: Use io_remap_pfn_range() for PCI IO memory
    NFS: switch nfsiod to be an UNBOUND workqueue.
    lockd: don't use interval-based rebinding over TCP
  * SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
      include/linux/sunrpc/xprt.h
    NFSv4.2: condition READDIR's mask for security label based on LSM state
    ARM: dts: at91: at91sam9rl: fix ADC triggers
    HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
    mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
    media: siano: fix memory leak of debugfs members in smsdvb_hotplug
    cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
    orinoco: Move context allocation after processing the skb
    ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
    ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
    memstick: fix a double-free bug in memstick_check
    RDMA/cxgb4: Validate the number of CQEs
    drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
    soc: ti: Fix reference imbalance in knav_dma_probe
    soc: ti: knav_qmss: fix reference leak in knav_queue_probe
    crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
    powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
    Input: ads7846 - fix unaligned access on 7845
    Input: ads7846 - fix integer overflow on Rt calculation
    drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
    media: solo6x10: fix missing snd_card_free in error handling case
    staging: greybus: codecs: Fix reference counter leak in error handling
    MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
    RDMa/mthca: Work around -Wenum-conversion warning
    spi: tegra114: fix reference leak in tegra spi ops
    spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
    spi: tegra20-slink: fix reference leak in slink ops of tegra20
    spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
  * Bluetooth: Fix null pointer dereference in hci_event_packet()
      net/bluetooth/hci_event.c
    arm64: dts: exynos: Correct psci compatible used on Exynos7
  * ASoC: pcm: DRAIN support reactivation
      sound/soc/soc-pcm.c
    spi: img-spfi: fix reference leak in img_spfi_resume
    crypto: talitos - Fix return type of current_desc_hdr()
    ARM: p2v: fix handling of LPAE translation in BE mode
    RDMA/rxe: Compute PSN windows correctly
    drm/gma500: fix double free of gma_connector
  * Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
      net/bluetooth/hci_event.c
    md: fix a warning caused by a race between concurrent md_ioctl()s
    media: msi2500: assign SPI bus number dynamically
  * serial_core: Check for port state when tty is in error state
      drivers/tty/serial/serial_core.c
    HID: i2c-hid: add Vero K147 to descriptor override
    ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
    ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
    ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
    usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
  * usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
      drivers/usb/gadget/function/f_fs.c
    USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
  * USB: gadget: f_midi: setup SuperSpeed Plus descriptors
      drivers/usb/gadget/function/f_midi.c
    USB: gadget: f_acm: add support for SuperSpeed Plus
    USB: serial: option: add interface-number sanity check to flag handling
    soc/tegra: fuse: Fix index bug in get_process_id
  * dm table: Remove BUG_ON(in_interrupt())
      drivers/md/dm-table.c
    scsi: mpt3sas: Increase IOCInit request timeout to 30s
    drm/tegra: sor: Disable clocks on error in tegra_sor_init()
  * kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
      kernel/cpu.c
    RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
    can: softing: softing_netdev_open(): fix error handling
  * scsi: bnx2i: Requires MMU
      drivers/scsi/bnx2i/Kconfig
    pinctrl: baytrail: Avoid clearing debounce value when turning it off
    pinctrl: merrifield: Set default bias in case no particular value given
    serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
    ALSA: pcm: oss: Fix potential out-of-bounds shift
  * USB: sisusbvga: Make console support depend on BROKEN
      drivers/usb/misc/sisusbvga/Kconfig
  * xhci: Give USB2 ports time to enter U3 in bus suspend
      drivers/usb/host/xhci-hub.c
  * ALSA: usb-audio: Fix control 'access overflow' errors from chmap
      sound/usb/stream.c
  * ALSA: usb-audio: Fix potential out-of-bounds shift
      sound/usb/format.c
  * USB: add RESET_RESUME quirk for Snapscan 1212
      drivers/usb/core/quirks.c
    USB: dummy-hcd: Fix uninitialized array use in init()
    mac80211: mesh: fix mesh_pathtbl_init() error path
    net: bridge: vlan: fix error return code in __vlan_add()
    net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
    net: stmmac: delete the eee_ctrl_timer after napi disabled
  * tcp: fix cwnd-limited bug for TSO deferral where we send nothing
      net/ipv4/tcp_output.c
    net/mlx4_en: Avoid scheduling restart task if it is already running
  * spi: Prevent adding devices below an unregistering controller
      drivers/spi/Kconfig
      drivers/spi/spi.c
    scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
    pinctrl: amd: remove debounce filter setting in IRQ type setting
    Input: i8042 - add Acer laptops to the i8042 reset list
    Input: cm109 - do not stomp on control URB
    platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
    ARC: stack unwinding: don't assume non-current task is sleeping
    arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
    iwlwifi: pcie: limit memory read spin time
    spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
    spi: bcm2835aux: Fix use-after-free on unbind

Bug: 180663378
Change-Id: Icded594ca907f1cf0a53f7a506c1cb9e58cbc213
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-03-01 15:00:57 +00:00
Greg Kroah-Hartman
ee532e865e Merge 4.9.249 into android-4.9-q
Changes in 4.9.249
	spi: bcm2835aux: Fix use-after-free on unbind
	spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
	iwlwifi: pcie: limit memory read spin time
	arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
	ARC: stack unwinding: don't assume non-current task is sleeping
	platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
	Input: cm109 - do not stomp on control URB
	Input: i8042 - add Acer laptops to the i8042 reset list
	pinctrl: amd: remove debounce filter setting in IRQ type setting
	scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
	spi: Prevent adding devices below an unregistering controller
	net/mlx4_en: Avoid scheduling restart task if it is already running
	tcp: fix cwnd-limited bug for TSO deferral where we send nothing
	net: stmmac: delete the eee_ctrl_timer after napi disabled
	net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
	net: bridge: vlan: fix error return code in __vlan_add()
	mac80211: mesh: fix mesh_pathtbl_init() error path
	USB: dummy-hcd: Fix uninitialized array use in init()
	USB: add RESET_RESUME quirk for Snapscan 1212
	ALSA: usb-audio: Fix potential out-of-bounds shift
	ALSA: usb-audio: Fix control 'access overflow' errors from chmap
	xhci: Give USB2 ports time to enter U3 in bus suspend
	USB: sisusbvga: Make console support depend on BROKEN
	ALSA: pcm: oss: Fix potential out-of-bounds shift
	serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
	pinctrl: merrifield: Set default bias in case no particular value given
	pinctrl: baytrail: Avoid clearing debounce value when turning it off
	scsi: bnx2i: Requires MMU
	can: softing: softing_netdev_open(): fix error handling
	RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
	kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
	drm/tegra: sor: Disable clocks on error in tegra_sor_init()
	scsi: mpt3sas: Increase IOCInit request timeout to 30s
	dm table: Remove BUG_ON(in_interrupt())
	soc/tegra: fuse: Fix index bug in get_process_id
	USB: serial: option: add interface-number sanity check to flag handling
	USB: gadget: f_acm: add support for SuperSpeed Plus
	USB: gadget: f_midi: setup SuperSpeed Plus descriptors
	USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
	usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
	usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
	ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
	ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
	ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
	HID: i2c-hid: add Vero K147 to descriptor override
	serial_core: Check for port state when tty is in error state
	media: msi2500: assign SPI bus number dynamically
	md: fix a warning caused by a race between concurrent md_ioctl()s
	Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
	drm/gma500: fix double free of gma_connector
	RDMA/rxe: Compute PSN windows correctly
	ARM: p2v: fix handling of LPAE translation in BE mode
	crypto: talitos - Fix return type of current_desc_hdr()
	spi: img-spfi: fix reference leak in img_spfi_resume
	ASoC: pcm: DRAIN support reactivation
	arm64: dts: exynos: Correct psci compatible used on Exynos7
	Bluetooth: Fix null pointer dereference in hci_event_packet()
	spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
	spi: tegra20-slink: fix reference leak in slink ops of tegra20
	spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
	spi: tegra114: fix reference leak in tegra spi ops
	RDMa/mthca: Work around -Wenum-conversion warning
	MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
	staging: greybus: codecs: Fix reference counter leak in error handling
	media: solo6x10: fix missing snd_card_free in error handling case
	drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
	Input: ads7846 - fix integer overflow on Rt calculation
	Input: ads7846 - fix unaligned access on 7845
	powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
	crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
	soc: ti: knav_qmss: fix reference leak in knav_queue_probe
	soc: ti: Fix reference imbalance in knav_dma_probe
	drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
	RDMA/cxgb4: Validate the number of CQEs
	memstick: fix a double-free bug in memstick_check
	ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
	ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
	orinoco: Move context allocation after processing the skb
	cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
	media: siano: fix memory leak of debugfs members in smsdvb_hotplug
	mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
	HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
	ARM: dts: at91: at91sam9rl: fix ADC triggers
	NFSv4.2: condition READDIR's mask for security label based on LSM state
	SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
	lockd: don't use interval-based rebinding over TCP
	NFS: switch nfsiod to be an UNBOUND workqueue.
	vfio-pci: Use io_remap_pfn_range() for PCI IO memory
	media: saa7146: fix array overflow in vidioc_s_audio()
	clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
	pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
	memstick: r592: Fix error return in r592_probe()
	ASoC: jz4740-i2s: add missed checks for clk_get()
	dm ioctl: fix error return code in target_message
	clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
	cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
	cpufreq: st: Add missing MODULE_DEVICE_TABLE
	cpufreq: loongson1: Add missing MODULE_ALIAS
	cpufreq: scpi: Add missing MODULE_ALIAS
	scsi: pm80xx: Fix error return in pm8001_pci_probe()
	seq_buf: Avoid type mismatch for seq_buf_init
	scsi: fnic: Fix error return code in fnic_probe()
	powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
	usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
	usb: oxu210hp-hcd: Fix memory leak in oxu_create
	speakup: fix uninitialized flush_lock
	nfsd: Fix message level for normal termination
	nfs_common: need lock during iterate through the list
	x86/kprobes: Restore BTF if the single-stepping is cancelled
	clk: tegra: Fix duplicated SE clock entry
	extcon: max77693: Fix modalias string
	ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
	irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
	um: chan_xterm: Fix fd leak
	nfc: s3fwrn5: Release the nfc firmware
	powerpc/ps3: use dma_mapping_error()
	checkpatch: fix unescaped left brace
	net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
	net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
	net: korina: fix return value
	watchdog: qcom: Avoid context switch in restart handler
	clk: ti: Fix memleak in ti_fapll_synth_setup
	perf record: Fix memory leak when using '--user-regs=?' to list registers
	qlcnic: Fix error code in probe
	clk: s2mps11: Fix a resource leak in error handling paths in the probe function
	cfg80211: initialize rekey_data
	Input: cros_ec_keyb - send 'scancodes' in addition to key events
	Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
	media: gspca: Fix memory leak in probe
	media: sunxi-cir: ensure IR is handled when it is continuous
	media: netup_unidvb: Don't leak SPI master in probe error path
	Input: cyapa_gen6 - fix out-of-bounds stack access
	Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
	ACPI: PNP: compare the string length in the matching_id()
	ALSA: pcm: oss: Fix a few more UBSAN fixes
	ALSA: usb-audio: Disable sample read check if firmware doesn't give back
	s390/dasd: prevent inconsistent LCU device data
	s390/dasd: fix list corruption of pavgroup group list
	s390/dasd: fix list corruption of lcu list
	staging: comedi: mf6x4: Fix AI end-of-conversion detection
	powerpc/perf: Exclude kernel samples while counting events in user space.
	USB: serial: mos7720: fix parallel-port state restore
	USB: serial: keyspan_pda: fix dropped unthrottle interrupts
	USB: serial: keyspan_pda: fix write deadlock
	USB: serial: keyspan_pda: fix stalled writes
	USB: serial: keyspan_pda: fix write-wakeup use-after-free
	USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
	USB: serial: keyspan_pda: fix write unthrottling
	btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf
	btrfs: scrub: Don't use inode page cache in scrub_handle_errored_block()
	Btrfs: fix selftests failure due to uninitialized i_mode in test inodes
	btrfs: fix return value mixup in btrfs_get_extent
	ext4: fix a memory leak of ext4_free_data
	KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
	powerpc/xmon: Change printk() to pr_cont()
	ceph: fix race in concurrent __ceph_remove_cap invocations
	jffs2: Fix GC exit abnormally
	jfs: Fix array index bounds check in dbAdjTree
	drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
	spi: spi-sh: Fix use-after-free on unbind
	spi: davinci: Fix use-after-free on unbind
	spi: pic32: Don't leak DMA channels in probe error path
	spi: rb4xx: Don't leak SPI master in probe error path
	spi: sc18is602: Don't leak SPI master in probe error path
	spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
	soc: qcom: smp2p: Safely acquire spinlock without IRQs
	mtd: parser: cmdline: Fix parsing of part-names with colons
	iio: buffer: Fix demux update
	iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
	iio:pressure:mpl3115: Force alignment of buffer
	clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
	xen-blkback: set ring->xenblkd to NULL after kthread_stop()
	PCI: Fix pci_slot_release() NULL pointer dereference
	Linux 4.9.249

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4829a32e2ea6e76eefea716f35f42ee02b75c265
2020-12-29 14:16:49 +01:00
Nicholas Piggin
fe34803789 kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
[ Upstream commit 8ff00399b153440c1c83e20c43020385b416415b ]

powerpc/64s keeps a counter in the mm which counts bits set in
mm_cpumask as well as other things. This means it can't use generic code
to clear bits out of the mask and doesn't adjust the arch specific
counter.

Add an arch override that allows powerpc/64s to use
clear_tasks_mm_cpumask().

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201126102530.691335-4-npiggin@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-12-29 13:44:50 +01:00
lucaswei
69d20ae93b Merge android-4.9-q (4.9.223) into android-msm-pixel-4.9-lts
Merge 4.9.223 into android-4.9-q
Linux 4.9.223
  * mac80211: add ieee80211_is_any_nullfunc()
      include/linux/ieee80211.h
    ALSA: hda: Match both PCI ID and SSID for driver blacklist
    sctp: Fix SHUTDOWN CTSN Ack in the peer restart case
    MIPS: perf: Remove incorrect odd/even counter handling for I6400
    xprtrdma: Fix backchannel allocation of extra rpcrdma_reps
    net: systemport: suppress warnings on failed Rx SKB allocations
    net: bcmgenet: suppress warnings on failed Rx SKB allocations
  * lib/mpi: Fix building for powerpc with clang
      lib/mpi/longlong.h
    net: dsa: b53: Rework ARL bin logic
    scripts/config: allow colons in option strings for sed
    cifs: protect updating server->dstaddr with a spinlock
    net: stmmac: Fix sub-second increment
    wimax/i2400m: Fix potential urb refcnt leak
    ASoC: sgtl5000: Fix VAG power-on handling
    selftests/ipc: Fix test failure seen after initial test run
    iio:ad7797: Use correct attribute_group
    powerpc/pci/of: Parse unassigned resources
    vhost: vsock: kick send_pkt worker once device is started
    Merge 4.9.222 into android-4.9-q
Linux 4.9.222
    drm/qxl: qxl_release use after free
  * selinux: properly handle multiple messages in selinux_netlink_send()
      security/selinux/hooks.c
    dmaengine: dmatest: Fix iteration non-stop logic
    nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl
    ALSA: opti9xx: shut up gcc-10 range warning
    iommu/amd: Fix legacy interrupt remapping for x2APIC-enabled system
    vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn()
    RDMA/mlx4: Initialize ib_spec on the stack
  * dm verity fec: fix hash block number in verity_fec_decode
      drivers/md/dm-verity-fec.c
    PM: hibernate: Freeze kernel threads in software_resume()
    PM: ACPI: Output correct message on target power state
    ALSA: pcm: oss: Place the plugin buffer overflow checks correctly
    ALSA: hda/hdmi: fix without unlocked before return
    btrfs: fix block group leak when removing fails
    drm/qxl: qxl_release leak in qxl_hw_surface_alloc()
    drm/qxl: qxl_release leak in qxl_draw_dirty_fb()
  * drm/edid: Fix off-by-one in DispID DTD pixel clock
      drivers/gpu/drm/drm_edid.c
  * ext4: fix special inode number checks in __ext4_iget()
      fs/ext4/inode.c
    Merge 4.9.221 into android-4.9-q
    ANDROID: cuttlefish_defconfig: Fix dm-verity related options
Linux 4.9.221
  * propagate_one(): mnt_set_mountpoint() needs mount_lock
      fs/pnode.c
  * ext4: check for non-zero journal inum in ext4_calculate_overhead
      fs/ext4/super.c
  * ext4: unsigned int compared against zero
      fs/ext4/block_validity.c
  * ext4: fix block validity checks for journal inodes using indirect blocks
      fs/ext4/block_validity.c
  * ext4: don't perform block validity checks on the journal inode
      fs/ext4/extents.c
  * ext4: protect journal inode's blocks using block_validity
      fs/ext4/block_validity.c
      fs/ext4/inode.c
  * ext4: avoid declaring fs inconsistent due to invalid file handles
      fs/ext4/ext4.h
      fs/ext4/ialloc.c
      fs/ext4/inode.c
      fs/ext4/ioctl.c
      fs/ext4/namei.c
      fs/ext4/resize.c
      fs/ext4/super.c
    hwmon: (jc42) Fix name to have no illegal characters
  * ext4: convert BUG_ON's to WARN_ON's in mballoc.c
      fs/ext4/mballoc.c
    xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status
    objtool: Support Clang non-section symbols in ORC dump
    objtool: Fix CONFIG_UBSAN_TRAP unreachable warnings
    scsi: target: fix PR IN / READ FULL STATUS for FC
    xfs: fix partially uninitialized structure in xfs_reflink_remap_extent
    bpf, x86: Fix encoding for lower 8-bit registers in BPF_STX BPF_B
  * perf/core: fix parent pid/tid in task exit events
      kernel/events/core.c
    net/cxgb4: Check the return from t4_query_params properly
    nfsd: memory corruption in nfsd4_lock()
    usb: gadget: udc: bdc: Remove unnecessary NULL checks in bdc_req_complete
    mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer
  * fuse: fix possibly missed wake-up after abort
      fs/fuse/dev.c
    remoteproc: Fix wrong rvring index computation
  * usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset()
      drivers/usb/gadget/function/f_fs.c
    UAS: fix deadlock in error handling and PM flushing work
    UAS: no use logging any details in case of ENODEV
    staging: vt6656: Power save stop wake_up_count wrap around.
    staging: vt6656: Fix drivers TBTT timing counter.
    staging: comedi: Fix comedi_device refcnt leak in comedi_open
    staging: comedi: dt2815: fix writing hi byte of analog output
    ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y
  * ASoC: dapm: fixup dapm kcontrol widget
      sound/soc/soc-dapm.c
  * audit: check the length of userspace generated audit records
      kernel/audit.c
  * usb-storage: Add unusual_devs entry for JMicron JMS566
      drivers/usb/storage/unusual_devs.h
    tty: rocket, avoid OOB access
    tty: hvc: fix buffer overflow during hvc_alloc().
    KVM: VMX: Enable machine check support for 32bit targets
  * KVM: Check validity of resolved slot when searching memslots
      include/linux/kvm_host.h
    tpm/tpm_tis: Free IRQ if probing fails
  * ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices
      sound/usb/format.c
  * ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif
      sound/usb/mixer_quirks.c
    ALSA: usx2y: Fix potential NULL dereference
  * vmalloc: fix remap_vmalloc_range() bounds checks
      include/linux/vmalloc.h
      mm/vmalloc.c
  * overflow.h: Add arithmetic shift helper
      include/linux/overflow.h
  * USB: hub: Fix handling of connect changes during sleep
      drivers/usb/core/hub.c
  * USB: core: Fix free-while-in-use bug in the USB S-Glibrary
      drivers/usb/core/message.c
  * USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE
      drivers/usb/core/quirks.c
    USB: sisusbvga: Change port variable from signed to unsigned
  * fs/namespace.c: fix mountpoint reference counter race
      fs/namespace.c
    iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode
    iio: xilinx-xadc: Fix clearing interrupt when enabling trigger
    iio: xilinx-xadc: Fix ADC-B powerdown
    ALSA: hda: Remove ASUS ROG Zenith from the blacklist
  * xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish
      net/ipv4/xfrm4_output.c
      net/ipv6/xfrm6_output.c
    net: dsa: b53: Fix ARL register definitions
    team: fix hang in team_mode_get()
  * tcp: cache line align MAX_TCP_HEADER
      include/net/tcp.h
    net/x25: Fix x25_neigh refcnt leak when receiving frame
    net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node
    macvlan: fix null dereference in macvlan_device_event()
    macsec: avoid to set wrong mtu
  * ipv6: fix restrict IPV6_ADDRFORM operation
      net/ipv6/ipv6_sockglue.c
    PCI/ASPM: Allow re-enabling Clock PM
    pwm: bcm2835: Dynamically allocate base
    pwm: renesas-tpu: Fix late Runtime PM enablement
    s390/cio: avoid duplicated 'ADD' uevents
    ipc/util.c: sysvipc_find_ipc() should increase position index
    kernel/gcov/fs.c: gcov_seq_next() should increase position index
    ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map()
    scsi: iscsi: Report unbind session event when the target has been removed
    pwm: rcar: Fix late Runtime PM enablement
    ceph: don't skip updating wanted caps when cap is stale
    ceph: return ceph_mdsc_do_request() errors from __get_parent()
    scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login
  * watchdog: reset last_hw_keepalive time at start
      drivers/watchdog/watchdog_dev.c
  * vti4: removed duplicate log message.
      net/ipv4/ip_vti.c
    crypto: mxs-dcp - make symbols 'sha1_null_hash' and 'sha256_null_hash' static
  * drm/msm: Use the correct dma_sync calls harder
      drivers/gpu/drm/msm/msm_gem.c
  * net: ipv4: avoid unused variable warning for sysctl
      net/ipv4/route.c
  * net: ipv4: emulate READ_ONCE() on ->hdrincl bit-field in raw_sendmsg()
      net/ipv4/raw.c
  * ext4: fix extent_status fragmentation for plain files
      fs/ext4/extents.c
  * UPSTREAM: loop: Only freeze block queue when needed.
      drivers/block/loop.c
  * UPSTREAM: loop: Only change blocksize when needed.
      drivers/block/loop.c
  * BACKPORT: loop: change queue block size to match when using DIO
      drivers/block/loop.c
    Merge 4.9.220 into android-4.9-q
Linux 4.9.220
    x86/vdso: Fix lsl operand order
    x86/microcode/intel: replace sync_core() with native_cpuid_reg(eax)
    x86/CPU: Add native CPUID variants returning a single datum
    mtd: phram: fix a double free issue in error path
    mtd: lpddr: Fix a double free in probe()
    locktorture: Print ratio of acquisitions, not failures
    tty: evh_bytechan: Fix out of bounds accesses
  * fbdev: potential information leak in do_fb_ioctl()
      drivers/video/fbdev/core/fbmem.c
    iommu/amd: Fix the configuration of GCR3 table root pointer
    libnvdimm: Out of bounds read in __nd_ioctl()
    ext2: fix debug reference to ext2_xattr_cache
    ext2: fix empty body warnings when -Wextra is used
    NFS: Fix memory leaks in nfs_pageio_stop_mirroring()
    KVM: s390: vsie: Fix possible race when shadowing region 3 tables
  * compiler.h: fix error in BUILD_BUG_ON() reporting
      include/linux/compiler.h
  * percpu_counter: fix a data race at vm_committed_as
      include/linux/percpu_counter.h
  * ext4: do not commit super on read-only bdev
      fs/ext4/super.c
    powerpc/maple: Fix declaration made after definition
    s390/cpuinfo: fix wrong output when CPU0 is offline
    NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails
    clk: tegra: Fix Tegra PMC clock out parents
    power: supply: bq27xxx_battery: Silence deferred-probe error
    clk: at91: usb: continue if clk_hw_round_rate() return zero
    of: unittest: kmemleak in of_unittest_platform_populate()
  * arm64: cpu_errata: include required headers
      arch/arm64/kernel/cpu_errata.c
  * of: fix missing kobject init for !SYSFS && OF_DYNAMIC config
      drivers/of/base.c
    soc: qcom: smem: Use le32_to_cpu for comparison
    wil6210: fix length check in __wmi_send
    rtc: pm8xxx: Fix issue in RTC write path
    wil6210: rate limit wil_rx_refill error
  * scsi: ufs: ufs-qcom: remove broken hci version quirk
      drivers/scsi/ufs/ufs-qcom.c
  * scsi: ufs: make sure all interrupts are processed
      drivers/scsi/ufs/ufshcd.c
    wil6210: fix temperature debugfs
    wil6210: increase firmware ready timeout
  * Revert "gpio: set up initial state from .get_direction()"
      drivers/gpio/gpiolib.c
  * drm: NULL pointer dereference [null-pointer-deref] (CWE 476) problem
      drivers/gpu/drm/drm_dp_mst_topology.c
    video: fbdev: sis: Remove unnecessary parentheses and commented code
    ALSA: hda: Don't release card at firmware loading error
  * scsi: sg: add sg_remove_request in sg_common_write
      drivers/scsi/sg.c
    objtool: Fix switch table detection in .text.unlikely
  * tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
      kernel/trace/trace_events_trigger.c
    scsi: target: fix hang when multiple threads try to destroy the same iscsi session
    scsi: target: remove boilerplate code
    kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD
    dm flakey: check for null arg_name in parse_features()
  * ext4: do not zeroout extents beyond i_disksize
      fs/ext4/extents.c
    mac80211_hwsim: Use kstrndup() in place of kasprintf()
    btrfs: check commit root generation in should_ignore_root
  * ALSA: usb-audio: Don't override ignore_ctl_error value from the map
      sound/usb/mixer.c
    ASoC: Intel: mrfld: return error codes when an error occurs
    ASoC: Intel: mrfld: fix incorrect check on p->sink
  * ext4: fix incorrect inodes per group in error message
      fs/ext4/super.c
  * ext4: fix incorrect group count in ext4_fill_super error message
      fs/ext4/super.c
  * jbd2: improve comments about freeing data buffers whose page mapping is NULL
      fs/jbd2/commit.c
  * scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
      drivers/scsi/ufs/ufshcd.c
  * net: ipv6: do not consider routes via gateways for anycast address check
      include/net/ip6_route.h
    net: qrtr: send msgs from local of same id as broadcast
  * net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
      net/ipv4/devinet.c
    hsr: check protocol version in hsr_newlink()
    mfd: dln2: Fix sanity checking for endpoints
    misc: echo: Remove unnecessary parentheses and simplify check for zero
    powerpc/fsl_booke: Avoid creating duplicate tlb1 entry
    ipmi: fix hung processes in __get_guid()
  * drm: Remove PageReserved manipulation from drm_pci_alloc
      drivers/gpu/drm/drm_pci.c
  * drm/dp_mst: Fix clearing payload state on topology disable
      drivers/gpu/drm/drm_dp_mst_topology.c
    Btrfs: fix crash during unmount due to race with delayed inode workers
    powerpc/64/tm: Don't let userspace set regs->trap via sigreturn
    libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set
    hfsplus: fix crash and filesystem corruption when deleting files
    cpufreq: powernv: Fix use-after-free
  * kmod: make request_module() return an error when autoloading is disabled
      kernel/kmod.c
    Input: i8042 - add Acer Aspire 5738z to nomux list
    s390/diag: fix display of diagnose call statistics
    ocfs2: no need try to truncate file beyond i_size
  * ext4: fix a data race at inode->i_blocks
      fs/ext4/inode.c
    rtc: omap: Use define directive for PIN_CONFIG_ACTIVE_HIGH
  * arm64: armv8_deprecated: Fix undef_hook mask for thumb setend
      arch/arm64/kernel/armv8_deprecated.c
    scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point
  * dm verity fec: fix memory leak in verity_fec_dtr
      drivers/md/dm-verity-fec.c
  * mm: Use fixed constant in page_frag_alloc instead of size + 1
      mm/page_alloc.c
    tools: gpio: Fix out-of-tree build regression
  * x86/speculation: Remove redundant arch_smt_update() invocation
      kernel/cpu.c
    ALSA: hda: Initialize power_state field properly
    crypto: mxs-dcp - fix scatterlist linearization for hash
    btrfs: drop block from cache on error in relocation
    KVM: VMX: fix crash cleanup when KVM wasn't used
    KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support
    KVM: x86: Allocate new rmap and large page tracking when moving memslot
    KVM: s390: vsie: Fix delivery of addressing exceptions
    KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
    x86/entry/32: Add missing ASM_CLAC to general_protection entry
  * signal: Extend exec_id to 64bits
      fs/exec.c
      include/linux/sched.h
      kernel/signal.c
    ath9k: Handle txpower changes even when TPC is disabled
    MIPS: OCTEON: irq: Fix potential NULL pointer dereference
    irqchip/versatile-fpga: Apply clear-mask earlier
  * KEYS: reaching the keys quotas correctly
      security/keys/key.c
      security/keys/keyctl.c
  * thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
      include/linux/devfreq_cooling.h
    acpi/x86: ignore unspecified bit positions in the ACPI global lock field
    media: ti-vpe: cal: fix disable_irqs to only the intended target
    ALSA: pcm: oss: Fix regression by buffer overflow fix
    ALSA: ice1724: Fix invalid access for enumerated ctl items
    ALSA: hda: Fix potential access overflow in beep helper
    ALSA: hda: Add driver blacklist
  * ALSA: usb-audio: Add mixer workaround for TRX40 and co
      sound/usb/mixer_maps.c
  * usb: gadget: composite: Inform controller driver of self-powered
      drivers/usb/gadget/composite.c
  * usb: gadget: f_fs: Fix use after free issue as part of queue failure
      drivers/usb/gadget/function/f_fs.c
    ASoC: topology: use name_prefix for new kcontrol
  * ASoC: dpcm: allow start or stop during pause for backend
      sound/soc/soc-pcm.c
  * ASoC: dapm: connect virtual mux with default value
      sound/soc/soc-dapm.c
  * ASoC: fix regwmask
      sound/soc/soc-ops.c
    misc: rtsx: set correct pcr_ops for rts522A
    btrfs: track reloc roots based on their commit root bytenr
    btrfs: remove a BUG_ON() from merge_reloc_roots()
    locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps()
    x86/boot: Use unsigned comparison for addresses
    gfs2: Don't demote a glock until its revokes are written
    libata: Remove extra scsi_host_put() in ata_scsi_add_hosts()
    selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
  * sched: Avoid scale real weight down to zero
      kernel/sched/sched.h
    irqchip/versatile-fpga: Handle chained IRQs properly
    i2c: st: fix missing struct parameter description
    qlcnic: Fix bad kzalloc null test
    net: vxge: fix wrong __VA_ARGS__ usage
    bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads

Change-Id: I8e3db9ae637c39f066fe40e5fd6c38be92390f19
Signed-off-by: lucaswei <lucaswei@google.com>
2020-06-01 11:03:38 +08:00
lucaswei
b647e7a00f Merge android-4.9-q (4.9.219) into android-msm-pixel-4.9-lts
Merge 4.9.219 into android-4.9-q
Linux 4.9.219
  * drm/msm: Use the correct dma_sync calls in msm_gem
      drivers/gpu/drm/msm/msm_gem.c
  * drm_dp_mst_topology: fix broken drm_dp_sideband_parse_remote_dpcd_read()
      drivers/gpu/drm/drm_dp_mst_topology.c
  * usb: dwc3: don't set gadget->is_otg flag
      drivers/usb/dwc3/gadget.c
  * arm64: Fix size of __early_cpu_boot_status
      arch/arm64/kernel/head.S
  * drm/msm: stop abusing dma_map/unmap for cache
      drivers/gpu/drm/msm/msm_gem.c
  * clk: qcom: rcg: Return failure for RCG update
      drivers/clk/qcom/clk-rcg2.c
    RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow
    Bluetooth: RFCOMM: fix ODEBUG bug in rfcomm_dev_ioctl
    ceph: canonicalize server path in place
    ceph: remove the extra slashes in the server path
    IB/hfi1: Fix memory leaks in sysfs registration and unregistration
    IB/hfi1: Call kobject_put() when kobject_init_and_add() fails
    ASoC: jz4740-i2s: Fix divider written at incorrect offset in register
    tools/accounting/getdelays.c: fix netlink attribute length
  * random: always use batched entropy for get_random_u{32,64}
      drivers/char/random.c
    net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers
    slcan: Don't transmit uninitialized stack data in padding
    net: stmmac: dwmac1000: fix out-of-bounds mac address reg setting
    net: dsa: bcm_sf2: Ensure correct sub-node is parsed
    mm: mempolicy: require at least one nodeid for MPOL_PREFERRED
    padata: always acquire cpu_hotplug_lock before pinst->lock
    net: dsa: tag_brcm: Fix skb->fwd_offload_mark location
  * coresight: do not use the BIT() macro in the UAPI header
      include/uapi/linux/coresight-stm.h
  * blk-mq: Allow blocking queue tag iter callbacks
      block/blk-mq-tag.c
  * blk-mq: sync the update nr_hw_queues with blk_mq_queue_tag_busy_iter
      block/blk-mq-tag.c
      block/blk-mq.c
    drm/etnaviv: replace MMU flush marker with flush sequence
    sctp: fix possibly using a bad saddr with a given dst
    sctp: fix refcount bug in sctp_wfree
  * net, ip_tunnel: fix interface lookup with no key
      net/ipv4/ip_tunnel.c
  * ipv4: fix a RCU-list lock in fib_triestat_seq_show
      net/ipv4/fib_trie.c
    drm/bochs: downgrade pci_request_region failure from error to warning
  * l2tp: fix race between l2tp_session_delete() and l2tp_tunnel_closeall()
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
  * l2tp: ensure sessions are freed after their PPPOL2TP socket
      net/l2tp/l2tp_ppp.c
    ANDROID: cuttlefish_defconfig: Minimally enable EFI
    Merge 4.9.218 into android-4.9-q
Linux 4.9.218
    perf map: Fix off by one in strncpy() size argument
  * arm64: alternative: fix build with clang integrated assembler
      arch/arm64/include/asm/alternative.h
    net: ks8851-ml: Fix IO operations, again
  * bpf: Explicitly memset the bpf_attr structure
      kernel/bpf/syscall.c
  * vt: vt_ioctl: fix use-after-free in vt_in_use()
      drivers/tty/vt/vt_ioctl.c
  * locking/atomic, kref: Add kref_read()
      include/linux/kref.h
  * vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
      drivers/tty/vt/vt.c
      drivers/tty/vt/vt_ioctl.c
  * vt: vt_ioctl: remove unnecessary console allocation checks
      drivers/tty/vt/vt_ioctl.c
  * vt: switch vt_dont_switch to bool
      drivers/tty/vt/vt_ioctl.c
      include/linux/vt_kern.h
  * vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
      drivers/tty/vt/vt_ioctl.c
  * vt: selection, introduce vc_is_sel
      drivers/tty/vt/selection.c
      drivers/tty/vt/vt.c
      drivers/tty/vt/vt_ioctl.c
      include/linux/selection.h
    mac80211: fix authentication with iwlwifi/mvm
    mac80211: Check port authorization in the ieee80211_tx_dequeue() case
    media: xirlink_cit: add missing descriptor sanity checks
    media: stv06xx: add missing descriptor sanity checks
    media: dib0700: fix rc endpoint lookup
    media: ov519: add missing endpoint sanity checks
  * libfs: fix infoleak in simple_attr_read()
      fs/libfs.c
    staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
    staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
    staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
    media: usbtv: fix control-message timeouts
    media: flexcop-usb: fix endpoint sanity check
    usb: musb: fix crash with highmen PIO and usbmon
    USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
    USB: cdc-acm: restore capability check order
    USB: serial: option: add Wistron Neweb D19Q1
    USB: serial: option: add BroadMobi BM806U
    USB: serial: option: add support for ASKEY WWHC050
    tools: Let O= makes handle a relative path with -C option
    Input: raydium_i2c_ts - fix error codes in raydium_i2c_boot_trigger()
    Input: raydium_i2c_ts - use true and false for boolean values
  * vti6: Fix memory leak of skb if input policy check fails
      net/ipv6/ip6_vti.c
    netfilter: nft_fwd_netdev: validate family and chain type
  * xfrm: policy: Fix doulbe free in xfrm_policy_timer
      net/xfrm/xfrm_policy.c
  * xfrm: add the missing verify_sec_ctx_len check in xfrm_add_acquire
      net/xfrm/xfrm_user.c
  * xfrm: fix uctx len check in verify_sec_ctx_len
      net/xfrm/xfrm_user.c
  * vti[6]: fix packet tx through bpf_redirect() in XinY cases
      net/ipv4/Kconfig
      net/ipv4/ip_vti.c
      net/ipv6/ip6_vti.c
  * genirq: Fix reference leaks on irq affinity notifiers
      kernel/irq/manage.c
    mac80211: mark station unauthorized before key removal
  * scsi: sd: Fix optimal I/O size for devices that change reported values
      drivers/scsi/sd.c
    scripts/dtc: Remove redundant YYLOC global declaration
    perf probe: Do not depend on dwfl_module_addrsym()
    ARM: dts: omap5: Add bus_dma_limit for L3 bus
    ARM: dts: dra7: Add bus_dma_limit for L3 bus
    i2c: hix5hd2: add missed clk_disable_unprepare in remove
    sxgbe: Fix off by one in samsung driver strncpy size arg
    mac80211: Do not send mesh HWMP PREQ if HWMP is disabled
    scsi: ipr: Fix softlockup when rescanning devices in petitboot
    dt-bindings: net: FMan erratum A050385
    cpupower: avoid multiple definition with gcc -fno-common
  * net: ipv4: don't let PMTU updates increase route MTU
      net/ipv4/route.c
    KVM: VMX: Do not allow reexecute_instruction() when skipping MMIO instr
    hsr: set .netnsok flag
    hsr: add restart routine into hsr_get_node_list()
    hsr: use rcu_read_lock() in hsr_get_node_{list/status}()
    net: mvneta: Fix the case where the last poll did not process all rx
    vxlan: check return value of gro_cells_init()
    slcan: not call free_netdev before rtnl_unlock in slcan_open
    NFC: fdp: Fix a signedness bug in fdp_nci_send_patch()
    net_sched: keep alloc_hash updated after hash allocation
    net_sched: cls_route: remove the right filter from hashtable
    net: dsa: Fix duplicate frames flooded by learning
    macsec: restrict to ethernet devices
    hsr: fix general protection fault in hsr_addr_is_self()
  * Revert "drm/dp_mst: Skip validating ports during destruction, just ref"
      drivers/gpu/drm/drm_dp_mst_topology.c
    staging: greybus: loopback_test: fix potential path truncations
    staging: greybus: loopback_test: fix potential path truncation
  * arm64: smp: fix smp_send_stop() behaviour
      arch/arm64/kernel/smp.c
    ALSA: hda/realtek: Fix pop noise on ALC225
  * futex: Unbreak futex hashing
      kernel/futex.c
  * futex: Fix inode life-time issue
      fs/inode.c
      include/linux/fs.h
      include/linux/futex.h
      kernel/futex.c
  * kbuild: Disable -Wpointer-to-enum-cast
      scripts/Makefile.extrawarn
    USB: cdc-acm: fix rounding error in TIOCSSERIAL
    USB: cdc-acm: fix close_delay and closing_wait units in TIOCSSERIAL
  * x86/mm: split vmalloc_sync_all()
      include/linux/vmalloc.h
      kernel/notifier.c
      mm/vmalloc.c
  * mm, slub: prevent kmalloc_node crashes and memory leaks
      mm/slub.c
  * mm: slub: be more careful about the double cmpxchg of freelist
      mm/slub.c
  * memcg: fix NULL pointer dereference in __mem_cgroup_usage_unregister_event
      mm/memcontrol.c
  * rtc: max8907: add missing select REGMAP_IRQ
      drivers/rtc/Kconfig
    intel_th: Fix user-visible error codes
    staging/speakup: fix get_word non-space look-ahead
    staging: rtl8188eu: Add device id for MERCUSYS MW150US v2
    mmc: sdhci-of-at91: fix cd-gpios for SAMA5D2
    iio: magnetometer: ak8974: Fix negative raw values in sysfs
    ALSA: pcm: oss: Remove WARNING from snd_pcm_plug_alloc() checks
    ALSA: pcm: oss: Avoid plugin buffer overflow
    ALSA: seq: oss: Fix running status after receiving sysex
    ALSA: seq: virmidi: Fix running status after receiving sysex
    ALSA: line6: Fix endless MIDI read loop
    USB: serial: pl2303: add device-id for HP LD381
  * usb: host: xhci-plat: add a shutdown
      drivers/usb/host/xhci-plat.c
    USB: serial: option: add ME910G1 ECM composition 0x110b
  * usb: quirks: add NO_LPM quirk for RTL8153 based ethernet adapters
      drivers/usb/core/quirks.c
  * USB: Disable LPM on WD19's Realtek Hub
      drivers/usb/core/quirks.c
    altera-stapl: altera_get_note: prevent write beyond end of 'key'
    drm/exynos: dsi: fix workaround for the legacy clock name
    drm/exynos: dsi: propagate error value and silence meaningless warning
    spi/zynqmp: remove entry that causes a cs glitch
    ARM: dts: dra7: Add "dma-ranges" property to PCIe RC DT nodes
    powerpc: Include .BTF section
  * spi: qup: call spi_qup_pm_resume_runtime before suspending
      drivers/spi/spi-qup.c
  * UPSTREAM: ipv6: ndisc: add support for 'PREF64' dns64 prefix identifier
      include/net/ndisc.h
      net/ipv6/ndisc.c
    ANDROID: dm-bow: Fix free_show value is incorrect
  * UPSTREAM: bpf: Explicitly memset the bpf_attr structure
      kernel/bpf/syscall.c
    Merge 4.9.217 into android-4.9-q
Linux 4.9.217
  * ipv4: ensure rcu_read_lock() in cipso_v4_error()
      net/ipv4/cipso_ipv4.c
  * mm: slub: add missing TID bump in kmem_cache_alloc_bulk()
      mm/slub.c
    ARM: 8958/1: rename missed uaccess .fixup section
    ARM: 8957/1: VDSO: Match ARMv8 timer in cntvct_functional()
  * jbd2: fix data races at struct journal_head
      fs/jbd2/transaction.c
  * signal: avoid double atomic counter increments for user accounting
      kernel/signal.c
    mac80211: rx: avoid RCU list traversal under mutex
    net: ks8851-ml: Fix IRQ handling and locking
  * cfg80211: check reg_rule for NULL in handle_channel_custom()
      net/wireless/reg.c
    HID: i2c-hid: add Trekstor Surfbook E11B to descriptor override
  * HID: apple: Add support for recent firmware on Magic Keyboards
      drivers/hid/hid-apple.c
    ACPI: watchdog: Allow disabling WDAT at boot
    perf/amd/uncore: Replace manual sampling check with CAP_NO_INTERRUPT flag
    batman-adv: Use explicit tvlv padding for ELP packets
    batman-adv: Avoid probe ELP information leak
    batman-adv: update data pointers after skb_cow()
    batman-adv: Don't schedule OGM for disabled interface
    batman-adv: Avoid free/alloc race when handling OGM buffer
    batman-adv: Avoid free/alloc race when handling OGM2 buffer
    batman-adv: Fix duplicated OGMs on NETDEV_UP
    batman-adv: Prevent duplicated gateway_node entry
    batman-adv: Fix multicast TT issues with bogus ROAM flags
    batman-adv: Avoid storing non-TT-sync flags on singular entries too
    batman-adv: Fix debugfs path for renamed softif
    batman-adv: Fix debugfs path for renamed hardif
    batman-adv: prevent TT request storms by not sending inconsistent TT TLVLs
    batman-adv: Fix TT sync flags for intermediate TT responses
    batman-adv: Avoid race in TT TVLV allocator helper
    batman-adv: Fix internal interface indices types
    batman-adv: Fix lock for ogm cnt access in batadv_iv_ogm_calc_tq
    batman-adv: Fix check of retrieved orig_gw in batadv_v_gw_is_eligible
    batman-adv: Always initialize fragment header priority
    batman-adv: Avoid spurious warnings from bat_v neigh_cmp implementation
    batman-adv: fix TT sync flag inconsistencies
    batman-adv: Accept only filled wifi station info
    batman-adv: Use default throughput value on cfg80211 error
    batman-adv: Fix rx packet/bytes stats on local ARP reply
    batman-adv: Initialize gw sel_class via batadv_algo
    batman-adv: Fix transmission of final, 16th fragment
    batman-adv: Fix double free during fragment merge error
    efi: Add a sanity check to efivar_store_raw()
  * ipv6: restrict IPV6_ADDRFORM operation
      net/ipv6/ipv6_sockglue.c
    iommu/vt-d: Ignore devices with out-of-spec domain number
    iommu/vt-d: Fix the wrong printing in RHSA parsing
    mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame()
    netfilter: cthelper: add missing attribute validation for cthelper
  * nl80211: add missing attribute validation for channel switch
      net/wireless/nl80211.c
  * nl80211: add missing attribute validation for beacon report scanning
      net/wireless/nl80211.c
  * nl80211: add missing attribute validation for critical protocol indication
      net/wireless/nl80211.c
    iommu/vt-d: Fix a bug in intel_iommu_iova_to_phys() for huge page
    iommu/vt-d: dmar: replace WARN_TAINT with pr_warn + add_taint
    efi: Fix a race and a buffer overflow while reading efivars via sysfs
    ARC: define __ALIGN_STR and __ALIGN symbols for ARC
    KVM: x86: clear stale x86_emulate_ctxt->intercept value
    gfs2_atomic_open(): fix O_EXCL|O_CREAT handling on cold dcache
  * cifs_atomic_open(): fix double-put on late allocation failure
      fs/open.c
    drm/amd/display: remove duplicated assignment to grph_obj_type
  * workqueue: don't use wq_select_unbound_cpu() for bound works
      kernel/workqueue.c
    iommu/vt-d: quirk_ioat_snb_local_iommu: replace WARN_TAINT with pr_warn + add_taint
    virtio-blk: fix hw_queue stopped on arbitrary error
  * net: phy: fix MDIO bus PM PHY resuming
      drivers/net/phy/phy_device.c
      include/linux/phy.h
  * cgroup: memcg: net: do not associate sock with unrelated cgroup
      kernel/cgroup.c
      mm/memcontrol.c
  * bonding/alb: make sure arp header is pulled before accessing it
      drivers/net/bonding/bond_alb.c
  * slip: make slhc_compress() more robust against malicious packets
      drivers/net/slip/slhc.c
    net: fec: validate the new settings in fec_enet_set_coalesce()
    macvlan: add cond_resched() during multicast processing
    ipvlan: don't deref eth hdr before checking it's set
    ipvlan: do not use cond_resched_rcu() in ipvlan_process_multicast()
    ipvlan: egress mcast packets are not exceptional
    ipvlan: do not add hardware address of master to its unicast filter list
    ipvlan: add cond_resched_rcu() while processing muticast backlog
    nfc: add missing attribute validation for vendor subcommand
    nfc: add missing attribute validation for SE API
    team: add missing attribute validation for array index
    team: add missing attribute validation for port ifindex
    net: fq: add missing attribute validation for orphan mask
    macsec: add missing attribute validation for port
    nl802154: add missing attribute validation for dev_type
    nl802154: add missing attribute validation
  * fib: add missing attribute validation for tun_id
      include/net/fib_rules.h
    bnxt_en: reinitialize IRQs when MTU is modified
  * r8152: check disconnect status after long sleep
      drivers/net/usb/r8152.c
    net: nfc: fix bounds checking bugs on "pipe"
    net: macsec: update SCI upon MAC address change.
  * ipv6/addrconf: call ipv6_mc_up() for non-Ethernet interface
      net/ipv6/addrconf.c
    gre: fix uninit-value in __iptunnel_pull_header
    cgroup, netclassid: periodically release file_lock on classid updating
  * net: phy: Avoid multiple suspends
      drivers/net/phy/phy_device.c
  * phy: Revert toggling reset changes.
      drivers/net/phy/phy_device.c
    NFS: Remove superfluous kmap in nfs_readdir_xdr_to_array
    Merge 4.9.216 into android-4.9-q
Linux 4.9.216
    crypto: algif_skcipher - use ZERO_OR_NULL_PTR in skcipher_recvmsg_async
    dm cache: fix a crash due to incorrect work item cancelling
    powerpc: fix hardware PMU exception bug on PowerVM compatibility mode systems
    dmaengine: coh901318: Fix a double lock bug in dma_tc_handle()
    hwmon: (adt7462) Fix an error return in ADT7462_REG_VOLT()
    ARM: imx: build v7_cpu_resume() unconditionally
    RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen()
    RDMA/iwcm: Fix iwcm work deallocation
  * ASoC: dapm: Correct DAPM handling of active widgets during shutdown
      sound/soc/soc-dapm.c
    ASoC: pcm512x: Fix unbalanced regulator enable call in probe error path
  * ASoC: pcm: Fix possible buffer overflow in dpcm state sysfs output
      sound/soc/soc-pcm.c
    ARM: dts: ls1021a: Restore MDIO compatible to gianfar
    dmaengine: tegra-apb: Prevent race conditions of tasklet vs free list
    dmaengine: tegra-apb: Fix use-after-free
    x86/pkeys: Manually set X86_FEATURE_OSPKE to preserve existing changes
  * vt: selection, push sel_lock up
      drivers/tty/vt/selection.c
  * vt: selection, push console lock down
      drivers/tty/vt/selection.c
      drivers/tty/vt/vt.c
  * vt: selection, close sel_buffer race
      drivers/tty/vt/selection.c
    tty:serial:mvebu-uart:fix a wrong return
  * fat: fix uninit-memory access for partial initialized inode
      fs/fat/inode.c
    vgacon: Fix a UAF in vgacon_invert_region
  * usb: core: port: do error out if usb_autopm_get_interface() fails
      drivers/usb/core/port.c
  * usb: core: hub: do error out if usb_autopm_get_interface() fails
      drivers/usb/core/hub.c
  * usb: quirks: add NO_LPM quirk for Logitech Screen Share
      drivers/usb/core/quirks.c
  * usb: storage: Add quirk for Samsung Fit flash
      drivers/usb/storage/unusual_devs.h
    cifs: don't leak -EAGAIN for stat() during reconnect
    s390/cio: cio_ignore_proc_seq_next should increase position index
    watchdog: da9062: do not ping the hw during stop()
    net: ks8851-ml: Fix 16-bit IO operation
    net: ks8851-ml: Fix 16-bit data access
    net: ks8851-ml: Remove 8-bit bus accessors
    drm/msm/dsi: save pll state before dsi host is powered off
    drm: msm: Fix return type of dsi_mgr_connector_mode_valid for kCFI
    usb: gadget: serial: fix Tx stall after buffer overflow
  * usb: gadget: ffs: ffs_aio_cancel(): Save/restore IRQ flags
      drivers/usb/gadget/function/f_fs.c
  * usb: gadget: composite: Support more than 500mA MaxPower
      drivers/usb/gadget/composite.c
    serial: ar933x_uart: set UART_CS_{RX,TX}_READY_ORIDE
    vhost: Check docket sk_family instead of call getname
  * audit: always check the netlink payload length in audit_receive_msg()
      kernel/audit.c
    mm/huge_memory.c: use head to check huge zero page
    perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc
    drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()'
  * tuntap: correctly set SOCKWQ_ASYNC_NOSPACE
      drivers/net/tun.c
    slip: stop double free sl->dev in slip_open
    KVM: Check for a bad hva before dropping into the ghc slow path
  * namei: only return -ECHILD from follow_dotdot_rcu()
      fs/namei.c
    net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE
  * net: netlink: cap max groups which will be considered in netlink_bind()
      net/netlink/af_netlink.c
  * include/linux/bitops.h: introduce BITS_PER_TYPE
      include/linux/bitops.h
    serial: 8250: Check UPF_IRQ_SHARED in advance
  * ecryptfs: Fix up bad backport of fe2e082f5da5b4a0a92ae32978f81507ef37ec66
      fs/ecryptfs/keystore.c
    i2c: jz4780: silence log flood on txabrt
    MIPS: VPE: Fix a double free and a memory leak in 'release_vpe()'
  * HID: hiddev: Fix race in in hiddev_disconnect()
      drivers/hid/usbhid/hiddev.c
  * HID: core: increase HID report buffer size to 8KiB
      include/linux/hid.h
  * HID: core: fix off-by-one memset in hid_report_raw_event()
      drivers/hid/hid-core.c
    ACPI: watchdog: Fix gas->access_width usage
  * ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro
      include/acpi/actypes.h
  * audit: fix error handling in audit_data_to_entry()
      kernel/auditfilter.c
  * ext4: potential crash on allocation error in ext4_alloc_flex_bg_array()
      fs/ext4/super.c
  * net: sched: correct flower port blocking
      include/net/flow_dissector.h
    nfc: pn544: Fix occasional HW initialization failure
    sctp: move the format error check out of __sctp_sf_do_9_1_abort
  * ipv6: Fix route replacement with dev-only route
      net/ipv6/ip6_fib.c
  * ipv6: Fix nlmsg_flags when splitting a multipath route
      net/ipv6/route.c
    net: phy: restore mdio regs in the iproc mdio driver
  * net: fib_rules: Correctly set table field when table number exceeds 8 bits
      net/core/fib_rules.c
  * sysrq: Remove duplicated sysrq message
      drivers/tty/sysrq.c
  * sysrq: Restore original console_loglevel when sysrq disabled
      drivers/tty/sysrq.c
  * cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE
      net/wireless/nl80211.c
    cifs: Fix mode output in debugging statements
    net: ena: ena-com.c: prevent NULL pointer dereference
    net: ena: fix incorrectly saving queue numbers when setting RSS indirection table
    net: ena: rss: store hash function as values and not bits
    net: ena: rss: fix failure to get indirection table
    net: ena: fix incorrect default RSS key
    net: ena: add missing ethtool TX timestamping indication
    net: ena: fix potential crash when rxfh key is NULL
    qmi_wwan: re-add DW5821e pre-production variant
  * cfg80211: check wiphy driver existence for drvinfo report
      net/wireless/ethtool.c
    mac80211: consider more elements in parsing CRC
  * drm/msm: Set dma maximum segment size for mdss
      drivers/gpu/drm/msm/msm_drv.c
    ipmi:ssif: Handle a possible NULL pointer reference
  * ext4: fix potential race between s_group_info online resizing and access
      fs/ext4/ext4.h
      fs/ext4/mballoc.c
  * ext4: fix potential race between s_flex_groups online resizing and access
      fs/ext4/ext4.h
      fs/ext4/ialloc.c
      fs/ext4/mballoc.c
      fs/ext4/resize.c
      fs/ext4/super.c
  * ext4: fix potential race between online resizing and write operations
      fs/ext4/balloc.c
      fs/ext4/ext4.h
      fs/ext4/resize.c
      fs/ext4/super.c
    iwlwifi: pcie: fix rb_allocator workqueue allocation
  * FROMLIST: HID: nintendo: add nintendo switch controller driver
      drivers/hid/Kconfig
      drivers/hid/Makefile
      drivers/hid/hid-core.c
      drivers/hid/hid-ids.h
      drivers/hid/hid-nintendo.c
    Merge 4.9.215 into android-4.9-q
  * UPSTREAM: sched/psi: Fix OOB write when writing 0 bytes to PSI files
      kernel/sched/psi.c
  * UPSTREAM: psi: Fix a division error in psi poll()
      kernel/sched/psi.c
  * UPSTREAM: sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime
      kernel/sched/psi.c
  * UPSTREAM: sched/psi: Correct overly pessimistic size calculation
      kernel/sched/psi.c
Linux 4.9.215
    s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range
    xen: Enable interrupts when calling _cond_resched()
    ata: ahci: Add shutdown to freeze hardware resources of ahci
  * netfilter: xt_hashlimit: limit the max size of hashtable
      net/netfilter/xt_hashlimit.c
    ALSA: seq: Fix concurrent access to queue current tick/time
    ALSA: seq: Avoid concurrent access to queue flags
  * ALSA: rawmidi: Avoid bit fields for state flags
      include/sound/rawmidi.h
  * ecryptfs: replace BUG_ON with error handling code
      fs/ecryptfs/crypto.c
    staging: greybus: use after free in gb_audio_manager_remove_all()
  * usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus
      drivers/usb/gadget/composite.c
    scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"
    scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout"
    Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents
    KVM: apic: avoid calculating pending eoi from an uninitialized val
    KVM: nVMX: Check IO instruction VM-exit conditions
    KVM: nVMX: Refactor IO bitmap checks into helper function
  * ext4: fix race between writepages and enabling EXT4_EXTENTS_FL
      fs/ext4/ext4.h
      fs/ext4/migrate.c
  * ext4: rename s_journal_flag_rwsem to s_writepages_rwsem
      fs/ext4/ext4.h
      fs/ext4/inode.c
      fs/ext4/super.c
  * ext4: fix mount failure with quota configured as module
      fs/ext4/super.c
  * ext4: add cond_resched() to __ext4_find_entry()
      fs/ext4/namei.c
  * ext4: fix a data race in EXT4_I(inode)->i_disksize
      fs/ext4/ext4.h
      fs/ext4/inode.c
  * netfilter: xt_bpf: add overflow checks
      net/netfilter/xt_bpf.c
    KVM: nVMX: Don't emulate instructions in guest mode
    lib/stackdepot.c: fix global out-of-bounds in stack_slabs
  * vt: vt_ioctl: fix race in VT_RESIZEX
      drivers/tty/vt/vt_ioctl.c
  * VT_RESIZEX: get rid of field-by-field copyin
      drivers/tty/vt/vt_ioctl.c
    KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI
  * xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms
      drivers/usb/host/xhci-pci.c
    Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"
    tty: serial: imx: setup the correct sg entry for tx dma
    tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode
    x86/mce/amd: Fix kobject lifetime
    x86/mce/amd: Publish the bank pointer only after setup has succeeded
    staging: rtl8188eu: Fix potential overuse of kernel memory
    staging: rtl8188eu: Fix potential security hole
  * USB: hub: Don't record a connect-change event during reset-resume
      drivers/usb/core/hub.c
  * USB: Fix novation SourceControl XL after suspend
      drivers/usb/core/quirks.c
    usb: uas: fix a plug & unplug racing
  * xhci: Force Maximum Packet size for Full-speed bulk devices to valid range.
      drivers/usb/host/xhci-mem.c
    staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.
  * staging: android: ashmem: Disallow ashmem memory from being remapped
      drivers/staging/android/ashmem.c
  * vt: selection, handle pending signals in paste_selection
      drivers/tty/vt/selection.c
    floppy: check FDC index for errors before assigning it
    net/sched: flower: add missing validation of TCA_FLOWER_FLAGS
    net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS
    enic: prevent waking up stopped tx queues over watchdog reset
  * selinux: ensure we cleanup the internal AVC counters on error in avc_update()
      security/selinux/avc.c
    help_next should increase position index
  * brd: check and limit max_part par
      drivers/block/brd.c
    microblaze: Prevent the overflow of the start
    iwlwifi: mvm: Fix thermal zone registration
  * irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL
      drivers/irqchip/irq-gic-v3-its.c
    bcache: explicity type cast in bset_bkey_last()
    reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
  * lib/scatterlist.c: adjust indentation in __sg_alloc_table
      lib/scatterlist.c
    ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans()
    radeon: insert 10ms sleep in dce5_crtc_load_lut
  * trigger_next should increase position index
      kernel/trace/trace_events_trigger.c
    ftrace: fpid_next() should increase position index
    drm/nouveau/disp/nv50-: prevent oops when no channel method map provided
  * irqchip/gic-v3: Only provision redistributors that are enabled in ACPI
      drivers/irqchip/irq-gic-v3.c
    cifs: fix NULL dereference in match_prepath
    iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
    hostap: Adjust indentation in prism2_hostapd_add_sta
    ARM: 8951/1: Fix Kexec compilation issue.
  * jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record
      fs/jbd2/commit.c
    powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV
    ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
  * driver core: platform: fix u32 greater or equal to zero comparison
      drivers/base/platform.c
    s390/ftrace: generate traced function stack frame
    x86/decoder: Add TEST opcode to Group3-2
    remoteproc: Initialize rproc_class before use
    ide: serverworks: potential overflow in svwks_set_pio_mode()
    cmd64x: potential buffer overflow in cmd64x_program_timings()
    pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional
  * arm64: fix alternatives with LLVM's integrated assembler
      arch/arm64/include/asm/alternative.h
    scsi: iscsi: Don't destroy session if there are outstanding connections
    iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
    usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue
    drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add
    drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler
    drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw
    vme: bridges: reduce stack usage
  * driver core: Print device when resources present in really_probe()
      drivers/base/dd.c
  * driver core: platform: Prevent resouce overflow from causing infinite loops
      drivers/base/platform.c
    tty: synclink_gt: Adjust indentation in several functions
    tty: synclinkmp: Adjust indentation in several functions
  * ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m
      sound/soc/atmel/Kconfig
    wan: ixp4xx_hss: fix compile-testing on 64-bit
    Input: edt-ft5x06 - work around first register access error
  * rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls
      include/linux/list_nulls.h
      include/linux/rculist_nulls.h
    soc/tegra: fuse: Correct straps' address for older Tegra124 device trees
    udf: Fix free space reporting for metadata and virtual partitions
    usbip: Fix unsafe unaligned pointer usage
    tools lib api fs: Fix gcc9 stringop-truncation compilation error
    ALSA: sh: Fix compile warning wrt const
    RDMA/rxe: Fix error type of mmap_offset
    pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
  * PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency
      drivers/devfreq/Kconfig
      drivers/devfreq/event/Kconfig
    x86/vdso: Provide missing include file
    ARM: dts: r8a7779: Add device node for ARM global timer
    drm/mediatek: handle events when enabling/disabling crtc
    scsi: aic7xxx: Adjust indentation in ahc_find_syncrate
    ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
    orinoco: avoid assertion in case of NULL pointer
    rtlwifi: rtl_pci: Fix -Wcast-function-type
    iwlegacy: Fix -Wcast-function-type
    ipw2x00: Fix -Wcast-function-type
    b43legacy: Fix -Wcast-function-type
    ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status
    reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling
  * media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros
      include/media/v4l2-device.h
    NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu().
    PCI/IOV: Fix memory leak in pci_iov_add_virtfn()
    net/wan/fsl_ucc_hdlc: reject muram offsets above 64K
    regulator: rk808: Lower log level on optional GPIOs being not available
    drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table
  * clk: qcom: rcg2: Don't crash if our parent can't be found; return an error
      drivers/clk/qcom/clk-rcg2.c
  * kconfig: fix broken dependency in randconfig-generated .config
      scripts/kconfig/confdata.c
  * ext4, jbd2: ensure panic when aborting with zero errno
      fs/jbd2/checkpoint.c
      fs/jbd2/journal.c
  * tracing: Fix very unlikely race of registering two stat tracers
      kernel/trace/trace_stat.c
  * tracing: Fix tracing_stat return values in error handling paths
      kernel/trace/trace_stat.c
    x86/sysfb: Fix check for bad VRAM size
  * jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal
      fs/jbd2/journal.c
    usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe()
    uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol()
    sparc: Add .exit.data section.
    MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init()
    efi/x86: Map the entire EFI vendor string before copying it
    pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
    media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run()
    gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap()
    powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number
    media: i2c: mt9v032: fix enum mbus codes and frame sizes
    pxa168fb: Fix the function used to release some memory in an error handling path
    pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs
    gianfar: Fix TX timestamping with a stacked DSA driver
    brcmfmac: Fix use after free in brcmf_sdio_readframes()
  * cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order
      kernel/cpu.c
    drm/gma500: Fixup fbdev stolen size usage evaluation
    Revert "KVM: VMX: Add non-canonical check on writes to RTIT address MSRs"
    scsi: qla2xxx: fix a potential NULL pointer dereference
    btrfs: print message when tree-log replay starts
  * jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer
      fs/jbd2/commit.c
  * jbd2: move the clearing of b_modified flag to the journal_unmap_buffer()
      fs/jbd2/commit.c
      fs/jbd2/transaction.c
    hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions.
    perf/x86/intel: Fix inaccurate period in context switch for auto-reload
    s390/time: Fix clk type in get_tod_clock
    padata: Remove broken queue flushing
    perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map
    btrfs: log message when rw remount is attempted with unclean tree-log
    Btrfs: fix race between using extent maps and merging them
  * ext4: improve explanation of a mount failure caused by a misconfigured kernel
      fs/ext4/super.c
  * ext4: fix checksum errors with indexed dirs
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/inode.c
      fs/ext4/namei.c
  * ext4: don't assume that mmp_nodename/bdevname have NUL
      fs/ext4/mmp.c
  * ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
      sound/usb/quirks.c
  * ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()
      fs/ecryptfs/messaging.c
  * ecryptfs: fix a memory leak bug in parse_tag_1_packet()
      fs/ecryptfs/keystore.c
    ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs
    KVM: x86: emulate RDPID
    x86/vdso: Use RDPID in preference to LSL when available
    Merge 4.9.214 into android-4.9-q
Linux 4.9.214
    libertas: make lbs_ibss_join_existing() return error code on rates overflow
    libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held
    mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv()
    mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status()
  * dm: fix potential for q->make_request_fn NULL pointer
      drivers/md/dm.c
    scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state
    pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B
    powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW
    tools/power/acpi: fix compilation error
    ARM: dts: at91: sama5d3: define clock rate range for tcb1
    ARM: dts: at91: sama5d3: fix maximum peripheral clock rates
    ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node
    rtc: cmos: Stop using shared IRQ
    rtc: hym8563: Return -EINVAL if the time is known to be invalid
    NFSv4: try lease recovery on NFS4ERR_EXPIRED
  * nfs: NFS_SWAP should depend on SWAP
      fs/nfs/Kconfig
  * PCI: Don't disable bridge BARs when assigning bus resources
      drivers/pci/setup-bus.c
  * scsi: ufs: Fix ufshcd_probe_hba() reture value in case ufshcd_scsi_add_wlus() fails
      drivers/scsi/ufs/ufshcd.c
    RDMA/netlink: Do not always generate an ACK for some netlink operations
  * ASoC: pcm: update FE/BE trigger order based on the command
      sound/soc/soc-pcm.c
    rxrpc: Fix service call disconnection
  * perf/core: Fix mlock accounting in perf_mmap()
      kernel/events/core.c
  * clocksource: Prevent double add_timer_on() for watchdog_timer
      kernel/time/clocksource.c
    cifs: fail i/o on soft mounts if sessionsetup errors out
    KVM: nVMX: vmread should not set rflags to specify success in case of #PF
    KVM: VMX: Add non-canonical check on writes to RTIT address MSRs
    KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM
    btrfs: flush write bio if we loop in extent_write_cache_pages
    KVM: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks
    drm: atmel-hlcdc: enable clock before configuring timing engine
    Btrfs: fix race between adding and putting tree mod seq elements and nodes
    btrfs: remove trivial locking wrappers of tree mod log
    btrfs: use bool argument in free_root_pointers()
    Btrfs: fix assertion failure on fsync with NO_HOLES enabled
  * ext4: fix deadlock allocating crypto bounce page from mempool
      fs/ext4/page-io.c
    NFS: Directory page cache pages need to be locked when read
    NFS: Fix bool initialization/comparison
    NFS: Fix memory leaks and corruption in readdir
    NFS: switch back to to ->iterate()
  * bonding/alb: properly access headers in bond_alb_xmit()
      drivers/net/bonding/bond_alb.c
    net: systemport: Avoid RBUF stuck in Wake-on-LAN mode
    mfd: rn5t618: Mark ADC control register volatile
    mfd: da9062: Fix watchdog compatible string
    ubi: Fix an error pointer dereference in error handling code
    ubi: fastmap: Fix inverted logic in seen selfcheck
    nfsd: fix jiffies/time_t mixup in LRU list
    nfsd: fix delay timer on 32-bit architectures
    IB/mlx5: Fix outstanding_pi index for GSI qps
    net: tulip: Adjust indentation in {dmfe, uli526x}_init_module
    net: smc911x: Adjust indentation in smc911x_phy_configure
  * ppp: Adjust indentation into ppp_async_input
      drivers/net/ppp/ppp_async.c
    NFC: pn544: Adjust indentation in pn544_hci_check_presence
    powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize
    ext2: Adjust indentation in ext2_fill_super
    scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free
    scsi: csiostor: Adjust indentation in csio_device_reset
    scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type
    clk: tegra: Mark fuse clock as critical
    KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails
    KVM: PPC: Book3S PR: Free shared page if mmu initialization fails
    KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails
    KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks
    KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks
    KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c
    KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks
    KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks
    KVM: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks
    KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks
    KVM: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks
    KVM: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks
    KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks
    sunrpc: expiry_time should be seconds not timeval
    mwifiex: fix unbalanced locking in mwifiex_process_country_ie()
    ARM: tegra: Enable PLLP bypass during Tegra124 LP1
    btrfs: set trans->drity in btrfs_commit_transaction
    crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill
  * crypto: api - Fix race condition in crypto_spawn_alg
      crypto/algapi.c
      crypto/api.c
      crypto/internal.h
    crypto: atmel-aes - Fix counter overflow in CTR mode
    crypto: pcrypt - Do not clear MAY_SLEEP flag in original request
    dm space map common: fix to ensure new block isn't already in use
  * of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc
      drivers/of/Kconfig
      drivers/of/address.c
    power: supply: ltc2941-battery-gauge: fix use-after-free
    scsi: qla2xxx: Fix mtcp dump collection failure
  * crypto: api - Check spawn->alg under lock in crypto_drop_spawn
      crypto/algapi.c
    ubifs: Fix deadlock in concurrent bulk-read and writepage
    ubifs: Change gfp flags in page allocation for bulk read
    PCI: keystone: Fix link training retries initiation
    mmc: spi: Toggle SPI polarity, do not hardcode it
    powerpc/pseries: Advance pfn if section is not present in lmb_is_removable()
    lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more()
    media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments
    media/v4l2-core: set pages dirty upon releasing DMA buffers
    ALSA: dummy: Fix PCM format loop in proc output
    usb: gadget: f_ecm: Use atomic_t to track in-flight request
    usb: gadget: f_ncm: Use atomic_t to track in-flight request
    usb: gadget: legacy: set max_speed to super-speed
    brcmfmac: Fix memory leak in brcmf_usbdev_qinit
    mfd: dln2: More sanity checking for endpoints
    media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors
  * tcp: clear tp->segs_{in|out} in tcp_disconnect()
      net/ipv4/tcp.c
  * tcp: clear tp->data_segs{in|out} in tcp_disconnect()
      net/ipv4/tcp.c
  * tcp: clear tp->delivered in tcp_disconnect()
      net/ipv4/tcp.c
  * tcp: clear tp->total_retrans in tcp_disconnect()
      net/ipv4/tcp.c
    rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect
    rxrpc: Fix insufficient receive notification generation
    net_sched: fix an OOB access in cls_tcindex
    net: hsr: fix possible NULL deref in hsr_handle_frame()
    gtp: use __GFP_NOWARN to avoid memalloc warning
    cls_rsvp: fix rsvp_policy
    ASoC: qcom: Fix of-node refcount unbalance to link->codec_of_node
    sparc32: fix struct ipc64_perm type definition
    x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR
    media: iguanair: fix endpoint sanity check
    Merge 4.9.213 into android-4.9-q
Linux 4.9.213
    btrfs: do not zero f_bavail if we have available space
  * net: Fix skb->csum update in inet_proto_csum_replace16().
      net/core/utils.c
    l2t_seq_next should increase position index
    seq_tab_next() should increase position index
    net/sonic: Quiesce SONIC before re-initializing descriptor memory
    net/sonic: Fix receive buffer handling
    net/sonic: Use MMIO accessors
    net/sonic: Add mutual exclusion for accessing shared state
    net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G
    net/fsl: treat fsl,erratum-a011043
    powerpc/fsl/dts: add fsl,erratum-a011043
    qlcnic: Fix CPU soft lockup while collecting firmware dump
  * r8152: get default setting of WOL before initializing
      drivers/net/usb/r8152.c
    airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE
    airo: Fix possible info leak in AIROOLDIOCTL/SIOCDEVPRIVATE
    scsi: fnic: do not queue commands during fwreset
  * vti[6]: fix packet tx through bpf_redirect()
      net/ipv4/ip_vti.c
      net/ipv6/ip6_vti.c
  * wireless: wext: avoid gcc -O3 warning
      net/wireless/wext-core.c
    mac80211: Fix TKIP replay protection immediately after key setup
  * wireless: fix enabling channel 12 for custom regulatory domain
      net/wireless/reg.c
    ixgbe: Fix calculation of queue with VFs and flow director on interface flap
    ixgbevf: Remove limit of 10 entries for unicast filter list
    clk: mmp2: Fix the order of timer mux parents
    mac80211: mesh: restrict airtime metric to peered established plinks
    soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot
    ARM: dts: beagle-x15-common: Model 5V0 regulator
    media: si470x-i2c: Move free() past last use of 'radio'
  * usb: dwc3: turn off VBUS when leaving host mode
      drivers/usb/dwc3/core.c
  * Bluetooth: Fix race condition in hci_release_sock()
      net/bluetooth/hci_sock.c
    ttyprintk: fix a potential deadlock in interrupt context issue
    media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0
    media: gspca: zero usb_buf
    media: af9005: uninitialized variable printked
    media: digitv: don't continue if remote control state can't be read
    reiserfs: Fix memory leak of journal device string
    mm/mempolicy.c: fix out of bounds write in mpol_parse_str()
  * arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean'
      arch/arm64/boot/Makefile
    tools lib: Fix builds when glibc contains strlcpy()
    iio: gyro: st_gyro: fix L3GD20H support
    iio: gyro: st_gyro: inline per-sensor data
    crypto: pcrypt - Fix user-after-free on module unload
  * vfs: fix do_last() regression
      fs/namei.c
    crypto: af_alg - Use bh_lock_sock in sk_destruct
  * net_sched: ematch: reject invalid TCF_EM_SIMPLE
      net/sched/ematch.c
    usb-storage: Disable UAS on JMicron SATA enclosure
    atm: eni: fix uninitialized variable warning
  * gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP
      drivers/gpio/Kconfig
    net: wan: sdla: Fix cast from pointer to integer of different size
    drivers/net/b44: Change to non-atomic bit operations on pwol_mask
    watchdog: rn5t618_wdt: fix module aliases
    arc: eznps: fix allmodconfig kconfig warning
    zd1211rw: fix storage endpoint lookup
    rtl8xxxu: fix interface sanity check
    brcmfmac: fix interface sanity check
    ath9k: fix storage endpoint lookup
    serial: 8250_bcm2835aux: Fix line mismatch on driver unbind
    staging: vt6656: Fix false Tx excessive retries reporting.
    staging: vt6656: use NULLFUCTION stack on mac80211
    staging: vt6656: correct packet types for CTS protect, mode.
    staging: wlan-ng: ensure error return is actually returned
    staging: most: net: fix buffer overflow
    USB: serial: ir-usb: fix IrLAP framing
    USB: serial: ir-usb: fix link-speed handling
    USB: serial: ir-usb: add missing endpoint sanity check
    rsi_91x_usb: fix interface sanity check
    orinoco_usb: fix interface sanity check
  * ALSA: pcm: Add missing copy ops check before clearing buffer
      sound/core/pcm_native.c
    UPSTREAM: staging: most: net: fix buffer overflow
  * UPSTREAM: ALSA: pcm: Add missing copy ops check before clearing buffer
      sound/core/pcm_native.c
    Merge 4.9.212 into android-4.9-q
Linux 4.9.212
    net/x25: fix nonblocking connect
    netfilter: ipset: use bitmap infrastructure completely
  * bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free()
      include/linux/bitmap.h
      lib/bitmap.c
    md: Avoid namespace collision with bitmap API
    scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func
    bcache: silence static checker warning
    libertas: Fix two buffer overflows at parsing bss descriptor
    coresight: tmc-etf: Do not call smp_processor_id from preemptible
    coresight: etb10: Do not call smp_processor_id from preemptible
  * arm64: kpti: Whitelist Cortex-A CPUs that don't implement the CSV3 field
      arch/arm64/kernel/cpufeature.c
    Documentation: Document arm64 kpti control
  * do_last(): fetch directory ->i_mode and ->i_uid before it's too late
      fs/namei.c
    tracing: xen: Ordered comparison of function pointers
    scsi: RDMA/isert: Fix a recently introduced regression related to logout
    hwmon: (nct7802) Fix voltage limits to wrong registers
    Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register
    Input: pegasus_notetaker - fix endpoint sanity check
    Input: aiptek - fix endpoint sanity check
    Input: gtco - fix endpoint sanity check
    Input: sur40 - fix interface sanity checks
  * mmc: sdhci: fix minimum clock rate for v3 controller
      drivers/mmc/host/sdhci.c
    mmc: tegra: fix SDR50 tuning override
    ARM: 8950/1: ftrace/recordmcount: filter relocation types
    Input: keyspan-remote - fix control-message timeouts
  * hwmon: (core) Do not use device managed functions for memory allocations
      drivers/hwmon/hwmon.c
  * hwmon: (core) Fix double-free in __hwmon_device_register()
      drivers/hwmon/hwmon.c
  * hwmon: Deal with errors from the thermal subsystem
      drivers/hwmon/hwmon.c
  * hwmon: (core) Simplify sysfs attribute name allocation
      drivers/hwmon/hwmon.c
    hwmon: (adt7475) Make volt2reg return same reg as reg2volt input
    gtp: make sure only SOCK_DGRAM UDP sockets are accepted
    net: usb: lan78xx: Add .ndo_features_check
    tcp_bbr: improve arithmetic division in bbr_update_bw()
  * net_sched: fix datalen for ematch
      net/sched/ematch.c
  * net, ip_tunnel: fix namespaces move
      net/ipv4/ip_tunnel.c
  * net, ip6_tunnel: fix namespaces move
      net/ipv6/ip6_tunnel.c
    net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM
    firestream: fix memory leaks
    can, slip: Protect tty->disc_data in write_wakeup and close with RCU
  * net: phy: Keep reporting transceiver type
      drivers/net/phy/phy.c
  * net: ethtool: Add back transceiver type
      include/uapi/linux/ethtool.h
      net/core/ethtool.c
    m68k: Call timer_interrupt() with interrupts disabled
    IB/iser: Fix dma_nents type definition
    arm64: dts: juno: Fix UART frequency
    drm/radeon: fix bad DMA from INTERRUPT_CNTL2
    dmaengine: ti: edma: fix missed failure handling
  * packet: fix data-race in fanout_flow_is_huge()
      net/packet/af_packet.c
  * net: neigh: use long type to store jiffies delta
      net/core/neighbour.c
    MIPS: Loongson: Fix return value of loongson_hwmon_init
    media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support
    media: ov6650: Fix some format attributes not under control
    media: ov6650: Fix incorrect use of JPEG colorspace
    afs: Fix large file support
    net: qca_spi: Move reset_count to struct qcaspi
  * net: netem: correct the parent's backlog when corrupted packet was dropped
      net/sched/sch_netem.c
  * net: netem: fix error path for corrupted GSO frames
      net/sched/sch_netem.c
    dmaengine: imx-sdma: fix size check for sdma script_number
    drm/msm/dsi: Implement reset correctly
  * act_mirred: Fix mirred_init_module error handling
      net/sched/act_mirred.c
    net: stmmac: fix length of PTP clock's name string
    llc: fix sk_buff refcounting in llc_conn_state_process()
    llc: fix another potential sk_buff leak in llc_ui_sendmsg()
    mac80211: accept deauth frames in IBSS mode
    net: stmmac: gmac4+: Not all Unicast addresses may be available
    nvme: retain split access workaround for capability reads
    net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse()
  * of: mdio: Fix a signedness bug in of_phy_get_and_connect()
      drivers/of/of_mdio.c
    net: stmmac: dwmac-meson8b: Fix signedness bug in probe
    net: broadcom/bcmsysport: Fix signedness in bcm_sysport_probe()
    net: hisilicon: Fix signedness bug in hix5hd2_dev_probe()
    iommu/amd: Wait for completion of IOTLB flush in attach_device
    net/rds: Fix 'ib_evt_handler_call' element in 'rds_ib_stat_names'
    net: sonic: replace dev_kfree_skb in sonic_send_packet
    hwmon: (shtc1) fix shtc1 and shtw1 id mask
    Btrfs: fix hang when loading existing inode cache off disk
    net: sonic: return NETDEV_TX_OK if failed to map buffer
    ath9k: dynack: fix possible deadlock in ath_dynack_node_{de}init
    iio: dac: ad5380: fix incorrect assignment to val
    bcma: fix incorrect update of BCMA_CORE_PCI_MDIO_DATA
    staging: greybus: light: fix a couple double frees
    x86, perf: Fix the dependency of the x86 insn decoder selftest
  * power: supply: Init device wakeup after device_add()
      drivers/power/supply/power_supply_core.c
    hwmon: (lm75) Fix write operations for negative temperatures
  * Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()"
      lib/kfifo.c
    ahci: Do not export local variable ahci_em_messages
    mips: avoid explicit UB in assignment of mips_io_port_base
    mac80211: minstrel_ht: fix per-group max throughput rate initialization
    dmaengine: dw: platform: Switch to acpi_dma_controller_register()
    ASoC: sun4i-i2s: RX and TX counter registers are swapped
  * signal: Allow cifs and drbd to receive their terminating signals
      include/linux/signal.h
      kernel/signal.c
    ASoC: wm8737: Fix copy-paste error in wm8737_snd_controls
    ASoC: cs4349: Use PM ops 'cs4349_runtime_pm'
    ASoC: es8328: Fix copy-paste error in es8328_right_line_controls
  * ext4: set error return correctly when ext4_htree_store_dirent fails
      fs/ext4/inline.c
    crypto: caam - free resources in case caam_rng registration failed
    cifs: fix rmmod regression in cifs.ko caused by force_sig changes
    net/mlx5: Fix mlx5_ifc_query_lag_out_bits
    ALSA: aoa: onyx: always initialize register read value
    x86/kgbd: Use NMI_VECTOR not APIC_DM_NMI
    mic: avoid statically declaring a 'struct device'.
  * usb: host: xhci-hub: fix extra endianness conversion
      drivers/usb/host/xhci-hub.c
    qed: reduce maximum stack frame size
    libertas_tf: Use correct channel range in lbtf_geo_init
    scsi: libfc: fix null pointer dereference on a null lport
    net: pasemi: fix an use-after-free in pasemi_mac_phy_init()
    RDMA/hns: Fixs hw access invalid dma memory error
  * devres: allow const resource arguments
      include/linux/device.h
      lib/devres.c
    rxrpc: Fix uninitialized error code in rxrpc_send_data_packet()
    mfd: intel-lpss: Release IDA resources
    iommu/amd: Make iommu_disable safer
    clk: qcom: Fix -Wunused-const-variable
    dmaengine: hsu: Revert "set HSU_CH_MTSR to memory width"
  * perf/ioctl: Add check for the sample_period value
      kernel/events/core.c
    drm/msm/a3xx: remove TPL1 regs from snapshot
    rtc: pcf8563: Clear event flags and disable interrupts before requesting irq
    ASoC: ti: davinci-mcasp: Fix slot mask settings when using multiple AXRs
    net/af_iucv: always register net_device notifier
  * net: netem: fix backlog accounting for corrupted GSO frames
      net/sched/sch_netem.c
    drm/msm/mdp5: Fix mdp5_cfg_init error return
    powerpc/cacheinfo: add cacheinfo_teardown, cacheinfo_rebuild
    media: vivid: fix incorrect assignment operation when setting video mode
  * inet: frags: call inet_frags_fini() after unregister_pernet_subsys()
      net/ipv6/reassembly.c
    signal/cifs: Fix cifs_put_tcp_session to call send_sig instead of force_sig
  * iommu: Use right function to get group for device
      drivers/iommu/iommu.c
    misc: sgi-xp: Properly initialize buf in xpc_get_rsvd_page_pa
    serial: stm32: fix transmit_chars when tx is stopped
    crypto: ccp - fix AES CFB error exposed by new test vectors
    spi: spi-fsl-spi: call spi_finalize_current_message() at the end
    dmaengine: tegra210-adma: Fix crash during probe
  * thermal: cpu_cooling: Actually trace CPU load in thermal_power_cpu_get_power
      drivers/thermal/cpu_cooling.c
    backlight: lm3630a: Return 0 on success in update_status functions
  * kdb: do a sanity check on the cpu in kdb_per_cpu()
      kernel/debug/kdb/kdb_main.c
    ARM: riscpc: fix lack of keyboard interrupts after irq conversion
    pwm: meson: Don't disable PWM when setting duty repeatedly
  * netfilter: ebtables: CONFIG_COMPAT: reject trailing data after last rule
      net/bridge/netfilter/ebtables.c
    platform/x86: alienware-wmi: printing the wrong error code
    media: davinci/vpbe: array underflow in vpbe_enum_outputs()
    media: omap_vout: potential buffer overflow in vidioc_dqbuf()
  * l2tp: Fix possible NULL pointer dereference
      net/l2tp/l2tp_core.c
    dmaengine: tegra210-adma: restore channel status
    net: ena: fix ena_com_fill_hash_function() implementation
    net: ena: fix incorrect test of supported hash function
    net: ena: fix: Free napi resources when ena_up() fails
    net: ena: fix swapped parameters when calling ena_com_indirect_table_fill_entry
    iommu/vt-d: Make kernel parameter igfx_off work with vIOMMU
    IB/mlx5: Add missing XRC options to QP optional params mask
  * usb: gadget: fsl: fix link error against usb-gadget module
      drivers/usb/phy/Kconfig
  * ASoC: fix valid stream condition
      sound/soc/soc-pcm.c
  * packet: in recvmsg msg_name return at least sizeof sockaddr_ll
      net/packet/af_packet.c
  * ALSA: usb-audio: Handle the error from snd_usb_mixer_apply_create_quirk()
      sound/usb/mixer.c
    dmaengine: axi-dmac: Don't check the number of frames for alignment
    6lowpan: Off by one handling ->nexthdr
    media: ov2659: fix unbalanced mutex_lock/unlock
    ARM: dts: ls1021: Fix SGMII PCS link remaining down after PHY disconnect
    powerpc: vdso: Make vdso32 installation conditional in vdso_install
    tipc: set sysctl_tipc_rmem and named_timeout right range
    hwmon: (w83627hf) Use request_muxed_region for Super-IO accesses
    ARM: pxa: ssp: Fix "WARNING: invalid free of devm_ allocated data"
    scsi: qla2xxx: Unregister chrdev if module initialization fails
    ehea: Fix a copy-paste err in ehea_init_port_res
    spi: bcm2835aux: fix driver to not allow 65535 (=-1) cs-gpios
    soc/fsl/qe: Fix an error code in qe_pin_request()
    spi: tegra114: fix for unpacked mode transfers
    spi: tegra114: clear packed bit for unpacked mode
    media: tw5864: Fix possible NULL pointer dereference in tw5864_handle_frame
    media: davinci-isif: avoid uninitialized variable use
    ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
    m68k: mac: Fix VIA timer counter accesses
    tipc: tipc clang warning
    jfs: fix bogus variable self-initialization
    regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB
    media: cx23885: check allocation return
    media: wl128x: Fix an error code in fm_download_firmware()
    media: cx18: update *pos correctly in cx18_read_pos()
    media: ivtv: update *pos correctly in ivtv_read_pos()
    net: sh_eth: fix a missing check of of_get_phy_mode
    xen, cpu_hotplug: Prevent an out of bounds access
    drivers/rapidio/rio_cm.c: fix potential oops in riocm_ch_listen()
    scsi: megaraid_sas: reduce module load time
    nios2: ksyms: Add missing symbol exports
    regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA
    ARM: 8848/1: virt: Align GIC version check with arm64 counterpart
    ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used
    mmc: sdhci-brcmstb: handle mmc_of_parse() errors during probe
    clocksource/drivers/exynos_mct: Fix error path in timer resources initialization
    clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable
    NFS: Fix a soft lockup in the delegation recovery code
    fs/nfs: Fix nfs_parse_devname to not modify it's argument
    ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of()
    drm/nouveau/pmu: don't print reply values if exec is false
    drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON
    net: dsa: qca8k: Enable delay for RGMII_ID mode
    regulator: pv88090: Fix array out-of-bounds access
    regulator: pv88080: Fix array out-of-bounds access
    regulator: pv88060: Fix array out-of-bounds access
    cdc-wdm: pass return value of recover_from_urb_loss
    dmaengine: mv_xor: Use correct device for DMA API
    vfio_pci: Enable memory accesses before calling pci_map_rom
  * keys: Timestamp new keys
      security/keys/key.c
  * block: don't use bio->bi_vcnt to figure out segment number
      block/blk-merge.c
    usb: phy: twl6030-usb: fix possible use-after-free on remove
    pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups
    pinctrl: sh-pfc: r8a7792: Fix vin1_data18_b pin group
    pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group
    pinctrl: sh-pfc: emev2: Add missing pinmux functions
    iw_cxgb4: use tos when finding ipv6 routes
    iw_cxgb4: use tos when importing the endpoint
    fbdev: chipsfb: remove set but not used variable 'size'
    rtc: pm8xxx: fix unintended sign extension
    rtc: 88pm80x: fix unintended sign extension
    rtc: 88pm860x: fix unintended sign extension
  * net: phy: fixed_phy: Fix fixed_phy not checking GPIO
      drivers/net/phy/fixed_phy.c
    thermal: mediatek: fix register index error
    rtc: ds1672: fix unintended sign extension
    staging: most: cdev: add missing check for cdev_add failure
    iwlwifi: mvm: fix RSS config command
    ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage
    ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property
    ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant
    ARM: dts: lpc32xx: reparent keypad controller to SIC1
    ARM: dts: lpc32xx: add required clocks property to keypad device node
    crypto: crypto4xx - Fix wrong ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments
    tty: ipwireless: Fix potential NULL pointer dereference
    iwlwifi: mvm: fix A-MPDU reference assignment
    clk: sunxi-ng: sun8i-a23: Enable PLL-MIPI LDOs when ungating it
    rtc: cmos: ignore bogus century byte
    IB/iser: Pass the correct number of entries for dma mapped SGL
    ASoC: imx-sgtl5000: put of nodes if finding codec fails
    crypto: tgr192 - fix unaligned memory access
    media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL
    drm/etnaviv: NULL vs IS_ERR() buf in etnaviv_core_dump()
    arm64: dts: apq8016-sbc: Increase load on l11 for SDCARD
    RDMA/qedr: Fix out of bounds index check in query pkey
    RDMA/ocrdma: Fix out of bounds index check in query pkey
    IB/usnic: Fix out of bounds index check in query pkey
    clk: dove: fix refcount leak in dove_clk_init()
    clk: armada-xp: fix refcount leak in axp_clk_init()
    clk: kirkwood: fix refcount leak in kirkwood_clk_init()
    clk: armada-370: fix refcount leak in a370_clk_init()
    clk: vf610: fix refcount leak in vf610_clocks_init()
    clk: imx7d: fix refcount leak in imx7d_clocks_init()
    clk: imx6sx: fix refcount leak in imx6sx_clocks_init()
    clk: imx6q: fix refcount leak in imx6q_clocks_init()
    clk: samsung: exynos4: fix refcount leak in exynos4_get_xom()
    clk: socfpga: fix refcount leak
    clk: qoriq: fix refcount leak in clockgen_init()
    clk: highbank: fix refcount leak in hb_clk_init()
    Input: nomadik-ske-keypad - fix a loop timeout test
    pinctrl: sh-pfc: sh7734: Remove bogus IPSR10 value
    pinctrl: sh-pfc: sh7269: Add missing PCIOR0 field
    pinctrl: sh-pfc: sh7734: Add missing IPSR11 field
    pinctrl: sh-pfc: r8a7794: Remove bogus IPSR9 field
    pinctrl: sh-pfc: sh73a0: Add missing TO pin to tpu4_to3 group
    pinctrl: sh-pfc: r8a7791: Remove bogus marks from vin1_b_data18 group
    pinctrl: sh-pfc: r8a7791: Remove bogus ctrl marks from qspi_data4_b group
    pinctrl: sh-pfc: r8a7740: Add missing LCD0 marks to lcd0_data24_1 group
    pinctrl: sh-pfc: r8a7740: Add missing REF125CK pin to gether_gmii group
  * net: phy: Fix not to call phy_resume() if PHY is not attached
      drivers/net/phy/phy_device.c
  * drm/dp_mst: Skip validating ports during destruction, just ref
      drivers/gpu/drm/drm_dp_mst_topology.c
    exportfs: fix 'passing zero to ERR_PTR()' warning
    pcrypt: use format specifier in kobject_add
    mlxsw: reg: QEEC: Add minimum shaper fields
    pwm: lpss: Release runtime-pm reference from the driver's remove callback
    staging: comedi: ni_mio_common: protect register write overflow
  * ALSA: usb-audio: update quirk for B&W PX to remove microphone
      sound/usb/quirks-table.h
    IB/rxe: replace kvfree with vfree
    ALSA: hda: fix unused variable warning
    drm/virtio: fix bounds check in virtio_gpu_cmd_get_capset()
    drm/sti: do not remove the drm_bridge that was never added
    mt7601u: fix bbp version check in mt7601u_wait_bbp_ready
    powerpc/archrandom: fix arch_get_random_seed_int()
    xfs: Sanity check flags of Q_XQUOTARM call
  * UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage
      mm/page_io.c
  * ANDROID: selinux: modify RTM_GETLINK permission
      security/selinux/include/classmap.h
      security/selinux/include/security.h
      security/selinux/nlmsgtab.c
      security/selinux/ss/policydb.c
      security/selinux/ss/policydb.h
      security/selinux/ss/services.c
    Merge 4.9.211 into android-4.9-q
Linux 4.9.211
    regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id
    perf probe: Fix wrong address verification
  * scsi: core: scsi_trace: Use get_unaligned_be*()
      drivers/scsi/scsi_trace.c
    scsi: target: core: Fix a pr_debug() argument
    scsi: bnx2i: fix potential use after free
    scsi: qla4xxx: fix double free bug
    scsi: esas2r: unlock on error in esas2r_nvram_read_direct()
    reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr
  * cfg80211: check for set_wiphy_params
      net/wireless/rdev-ops.h
    cw1200: Fix a signedness bug in cw1200_load_firmware()
    xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk
    net: usb: lan78xx: limit size of local TSO packets
  * tcp: fix marked lost packets not being retransmitted
      net/ipv4/tcp_input.c
  * r8152: add missing endpoint sanity check
      drivers/net/usb/r8152.c
    net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info
    net: dsa: tag_qca: fix doubled Tx statistics
    macvlan: use skb_reset_mac_header() in macvlan_queue_xmit()
    batman-adv: Fix DAT candidate selection on little endian systems
  * netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct
      net/ipv4/netfilter/arp_tables.c
    netfilter: fix a use-after-free in mtype_destroy()
  * cfg80211: fix page refcount issue in A-MSDU decap
      net/wireless/util.c
    arm64: dts: agilex/stratix10: fix pmu interrupt numbers
    scsi: fnic: fix invalid stack access
    scsi: fnic: use kernel's '%pM' format option to print MAC
    USB: serial: keyspan: handle unbound ports
    USB: serial: io_edgeport: handle unbound ports on URB completion
    USB: serial: io_edgeport: use irqsave() in USB's complete callback
    net: stmmac: Enable 16KB buffer size
    net: stmmac: 16KB buffer must be 16 byte aligned
  * mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()
      mm/page-writeback.c
    perf report: Fix incorrectly added dimensions as switch perf data file
    perf hists: Fix variable name's inconsistency in hists__for_each() macro
    x86/efistub: Disable paging at mixed mode entry
  * usb: core: hub: Improved device recognition on remote wakeup
      drivers/usb/core/hub.c
    scsi: mptfusion: Fix double fetch bug in ioctl
    USB: serial: quatech2: handle unbound ports
    USB: serial: io_edgeport: add missing active-port sanity check
    USB: serial: ch341: handle unbound port at reset_resume
    USB: serial: suppress driver bind attributes
    USB: serial: opticon: fix control-message timeouts
    USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx
    iio: buffer: align the size of scan bytes to size of the largest element
  * block: fix an integer overflow in logical block size
      block/blk-settings.c
      include/linux/blkdev.h
  * Fix built-in early-load Intel microcode alignment
      firmware/Makefile
    ALSA: seq: Fix racy access for queue timer in proc read
  * clk: Don't try to enable critical clocks if prepare failed
      drivers/clk/clk.c
    dt-bindings: reset: meson8b: fix duplicate reset IDs
    ocfs2: call journal flush to mark journal as empty after journal recovery when mount
    hexagon: work around compiler crash
    hexagon: parenthesize registers in asm predicates
    ioat: ioat_alloc_ring() failure handling.
    MIPS: Prevent link failure with kcov instrumentation
    rseq/selftests: Turn off timeout setting
    scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy()
    gpio: mpc8xxx: Add platform device to gpiochip->parent
    rtc: msm6242: Fix reading of 10-hour digit
  * f2fs: fix potential overflow
      fs/f2fs/data.c
      fs/f2fs/file.c
    rtlwifi: Remove unnecessary NULL check in rtl_regd_init
    spi: atmel: fix handling of cs_change set on non-last xfer
    mtd: spi-nor: fix silent truncation in spi_nor_read()
    media: exynos4-is: Fix recursive locking in isp_video_release()
    tty: serial: pch_uart: correct usage of dma_unmap_sg
    tty: serial: imx: use the sg count from dma_map_sg
    powerpc/powernv: Disable native PCIe port management
    PCI/PTM: Remove spurious "d" from granularity message
  * compat_ioctl: handle SIOCOUTQNSD
      net/socket.c
    clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume
    mei: fix modalias documentation
    iio: imu: adis16480: assign bias value only if operation succeeded
    platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
  * scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI
      drivers/scsi/sd.c
    scsi: enclosure: Fix stale device oops with hot replug
    RDMA/srpt: Report the SCSI residual to the initiator
    cifs: Adjust indentation in smb2_open_file
    hsr: reset network header when supervision frame is created
  * gpio: Fix error message on out-of-range GPIO in lookup table
      drivers/gpio/gpiolib.c
  * iommu: Remove device link to group on failure
      drivers/iommu/iommu.c
    rtc: mt6397: fix alarm register overwrite
    dccp: Fix memleak in __feat_register_sp
  * ext4: add more paranoia checking in ext4_expand_extra_isize handling
      fs/ext4/inode.c
      fs/ext4/super.c
  * ext4: fix use-after-free race with debug_want_extra_isize
      fs/ext4/super.c
    wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle
    wimax: i2400: fix memory leak
    media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap
    mac80211: Do not send Layer 2 Update frame before authorization
  * cfg80211/mac80211: make ieee80211_send_layer2_update a public function
      include/net/cfg80211.h
      net/wireless/util.c
  * arm64: Make sure permission updates happen for pmd/pud
      arch/arm64/mm/mmu.c
  * arm64: Enforce BBM for huge IO/VMAP mappings
      arch/arm64/mm/mmu.c
  * arm64: mm: Change page table pointer name in p[md]_set_huge()
      arch/arm64/mm/mmu.c
  * arm64: don't open code page table entry creation
      arch/arm64/include/asm/pgtable.h
      arch/arm64/mm/mmu.c
  * arm64: mm: BUG on unsupported manipulations of live kernel mappings
      arch/arm64/mm/mmu.c
    rsi: add fix for crash during assertions
  * fs/select: avoid clang stack usage warning
      include/linux/poll.h
  * ethtool: reduce stack usage with clang
      net/core/ethtool.c
  * HID: hidraw, uhid: Always report EPOLLOUT
      drivers/hid/uhid.c
    HID: hidraw: Fix returning EPOLLOUT from hidraw_poll
    hidraw: Return EPOLLOUT from hidraw_poll

Change-Id: I65d36338fa1ba89ad6ec2ff878fb4c89ff79b0be
Signed-off-by: lucaswei <lucaswei@google.com>
2020-04-24 18:27:47 +08:00
Greg Kroah-Hartman
90aa47514b Merge 4.9.220 into android-4.9-q
Changes in 4.9.220
	bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads
	net: vxge: fix wrong __VA_ARGS__ usage
	qlcnic: Fix bad kzalloc null test
	i2c: st: fix missing struct parameter description
	irqchip/versatile-fpga: Handle chained IRQs properly
	sched: Avoid scale real weight down to zero
	selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
	libata: Remove extra scsi_host_put() in ata_scsi_add_hosts()
	gfs2: Don't demote a glock until its revokes are written
	x86/boot: Use unsigned comparison for addresses
	locking/lockdep: Avoid recursion in lockdep_count_{for,back}ward_deps()
	btrfs: remove a BUG_ON() from merge_reloc_roots()
	btrfs: track reloc roots based on their commit root bytenr
	misc: rtsx: set correct pcr_ops for rts522A
	ASoC: fix regwmask
	ASoC: dapm: connect virtual mux with default value
	ASoC: dpcm: allow start or stop during pause for backend
	ASoC: topology: use name_prefix for new kcontrol
	usb: gadget: f_fs: Fix use after free issue as part of queue failure
	usb: gadget: composite: Inform controller driver of self-powered
	ALSA: usb-audio: Add mixer workaround for TRX40 and co
	ALSA: hda: Add driver blacklist
	ALSA: hda: Fix potential access overflow in beep helper
	ALSA: ice1724: Fix invalid access for enumerated ctl items
	ALSA: pcm: oss: Fix regression by buffer overflow fix
	media: ti-vpe: cal: fix disable_irqs to only the intended target
	acpi/x86: ignore unspecified bit positions in the ACPI global lock field
	thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
	KEYS: reaching the keys quotas correctly
	irqchip/versatile-fpga: Apply clear-mask earlier
	MIPS: OCTEON: irq: Fix potential NULL pointer dereference
	ath9k: Handle txpower changes even when TPC is disabled
	signal: Extend exec_id to 64bits
	x86/entry/32: Add missing ASM_CLAC to general_protection entry
	KVM: s390: vsie: Fix region 1 ASCE sanity shadow address checks
	KVM: s390: vsie: Fix delivery of addressing exceptions
	KVM: x86: Allocate new rmap and large page tracking when moving memslot
	KVM: VMX: Always VMCLEAR in-use VMCSes during crash with kexec support
	KVM: VMX: fix crash cleanup when KVM wasn't used
	btrfs: drop block from cache on error in relocation
	crypto: mxs-dcp - fix scatterlist linearization for hash
	ALSA: hda: Initialize power_state field properly
	x86/speculation: Remove redundant arch_smt_update() invocation
	tools: gpio: Fix out-of-tree build regression
	mm: Use fixed constant in page_frag_alloc instead of size + 1
	dm verity fec: fix memory leak in verity_fec_dtr
	scsi: zfcp: fix missing erp_lock in port recovery trigger for point-to-point
	arm64: armv8_deprecated: Fix undef_hook mask for thumb setend
	rtc: omap: Use define directive for PIN_CONFIG_ACTIVE_HIGH
	ext4: fix a data race at inode->i_blocks
	ocfs2: no need try to truncate file beyond i_size
	s390/diag: fix display of diagnose call statistics
	Input: i8042 - add Acer Aspire 5738z to nomux list
	kmod: make request_module() return an error when autoloading is disabled
	cpufreq: powernv: Fix use-after-free
	hfsplus: fix crash and filesystem corruption when deleting files
	libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set
	powerpc/64/tm: Don't let userspace set regs->trap via sigreturn
	Btrfs: fix crash during unmount due to race with delayed inode workers
	drm/dp_mst: Fix clearing payload state on topology disable
	drm: Remove PageReserved manipulation from drm_pci_alloc
	ipmi: fix hung processes in __get_guid()
	powerpc/fsl_booke: Avoid creating duplicate tlb1 entry
	misc: echo: Remove unnecessary parentheses and simplify check for zero
	mfd: dln2: Fix sanity checking for endpoints
	hsr: check protocol version in hsr_newlink()
	net: ipv4: devinet: Fix crash when add/del multicast IP with autojoin
	net: qrtr: send msgs from local of same id as broadcast
	net: ipv6: do not consider routes via gateways for anycast address check
	scsi: ufs: Fix ufshcd_hold() caused scheduling while atomic
	jbd2: improve comments about freeing data buffers whose page mapping is NULL
	ext4: fix incorrect group count in ext4_fill_super error message
	ext4: fix incorrect inodes per group in error message
	ASoC: Intel: mrfld: fix incorrect check on p->sink
	ASoC: Intel: mrfld: return error codes when an error occurs
	ALSA: usb-audio: Don't override ignore_ctl_error value from the map
	btrfs: check commit root generation in should_ignore_root
	mac80211_hwsim: Use kstrndup() in place of kasprintf()
	ext4: do not zeroout extents beyond i_disksize
	dm flakey: check for null arg_name in parse_features()
	kvm: x86: Host feature SSBD doesn't imply guest feature SPEC_CTRL_SSBD
	scsi: target: remove boilerplate code
	scsi: target: fix hang when multiple threads try to destroy the same iscsi session
	tracing: Fix the race between registering 'snapshot' event trigger and triggering 'snapshot' operation
	objtool: Fix switch table detection in .text.unlikely
	scsi: sg: add sg_remove_request in sg_common_write
	ALSA: hda: Don't release card at firmware loading error
	video: fbdev: sis: Remove unnecessary parentheses and commented code
	drm: NULL pointer dereference [null-pointer-deref] (CWE 476) problem
	Revert "gpio: set up initial state from .get_direction()"
	wil6210: increase firmware ready timeout
	wil6210: fix temperature debugfs
	scsi: ufs: make sure all interrupts are processed
	scsi: ufs: ufs-qcom: remove broken hci version quirk
	wil6210: rate limit wil_rx_refill error
	rtc: pm8xxx: Fix issue in RTC write path
	wil6210: fix length check in __wmi_send
	soc: qcom: smem: Use le32_to_cpu for comparison
	of: fix missing kobject init for !SYSFS && OF_DYNAMIC config
	arm64: cpu_errata: include required headers
	of: unittest: kmemleak in of_unittest_platform_populate()
	clk: at91: usb: continue if clk_hw_round_rate() return zero
	power: supply: bq27xxx_battery: Silence deferred-probe error
	clk: tegra: Fix Tegra PMC clock out parents
	NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails
	s390/cpuinfo: fix wrong output when CPU0 is offline
	powerpc/maple: Fix declaration made after definition
	ext4: do not commit super on read-only bdev
	percpu_counter: fix a data race at vm_committed_as
	compiler.h: fix error in BUILD_BUG_ON() reporting
	KVM: s390: vsie: Fix possible race when shadowing region 3 tables
	NFS: Fix memory leaks in nfs_pageio_stop_mirroring()
	ext2: fix empty body warnings when -Wextra is used
	ext2: fix debug reference to ext2_xattr_cache
	libnvdimm: Out of bounds read in __nd_ioctl()
	iommu/amd: Fix the configuration of GCR3 table root pointer
	fbdev: potential information leak in do_fb_ioctl()
	tty: evh_bytechan: Fix out of bounds accesses
	locktorture: Print ratio of acquisitions, not failures
	mtd: lpddr: Fix a double free in probe()
	mtd: phram: fix a double free issue in error path
	x86/CPU: Add native CPUID variants returning a single datum
	x86/microcode/intel: replace sync_core() with native_cpuid_reg(eax)
	x86/vdso: Fix lsl operand order
	Linux 4.9.220

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I130bead53d151b84c03bac575c0f3760e14538a6
2020-04-24 08:34:09 +02:00
Zhenzhong Duan
f2a02afce6 x86/speculation: Remove redundant arch_smt_update() invocation
commit 34d66caf251df91ff27b24a3a786810d29989eca upstream.

With commit a74cfffb03b7 ("x86/speculation: Rework SMT state change"),
arch_smt_update() is invoked from each individual CPU hotplug function.

Therefore the extra arch_smt_update() call in the sysfs SMT control is
redundant.

Fixes: a74cfffb03b7 ("x86/speculation: Rework SMT state change")
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: <konrad.wilk@oracle.com>
Cc: <dwmw@amazon.co.uk>
Cc: <bp@suse.de>
Cc: <srinivas.eeda@oracle.com>
Cc: <peterz@infradead.org>
Cc: <hpa@zytor.com>
Link: https://lkml.kernel.org/r/e2e064f2-e8ef-42ca-bf4f-76b612964752@default
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-24 07:58:57 +02:00
lucaswei
649b0b6508 Merge LA.UM.7.8.9.C2.08.00.00.618.012 via branch 'qcom-msm-4.9' into android-msm-pixel-4.9
Conflicts:
	arch/arm64/mm/dma-mapping.c
	drivers/char/adsprpc.c
	drivers/gpu/msm/kgsl_drawobj.c
	drivers/media/platform/msm/camera/cam_req_mgr/cam_req_mgr_core.c
	drivers/media/platform/msm/camera/cam_sensor_module/cam_actuator/cam_actuator_dev.h
	drivers/media/platform/msm/camera/cam_sensor_module/cam_eeprom/cam_eeprom_core.c
	drivers/media/platform/msm/camera/cam_sensor_module/cam_ois/cam_ois_core.c
	drivers/media/platform/msm/camera/cam_sensor_module/cam_sensor/cam_sensor_dev.h
	drivers/media/platform/msm/vidc/venus_hfi.c
	drivers/media/platform/msm/vidc_3x/venus_hfi.c
	drivers/misc/qseecom.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/power/supply/qcom/battery.c
	drivers/power/supply/qcom/qpnp-smb2.c
	drivers/power/supply/qcom/smb-lib.h
	drivers/usb/gadget/function/f_mtp.c
	drivers/usb/gadget/udc/core.c
	include/linux/power_supply.h
	kernel/events/core.c
	net/l2tp/l2tp_ppp.c

Bug: 149539244
Signed-off-by: lucaswei <lucaswei@google.com>
Change-Id: Ia263e3a06dcf251efa5ea1fb0d1a6c6b53e4f863
2020-03-17 19:03:53 +08:00
Greg Kroah-Hartman
60fbe7034f Merge 4.9.215 into android-4.9-q
Changes in 4.9.215
	x86/vdso: Use RDPID in preference to LSL when available
	KVM: x86: emulate RDPID
	ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs
	ecryptfs: fix a memory leak bug in parse_tag_1_packet()
	ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()
	ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
	ext4: don't assume that mmp_nodename/bdevname have NUL
	ext4: fix checksum errors with indexed dirs
	ext4: improve explanation of a mount failure caused by a misconfigured kernel
	Btrfs: fix race between using extent maps and merging them
	btrfs: log message when rw remount is attempted with unclean tree-log
	perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map
	padata: Remove broken queue flushing
	s390/time: Fix clk type in get_tod_clock
	perf/x86/intel: Fix inaccurate period in context switch for auto-reload
	hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions.
	jbd2: move the clearing of b_modified flag to the journal_unmap_buffer()
	jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer
	btrfs: print message when tree-log replay starts
	scsi: qla2xxx: fix a potential NULL pointer dereference
	Revert "KVM: VMX: Add non-canonical check on writes to RTIT address MSRs"
	drm/gma500: Fixup fbdev stolen size usage evaluation
	cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order
	brcmfmac: Fix use after free in brcmf_sdio_readframes()
	gianfar: Fix TX timestamping with a stacked DSA driver
	pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs
	pxa168fb: Fix the function used to release some memory in an error handling path
	media: i2c: mt9v032: fix enum mbus codes and frame sizes
	powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number
	gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap()
	media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run()
	pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
	efi/x86: Map the entire EFI vendor string before copying it
	MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init()
	sparc: Add .exit.data section.
	uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol()
	usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe()
	jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal
	x86/sysfb: Fix check for bad VRAM size
	tracing: Fix tracing_stat return values in error handling paths
	tracing: Fix very unlikely race of registering two stat tracers
	ext4, jbd2: ensure panic when aborting with zero errno
	kconfig: fix broken dependency in randconfig-generated .config
	clk: qcom: rcg2: Don't crash if our parent can't be found; return an error
	drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table
	regulator: rk808: Lower log level on optional GPIOs being not available
	net/wan/fsl_ucc_hdlc: reject muram offsets above 64K
	PCI/IOV: Fix memory leak in pci_iov_add_virtfn()
	NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu().
	media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros
	reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling
	ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status
	b43legacy: Fix -Wcast-function-type
	ipw2x00: Fix -Wcast-function-type
	iwlegacy: Fix -Wcast-function-type
	rtlwifi: rtl_pci: Fix -Wcast-function-type
	orinoco: avoid assertion in case of NULL pointer
	ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
	scsi: aic7xxx: Adjust indentation in ahc_find_syncrate
	drm/mediatek: handle events when enabling/disabling crtc
	ARM: dts: r8a7779: Add device node for ARM global timer
	x86/vdso: Provide missing include file
	PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency
	pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
	RDMA/rxe: Fix error type of mmap_offset
	ALSA: sh: Fix compile warning wrt const
	tools lib api fs: Fix gcc9 stringop-truncation compilation error
	usbip: Fix unsafe unaligned pointer usage
	udf: Fix free space reporting for metadata and virtual partitions
	soc/tegra: fuse: Correct straps' address for older Tegra124 device trees
	rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls
	Input: edt-ft5x06 - work around first register access error
	wan: ixp4xx_hss: fix compile-testing on 64-bit
	ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m
	tty: synclinkmp: Adjust indentation in several functions
	tty: synclink_gt: Adjust indentation in several functions
	driver core: platform: Prevent resouce overflow from causing infinite loops
	driver core: Print device when resources present in really_probe()
	vme: bridges: reduce stack usage
	drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw
	drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler
	drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add
	usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue
	iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
	scsi: iscsi: Don't destroy session if there are outstanding connections
	arm64: fix alternatives with LLVM's integrated assembler
	pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional
	cmd64x: potential buffer overflow in cmd64x_program_timings()
	ide: serverworks: potential overflow in svwks_set_pio_mode()
	remoteproc: Initialize rproc_class before use
	x86/decoder: Add TEST opcode to Group3-2
	s390/ftrace: generate traced function stack frame
	driver core: platform: fix u32 greater or equal to zero comparison
	ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
	powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV
	jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record
	ARM: 8951/1: Fix Kexec compilation issue.
	hostap: Adjust indentation in prism2_hostapd_add_sta
	iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
	cifs: fix NULL dereference in match_prepath
	irqchip/gic-v3: Only provision redistributors that are enabled in ACPI
	drm/nouveau/disp/nv50-: prevent oops when no channel method map provided
	ftrace: fpid_next() should increase position index
	trigger_next should increase position index
	radeon: insert 10ms sleep in dce5_crtc_load_lut
	ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans()
	lib/scatterlist.c: adjust indentation in __sg_alloc_table
	reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
	bcache: explicity type cast in bset_bkey_last()
	irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL
	iwlwifi: mvm: Fix thermal zone registration
	microblaze: Prevent the overflow of the start
	brd: check and limit max_part par
	help_next should increase position index
	selinux: ensure we cleanup the internal AVC counters on error in avc_update()
	enic: prevent waking up stopped tx queues over watchdog reset
	net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS
	net/sched: flower: add missing validation of TCA_FLOWER_FLAGS
	floppy: check FDC index for errors before assigning it
	vt: selection, handle pending signals in paste_selection
	staging: android: ashmem: Disallow ashmem memory from being remapped
	staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.
	xhci: Force Maximum Packet size for Full-speed bulk devices to valid range.
	usb: uas: fix a plug & unplug racing
	USB: Fix novation SourceControl XL after suspend
	USB: hub: Don't record a connect-change event during reset-resume
	staging: rtl8188eu: Fix potential security hole
	staging: rtl8188eu: Fix potential overuse of kernel memory
	x86/mce/amd: Publish the bank pointer only after setup has succeeded
	x86/mce/amd: Fix kobject lifetime
	tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode
	tty: serial: imx: setup the correct sg entry for tx dma
	Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"
	xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms
	KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI
	VT_RESIZEX: get rid of field-by-field copyin
	vt: vt_ioctl: fix race in VT_RESIZEX
	lib/stackdepot.c: fix global out-of-bounds in stack_slabs
	KVM: nVMX: Don't emulate instructions in guest mode
	netfilter: xt_bpf: add overflow checks
	ext4: fix a data race in EXT4_I(inode)->i_disksize
	ext4: add cond_resched() to __ext4_find_entry()
	ext4: fix mount failure with quota configured as module
	ext4: rename s_journal_flag_rwsem to s_writepages_rwsem
	ext4: fix race between writepages and enabling EXT4_EXTENTS_FL
	KVM: nVMX: Refactor IO bitmap checks into helper function
	KVM: nVMX: Check IO instruction VM-exit conditions
	KVM: apic: avoid calculating pending eoi from an uninitialized val
	Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents
	scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout"
	scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"
	usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus
	staging: greybus: use after free in gb_audio_manager_remove_all()
	ecryptfs: replace BUG_ON with error handling code
	ALSA: rawmidi: Avoid bit fields for state flags
	ALSA: seq: Avoid concurrent access to queue flags
	ALSA: seq: Fix concurrent access to queue current tick/time
	netfilter: xt_hashlimit: limit the max size of hashtable
	ata: ahci: Add shutdown to freeze hardware resources of ahci
	xen: Enable interrupts when calling _cond_resched()
	s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range
	Linux 4.9.215

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4c663321dde48cd2a324e59acb70c99f75f9344e
2020-02-28 16:59:01 +01:00
Peter Zijlstra
a594a9e56a cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order
[ Upstream commit 45178ac0cea853fe0e405bf11e101bdebea57b15 ]

Paul reported a very sporadic, rcutorture induced, workqueue failure.
When the planets align, the workqueue rescuer's self-migrate fails and
then triggers a WARN for running a work on the wrong CPU.

Tejun then figured that set_cpus_allowed_ptr()'s stop_one_cpu() call
could be ignored! When stopper->enabled is false, stop_machine will
insta complete the work, without actually doing the work. Worse, it
will not WARN about this (we really should fix this).

It turns out there is a small window where a freshly online'ed CPU is
marked 'online' but doesn't yet have the stopper task running:

	BP				AP

	bringup_cpu()
	  __cpu_up(cpu, idle)	 -->	start_secondary()
					...
					cpu_startup_entry()
	  bringup_wait_for_ap()
	    wait_for_ap_thread() <--	  cpuhp_online_idle()
					  while (1)
					    do_idle()

					... available to run kthreads ...

	    stop_machine_unpark()
	      stopper->enable = true;

Close this by moving the stop_machine_unpark() into
cpuhp_online_idle(), such that the stopper thread is ready before we
start the idle loop and schedule.

Reported-by: "Paul E. McKenney" <paulmck@kernel.org>
Debugged-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: "Paul E. McKenney" <paulmck@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-28 15:42:16 +01:00
lucaswei
43c545b2a8 Merge android-4.9-q (4.9.205) into android-msm-pixel-4.9-lts
Merge 4.9.205 into android-4.9-q
Linux 4.9.205
  * Revert "sock: Reset dst when changing sk_mark via setsockopt"
      net/core/sock.c
    Merge 4.9.204 into android-4.9-q
Linux 4.9.204
    KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel
    powerpc/book3s64: Fix link stack flush on context switch
    powerpc/64s: support nospectre_v2 cmdline option
    staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error
    USB: serial: option: add support for Foxconn T77W968 LTE modules
    USB: serial: option: add support for DW5821e with eSIM support
    USB: serial: mos7840: fix remote wakeup
    USB: serial: mos7720: fix remote wakeup
    USB: serial: mos7840: add USB ID to support Moxa UPort 2210
    appledisplay: fix error handling in the scheduled work
    USB: chaoskey: fix error case of a timeout
    usb-serial: cp201x: support Mark-10 digital force gauge
    usbip: tools: fix fd leakage in the function of read_attr_usbip_status
    virtio_console: move removal code
    virtio_console: drop custom control queue cleanup
    virtio_console: fix uninitialized variable use
    virtio_ring: fix return code on DMA mapping fails
    virtio_console: allocate inbufs in add_port() only if it is needed
    virtio_console: don't tie bufs to a vq
    virtio_console: reset on out of memory
    media: imon: invalid dereference in imon_touch_event
    media: cxusb: detect cxusb_ctrl_msg error in query
    media: b2c2-flexcop-usb: add sanity checking
    media: uvcvideo: Fix error path in control parsing failure
  * cpufreq: Add NULL checks to show() and store() methods of cpufreq
      drivers/cpufreq/cpufreq.c
    media: usbvision: Fix races among open, close, and disconnect
    media: vivid: Fix wrong locking that causes race conditions on streaming stop
    media: vivid: Set vid_cap_streaming and vid_out_streaming to true
  * l2tp: don't use l2tp_tunnel_find() in l2tp_ip and l2tp_ip6
      net/l2tp/l2tp_ip.c
      net/l2tp/l2tp_ip6.c
    nfc: port100: handle command failure cleanly
    x86/speculation: Fix redundant MDS mitigation message
    x86/speculation: Fix incorrect MDS/TAA mitigation status
    x86/insn: Fix awk regexp warnings
    ARC: perf: Accommodate big-endian CPU
    ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary
    ocfs2: remove ocfs2_is_o2cb_active()
  * cpufreq: Skip cpufreq resume if it's not suspended
      drivers/cpufreq/cpufreq.c
  * arm64: fix for bad_mode() handler to always result in panic
      arch/arm64/kernel/traps.c
  * dm: use blk_set_queue_dying() in __dm_destroy()
      drivers/md/dm.c
    ath9k_hw: fix uninitialized variable data
  * KVM: MMU: Do not treat ZONE_DEVICE pages as being reserved
      include/linux/kvm_host.h
    Bluetooth: Fix invalid-free in bcsp_close()
    mm/memory_hotplug: Do not unlock when fails to take the device_hotplug_lock
    spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch
    PCI: keystone: Use quirk to limit MRRS for K2G
    pinctrl: zynq: Use define directive for PIN_CONFIG_IO_STANDARD
    pinctrl: lpc18xx: Use define directive for PIN_CONFIG_GPIO_PIN_INT
  * pinctrl: qcom: spmi-gpio: fix gpio-hog related boot issues
      drivers/pinctrl/qcom/pinctrl-spmi-gpio.c
  * sock: Reset dst when changing sk_mark via setsockopt
      net/core/sock.c
    net: bcmgenet: return correct value 'ret' from bcmgenet_power_down
    ACPICA: Use %d for signed int print formatting instead of %u
    dlm: don't leak kernel pointer to userspace
    dlm: fix invalid free
    scsi: lpfc: fcoe: Fix link down issue after 1000+ link bounces
    scsi: megaraid_sas: Fix msleep granularity
    scsi: mpt3sas: Fix driver modifying persistent data in Manufacturing page11
    scsi: mpt3sas: Fix Sync cache command failure during driver unload
    rtlwifi: rtl8192de: Fix misleading REG_MCUFWDL information
    wireless: airo: potential buffer overflow in sprintf()
    brcmsmac: never log "tid x is not agg'able" by default
    rtl8xxxu: Fix missing break in switch
    wlcore: Fix the return value in case of error in 'wlcore_vendor_cmd_smart_config_start()'
    audit: print empty EXECVE args
  * sched/fair: Don't increase sd->balance_interval on newidle balance
      kernel/sched/fair.c
  * net: do not abort bulk send on BQL status
      net/core/dev.c
    ocfs2: fix clusters leak in ocfs2_defrag_extent()
    ocfs2: don't put and assigning null to bh allocated outside
  * arm64: makefile fix build of .i file in external module case
      arch/arm64/Makefile
    ntb: intel: fix return value for ndev_vec_mask()
    ntb_netdev: fix sleep time mismatch
    igb: shorten maximum PHC timecounter update interval
  * mm/memory_hotplug: make add_memory() take the device_hotplug_lock
      include/linux/memory_hotplug.h
    fs/hfs/extent.c: fix array out of bounds read of array extent
    hfs: update timestamp on truncate()
    hfsplus: update timestamps on truncate()
    hfs: fix return value of hfs_get_block()
    hfsplus: fix return value of hfsplus_get_block()
    hfs: prevent btree data loss on ENOSPC
    hfsplus: prevent btree data loss on ENOSPC
    hfs: fix BUG on bnode parent update
    hfsplus: fix BUG on bnode parent update
  * linux/bitmap.h: fix type of nbits in bitmap_shift_right()
      include/linux/bitmap.h
  * linux/bitmap.h: handle constant zero-size bitmaps correctly
      include/linux/bitmap.h
    um: Make line/tty semantics use true write IRQ
    macsec: let the administrator set UP state even if lowerdev is down
    macsec: update operstate when lower device changes
  * mm/page-writeback.c: fix range_cyclic writeback vs writepages deadlock
      mm/page-writeback.c
    fs/ocfs2/dlm/dlmdebug.c: fix a sleep-in-atomic-context bug in dlm_print_one_mle()
    sparc64: Rework xchg() definition to avoid warnings.
    powerpc/process: Fix flush_all_to_thread for SPE
    thermal: rcar_thermal: Prevent hardware access during system suspend
    selftests/ftrace: Fix to test kprobe $comm arg only if available
    mfd: max8997: Enale irq-wakeup unconditionally
    mfd: mc13xxx-core: Fix PMIC shutdown when reading ADC values
    mfd: arizona: Correct calling of runtime_put_sync
    net: ethernet: ti: cpsw: unsync mcast entries while switch promisc mode
    qlcnic: fix a return in qlcnic_dcb_get_capability()
    mISDN: Fix type of switch control variable in ctrl_teimanager
  * f2fs: fix to spread clear_cold_data()
      fs/f2fs/data.c
      fs/f2fs/dir.c
      fs/f2fs/segment.c
    rtc: s35390a: Change buf's type to u8 in s35390a_init
    ceph: fix dentry leak in ceph_readdir_prepopulate
    sparc: Fix parport build warnings.
    spi: omap2-mcspi: Set FIFO DMA trigger level to word length
    s390/perf: Return error when debug_register fails
    atm: zatm: Fix empty body Clang warnings
    sunrpc: safely reallow resvport min/max inversion
    SUNRPC: Fix a compile warning for cmpxchg64()
    usbip: tools: fix atoi() on non-null terminated string
    USB: misc: appledisplay: fix backlight update_status return code
    macintosh/windfarm_smu_sat: Fix debug output
    ALSA: i2c/cs8427: Fix int to char conversion
    kprobes, x86/ptrace.h: Make regs_get_kernel_stack_nth() not fault on bad stack
    xfs: fix use-after-free race in xfs_buf_rele
  * net: ena: Fix Kconfig dependency on X86
      drivers/net/ethernet/amazon/Kconfig
  * net: fix warning in af_unix
      net/unix/af_unix.c
    scsi: dc395x: fix DMA API usage in sg_update_list
    scsi: dc395x: fix dma API usage in srb_done
    ASoC: tegra_sgtl5000: fix device_node refcounting
    clk: mmp2: fix the clock id for sdh2_clk and sdh3_clk
    scsi: iscsi_tcp: Explicitly cast param in iscsi_sw_tcp_host_get_param
    scsi: isci: Change sci_controller_start_task's return type to sci_status
    scsi: isci: Use proper enumerated type in atapi_d2h_reg_frame_handler
    KVM/x86: Fix invvpid and invept register operand size in 64-bit mode
    scsi: ips: fix missing break in switch
    amiflop: clean up on errors during setup
    m68k: fix command-line parsing when passed from u-boot
    misc: mic: fix a DMA pool free failure
    gsmi: Fix bug in append_to_eventlog sysfs handler
    btrfs: handle error of get_old_root
    mmc: mediatek: fix cannot receive new request when msdc_cmd_is_ready fail
    spi: sh-msiof: fix deferred probing
    ath10k: allocate small size dma memory in ath10k_pci_diag_write_mem
    brcmsmac: AP mode: update beacon when TIM changes
    powerpc/eeh: Fix use of EEH_PE_KEEP on wrong field
    powerpc: Fix signedness bug in update_flash_db()
    synclink_gt(): fix compat_ioctl()
    gfs2: Fix marking bitmaps non-full
  * printk: fix integer overflow in setup_log_buf()
      kernel/printk/printk.c
    ALSA: isight: fix leak of reference to firewire unit in error path of .probe callback
    mwifiex: Fix NL80211_TX_POWER_LIMITED
    platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi
    platform/x86: asus-nb-wmi: Support ALS on the Zenbook UX430UQ
    mm/ksm.c: don't WARN if page is still mapped in remove_stable_node()
    Revert "fs: ocfs2: fix possible null-pointer dereferences in ocfs2_xa_prepare_entry()"
    tools: gpio: Correctly add make dependencies for gpio_utils
    gpio: max77620: Fixup debounce delays
    net/sched: act_pedit: fix WARN() in the traffic path
    net/mlx5e: Fix set vf link state error flow
    sfc: Only cancel the PPS workqueue if it exists
  * net: rtnetlink: prevent underflows in do_setvfinfo()
      net/core/rtnetlink.c
    net/mlx4_en: fix mlx4 ethtool -N insertion
    Merge 4.9.203 into android-4.9-q
Linux 4.9.203
  * arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault
      arch/arm64/lib/clear_user.S
      arch/arm64/lib/copy_from_user.S
      arch/arm64/lib/copy_in_user.S
      arch/arm64/lib/copy_to_user.S
    ARM: dts: omap5: Fix dual-role mode on Super-Speed port
    spi: rockchip: initialize dma_slave_config properly
    mac80211: minstrel: fix CCK rate group streams value
    misc: cxl: Fix possible null pointer dereference
    hwmon: (ina3221) Fix INA3221_CONFIG_MODE macros
    hwmon: (pwm-fan) Silence error on probe deferral
    orangefs: rate limit the client not running info message
    ARM: 8802/1: Call syscall_trace_exit even when system call skipped
  * spi: spidev: Fix OF tree warning logic
      drivers/spi/spidev.c
    gpio: syscon: Fix possible NULL ptr usage
    x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error
    media: cx231xx: fix potential sign-extension overflow on large shift
    GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads
    media: isif: fix a NULL pointer dereference bug
  * printk: Give error on attempt to set log buffer length to over 2G
      kernel/printk/printk.c
    mfd: ti_am335x_tscadc: Keep ADC interface on if child is wakeup capable
    backlight: lm3639: Unconditionally call led_classdev_unregister
    proc/vmcore: Fix i386 build error of missing copy_oldmem_page_encrypted()
    s390/kasan: avoid vdso instrumentation
    bcache: recal cached_dev_sectors on detach
  * reset: Fix potential use-after-free in __of_reset_control_get()
      drivers/reset/core.c
    fbdev: sbuslib: integer overflow in sbusfb_ioctl_helper()
    fbdev: sbuslib: use checked version of put_user()
    iwlwifi: mvm: don't send keys when entering D3
    ACPI / SBS: Fix rare oops when removing modules
    crypto: mxs-dcp - Fix AES issues
    crypto: mxs-dcp - Fix SHA null hashes and output length
    x86/olpc: Fix build error with CONFIG_MFD_CS5535=m
    Input: silead - try firmware reload after unsuccessful resume
    Input: st1232 - set INPUT_PROP_DIRECT property
    dmaengine: ioat: fix prototype of ioat_enumerate_channels
    NFSv4.x: fix lock recovery during delegation recall
  * i2c: brcmstb: Allow enabling the driver on DSL SoCs
      drivers/i2c/busses/Kconfig
    clk: samsung: Use clk_hw API for calling clk framework from clk notifiers
    brcmfmac: fix full timeout waiting for action frame on-channel tx
    brcmfmac: reduce timeout for action frame scan
  * cpu/SMT: State SMT is disabled even with nosmt and without "=force"
      kernel/cpu.c
    mtd: physmap_of: Release resources on error
    USB: serial: cypress_m8: fix interrupt-out transfer length
    KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR
    ALSA: hda/sigmatel - Disable automute for Elo VuPoint
    media: pxa_camera: Fix check for pdev->dev.of_node
    ata: ep93xx: Use proper enums for directions
    ACPICA: Never run _REG on system_memory and system_IO
    IB/mlx4: Avoid implicit enumerated type conversion
    IB/mthca: Fix error return code in __mthca_init_one()
    ixgbe: Fix crash with VFs and flow director on interface flap
    mtd: rawnand: sh_flctl: Use proper enum for flctl_dma_fifo0_transfer
    powerpc/pseries: Fix how we iterate over the DTL entries
    powerpc/pseries: Fix DTL buffer registration
    cxgb4: Use proper enum in IEEE_FAUX_SYNC
    cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update
    mei: samples: fix a signedness bug in amt_host_if_call()
    dmaengine: timb_dma: Use proper enum in td_prep_slave_sg
    dmaengine: ep93xx: Return proper enum in ep93xx_dma_chan_direction
  * nl80211: Fix a GET_KEY reply attribute
      net/wireless/nl80211.c
    usb: gadget: udc: fotg210-udc: Fix a sleep-in-atomic-context bug in fotg210_get_status()
    ath9k: fix reporting calculated new FFT upper max
  * ata: ahci_brcm: Allow using driver or DSL SoCs
      drivers/ata/Kconfig
    ath10k: fix vdev-start timeout on error
    arm64/numa: Report correct memblock range for the dummy node
    kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table
  * SUNRPC: Fix priority queue fairness
      include/linux/sunrpc/sched.h
  * f2fs: return correct errno in f2fs_gc
      fs/f2fs/gc.c
    ARM: dts: omap5: enable OTG role for DWC3 controller
    net: xen-netback: fix return type of ndo_start_xmit function
    net: ovs: fix return type of ndo_start_xmit function
    libata: have ata_scsi_rw_xlat() fail invalid passthrough requests
  * block: introduce blk_rq_is_passthrough
      include/linux/blkdev.h
  * fbdev: Ditch fb_edid_add_monspecs
      drivers/video/fbdev/core/fbmon.c
      drivers/video/fbdev/core/modedb.c
      include/linux/fb.h
    uprobes/x86: Prohibit probing on MOV SS instruction
    kprobes/x86: Prohibit probing on exception masking instructions
    x86/atomic: Fix smp_mb__{before,after}_atomic()
  * net: cdc_ncm: Signedness bug in cdc_ncm_set_dgram_size()
      drivers/net/usb/cdc_ncm.c
    slcan: Fix memory leak in error path
  * memfd: Use radix_tree_deref_slot_protected to avoid the warning.
      mm/shmem.c
    IB/iser: Fix possible NULL deref at iser_inv_desc()
  * fuse: use READ_ONCE on congestion_threshold and max_background
      fs/fuse/control.c
    usb: xhci-mtk: fix ISOC error when interval is zero
    ARM: dts: lpc32xx: Fix SPI controller node names
    arm64: dts: lg: Fix SPI controller node names
    arm64: dts: amd: Fix SPI bus warnings
    scsi: NCR5380: Handle BUS FREE during reselection
    scsi: NCR5380: Don't call dsprintk() following reselection interrupt
    scsi: NCR5380: Don't clear busy flag when abort fails
    scsi: NCR5380: Check for invalid reselection target
    scsi: NCR5380: Use DRIVER_SENSE to indicate valid sense data
    scsi: NCR5380: Clear all unissued commands on host reset
  * crypto: fix a memory leak in rsa-kcs1pad's encryption mode
      crypto/rsa-pkcs1pad.c
    crypto: s5p-sss: Fix Fix argument list alignment
  * Bluetooth: L2CAP: Detect if remote is not able to use the whole MPS
      net/bluetooth/l2cap_core.c
    ARM: dts: realview: Fix SPI controller node names
  * EDAC: Raise the maximum number of memory controllers
      include/linux/edac.h
    net: smsc: fix return type of ndo_start_xmit function
    ARM: dts: paz00: fix wakeup gpio keycode
    ARM: tegra: apalis_t30: fix mmc1 cmd pull-up
    ARM: dts: tegra30: fix xcvr-setup-use-fuses
    scsi: libsas: always unregister the old device if going to discover new
    vfio/pci: Mask buggy SR-IOV VF INTx support
    vfio/pci: Fix potential memory leak in vfio_msi_cap_len
    misc: genwqe: should return proper error value.
    misc: kgdbts: Fix restrict error
    coresight: tmc: Fix byte-address alignment for RRP
    coresight: etm4x: Configure EL2 exception level when kernel is running in HYP
    coresight: Fix handling of sinks
    usb: gadget: uvc: Only halt video streaming endpoint in bulk mode
    usb: gadget: uvc: Factor out video USB request queueing
    phy: phy-twl4030-usb: fix denied runtime access
    usb: gadget: uvc: configfs: Prevent format changes after linking header
    usb: gadget: uvc: configfs: Drop leaked references to config items
    media: davinci: Fix implicit enum conversion warning
    media: au0828: Fix incorrect error messages
    media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init()
    MIPS: kexec: Relax memory restriction
    x86/CPU: Use correct macros for Cyrix calls
    net: micrel: fix return type of ndo_start_xmit function
    bnx2x: Ignore bandwidth attention in single function mode
    ARM: dts: marvell: Fix SPI and I2C bus warnings
  * cpufeature: avoid warning when compiling with clang
      include/linux/cpufeature.h
    spi: pic32: Use proper enum in dmaengine_prep_slave_rg
    ARM: dts: ste: Fix SPI controller node names
    ARM: dts: ux500: Fix LCDA clock line muxing
    ARM: dts: ux500: Correct SCU unit address
  * f2fs: fix to recover inode's uid/gid during POR
      fs/f2fs/recovery.c
    ARM: dts: am335x-evm: fix number of cpsw
    mlxsw: spectrum: Init shaper for TCs 8..15
    usb: chipidea: Fix otg event handler
    usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started
    net: amd: fix return type of ndo_start_xmit function
    net: broadcom: fix return type of ndo_start_xmit function
    net: xilinx: fix return type of ndo_start_xmit function
    net: toshiba: fix return type of ndo_start_xmit function
    power: supply: twl4030_charger: disable eoc interrupt on linear charge
    power: supply: twl4030_charger: fix charging current out-of-bounds
  * libfdt: Ensure INT_MAX is defined in libfdt_env.h
      include/linux/libfdt_env.h
    RDMA/i40iw: Fix incorrect iterator type
    powerpc/pseries: Disable CPU hotplug across migrations
    powerpc/64s/hash: Fix stab_rr off by one initialization
    powerpc/iommu: Avoid derefence before pointer check
    serial: mxs-auart: Fix potential infinite loop
    PCI/ACPI: Correct error message for ASPM disabling
    s390/qeth: invoke softirqs after napi_schedule()
    ath9k: Fix a locking bug in ath9k_add_interface()
    ARM: dts: rockchip: Fix erroneous SPI bus dtc warnings on rk3036
    ip_gre: fix parsing gre header in ipgre_err
  * kernfs: Fix range checks in kernfs_get_target_path
      fs/kernfs/symlink.c
  * component: fix loop condition to call unbind() if bind() fails
      drivers/base/component.c
    power: supply: max8998-charger: Fix platform data retrieval
    power: reset: at91-poweroff: do not procede if at91_shdwc is allocated
    power: supply: ab8500_fg: silence uninitialized variable warnings
    cxgb4: Fix endianness issue in t4_fwcache()
    pinctrl: at91: don't use the same irqchip with multiple gpiochips
    ARM: dts: socfpga: Fix I2C bus unit-address error
    powerpc/vdso: Correct call frame information
    ARM: dts: qcom: ipq4019: fix cpu0's qcom,saw2 reg value
  * llc: avoid blocking in llc_sap_close()
      include/net/llc.h
      net/llc/llc_core.c
    pinctrl: at91-pio4: fix has_config check in atmel_pctl_dt_subnode_to_map()
    ALSA: intel8x0m: Register irq handler after register initializations
  * media: dvb: fix compat ioctl translation
      fs/compat_ioctl.c
    media: fix: media: pci: meye: validate offset to avoid arbitrary access
  * nvmem: core: return error code instead of NULL from nvmem_device_get
      drivers/nvmem/core.c
  * kprobes: Don't call BUG_ON() if there is a kprobe in use on free list
      kernel/kprobes.c
    scsi: pm80xx: Fixed system hang issue during kexec boot
    scsi: pm80xx: Corrected dma_unmap_sg() parameter
    ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set
    scsi: sym53c8xx: fix NULL pointer dereference panic in sym_int_sir()
  * f2fs: fix memory leak of percpu counter in fill_super()
      fs/f2fs/super.c
    signal: Properly deliver SIGSEGV from x86 uprobes
    signal: Properly deliver SIGILL from uprobes
  * signal: Always ignore SIGKILL and SIGSTOP sent to the global init
      kernel/signal.c
    ath9k: add back support for using active monitor interfaces for tx99
    dmaengine: dma-jz4780: Further residue status fix
  * dmaengine: dma-jz4780: Don't depend on MACH_JZ4780
      drivers/dma/Kconfig
    ARM: dts: omap3-gta04: keep vpll2 always on
    ARM: dts: omap3-gta04: make NAND partitions compatible with recent U-Boot
    ARM: dts: omap3-gta04: fix touchscreen tsc2007
    ARM: dts: omap3-gta04: tvout: enable as display1 alias
    ARM: dts: omap3-gta04: fixes for tvout / venc
    ARM: dts: omap3-gta04: give spi_lcd node a label so that we can overwrite in other DTS files
  * of: make PowerMac cache node search conditional on CONFIG_PPC_PMAC
      drivers/of/base.c
    ASoC: Intel: hdac_hdmi: Limit sampling rates at dai creation
    mips: txx9: fix iounmap related issue
    ath10k: wmi: disable softirq's while calling ieee80211_rx
    ARM: dts: exynos: Disable pull control for S5M8767 PMIC
    ASoC: sgtl5000: avoid division by zero if lo_vag is zero
    net: lan78xx: Bail out if lan78xx_get_endpoints fails
    rtl8187: Fix warning generated when strncpy() destination length matches the sixe argument
    ARM: dts: pxa: fix power i2c base address
    iwlwifi: mvm: avoid sending too many BARs
    IB/rxe: fixes for rdma read retry
    i40e: Prevent deleting MAC address from VF when set by PF
    i40e: hold the rtnl lock on clearing interrupt scheme
    i40e: use correct length for strncpy
    ARM: dts: exynos: Fix regulators configuration on Peach Pi/Pit Chromebooks
    ARM: dts: exynos: Fix sound in Snow-rev5 Chromebook
    MIPS: BCM47XX: Enable USB power on Netgear WNDR3400v3
  * ASoC: dpcm: Properly initialise hw->rate_max
      sound/soc/soc-pcm.c
    gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
    ath9k: fix tx99 with monitor mode interface
    ALSA: seq: Do error checks at creating system ports
  * cfg80211: Avoid regulatory restore when COUNTRY_IE_IGNORE is set
      net/wireless/reg.c
    ARM: dts: at91/trivial: Fix USART1 definition for at91sam9g45
    arm64: dts: tegra210-p2180: Correct sdmmc4 vqmmc-supply
    ALSA: pcm: signedness bug in snd_pcm_plug_alloc()
    iio: dac: mcp4922: fix error handling in mcp4922_write_raw
    ath10k: fix kernel panic by moving pci flush after napi_disable
    mmc: sdhci-of-at91: fix quirk2 overwrite
    mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup()
  * mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm()
      mm/memcontrol.c
    iommu/vt-d: Fix QI_DEV_IOTLB_PFSID and QI_DEV_EIOTLB_PFSID macros
  * ecryptfs_lookup_interpose(): lower_dentry->d_parent is not stable either
      fs/ecryptfs/inode.c
  * ecryptfs_lookup_interpose(): lower_dentry->d_inode is not stable
      fs/ecryptfs/inode.c
    IB/hfi1: Ensure full Gen3 speed in a Gen4 system
    Input: synaptics-rmi4 - destroy F54 poller workqueue when removing
    Input: synaptics-rmi4 - clear IRQ enables for F54
    Input: synaptics-rmi4 - fix video buffer size
  * Input: ff-memless - kill timer in destroy()
      drivers/input/ff-memless.c
  * ALSA: usb-audio: not submit urb for stopped endpoint
      sound/usb/endpoint.c
  * ALSA: usb-audio: Fix missing error check at mixer resolution test
      sound/usb/mixer.c
    slip: Fix memory leak in slip_open error path
  * ax88172a: fix information leak on short answers
      drivers/net/usb/ax88172a.c
    Merge 4.9.202 into android-4.9-q
Linux 4.9.202
    Documentation: Add ITLB_MULTIHIT documentation
    kvm: x86: mmu: Recovery of shattered NX large pages
  * kvm: Add helper function for creating VM worker threads
      include/linux/kvm_host.h
    kvm: mmu: ITLB_MULTIHIT mitigation
  * cpu/speculation: Uninline and export CPU mitigations helpers
      include/linux/cpu.h
      kernel/cpu.c
  * x86/bugs: Add ITLB_MULTIHIT bug infrastructure
      drivers/base/cpu.c
      include/linux/cpu.h
    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: Add is_executable_pte()
    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: x86: Do not release the page inside mmu_set_spte()
  * kvm: Convert kvm_lock to a mutex
      include/linux/kvm_host.h
    KVM: x86: extend usage of RET_MMIO_PF_* constants
    KVM: x86: simplify ept_misconfig
    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
      drivers/base/cpu.c
      include/linux/cpu.h
    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
  * usb: gadget: core: unmap request from DMA only if previously mapped
      drivers/usb/gadget/udc/core.c
      include/linux/usb/gadget.h
    MIPS: BCM63XX: fix switch core reset on BCM6368
    Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto()
    kvm: mmu: Don't read PDPTEs when paging is not enabled
    Merge 4.9.201 into android-4.9-q
Linux 4.9.201
    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
    drm/i915: Move engine->needs_cmd_parser to engine->flags
    drm/i915: Silence smatch for cmdparser
    drm/i915/cmdparser: Do not check past the cmd length.
    drm/i915/cmdparser: Check reg_table_count before derefencing.
  * drm/i915: Prevent writing into a read-only object via a GGTT mmap
      drivers/gpu/drm/drm_gem.c
      include/drm/drm_vma_manager.h
    drm/i915/gtt: Disable read-only support under GVT
    drm/i915/gtt: Read-only pages for insert_entries on bdw+
    drm/i915/gtt: Add read only pages to gen8_pte_encode
    drm/i915/cmdparser: Limit clflush to active cachelines
    drm/i915: Use the precomputed value for whether to enable command parsing
    drm/i915: don't whitelist oacontrol in cmd parser
    drm/i915: return EACCES for check_cmd() failures
    drm/i915: cleanup use of INSTR_CLIENT_MASK
    drm/i915: kick out cmd_parser specific structs from i915_drv.h
  * net: prevent load/store tearing on sk->sk_stamp
      include/net/sock.h
  * cgroup,writeback: don't switch wbs immediately on dead wbs if the memcg is dead
      fs/fs-writeback.c
  * mm/filemap.c: don't initiate writeback if mapping has no dirty pages
      mm/filemap.c
    can: flexcan: disable completely the ECC mechanism
    x86/apic/32: Avoid bogus LDR warnings
    x86/apic: Drop logical_smp_processor_id() inline
    x86/apic: Move pending interrupt check code into it's own function
    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
    net: hisilicon: Fix "Trying to free already-free IRQ"
    fjes: Handle workqueue allocation failure
    scsi: qla2xxx: stop timer in shutdown path
    RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case
  * USB: Skip endpoints with 0 maxpacket length
      drivers/usb/core/config.c
    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
      drivers/usb/dwc3/core.c
  * usb: gadget: configfs: fix concurrent issue between composite APIs
      drivers/usb/gadget/configfs.c
  * usb: gadget: composite: Fix possible double free memory bug
      drivers/usb/gadget/composite.c
    usb: gadget: udc: atmel: Fix interrupt storm in FIFO mode.
    usb: fsl: Check memory resource before releasing it
  * bonding: fix unexpected IFF_BONDING bit unset
      drivers/net/bonding/bond_main.c
    ipvs: move old_secure_tcp into struct netns_ipvs
    scsi: lpfc: Honor module parameter lpfc_use_adisc
    scsi: qla2xxx: fixup incorrect usage of host_byte
    HID: intel-ish-hid: fix wrong error handling in ishtp_cl_alloc_tx_ring()
    dmaengine: xilinx_dma: Fix control reg update in vdma_channel_set_config
    PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30
    drivers: usb: usbip: Add missing break statement to switch
    usbip: fix possibility of dereference by NULLL pointer in vhci_hcd.c
    usbip: Fix vhci_urb_enqueue() URB null transfer buffer error path
    usbip: stub_rx: fix static checker warning on unnecessary checks
  * configfs: fix a deadlock in configfs_symlink()
      fs/configfs/symlink.c
  * configfs: provide exclusion between IO and removals
      fs/configfs/dir.c
      fs/configfs/file.c
  * configfs: new object reprsenting tree fragments
      fs/configfs/configfs_internal.h
      fs/configfs/dir.c
      fs/configfs/file.c
  * configfs_register_group() shouldn't be (and isn't) called in rmdirable parts
      fs/configfs/dir.c
  * configfs: stash the data we need into configfs_buffer at open time
      fs/configfs/file.c
  * configfs: Fix bool initialization/comparison
      fs/configfs/file.c
    can: peak_usb: fix slab info leak
    can: gs_usb: gs_can_open(): prevent memory 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: usb_8dev: fix use-after-free on disconnect
    netfilter: ipset: Fix an error code in ip_set_sockfn_get()
    netfilter: nf_tables: Align nft_expr private data to 64-bit
    iio: imu: adis16480: make sure provided frequency is positive
    ceph: fix use-after-free in __ceph_remove_cap()
    drm/radeon: fix si_enable_smc_cac() failed issue
    perf tools: Fix time sorting
  * dump_stack: avoid the livelock of the dump_lock
      lib/dump_stack.c
  * mm, vmstat: hide /proc/pagetypeinfo from normal users
      mm/vmstat.c
  * mm: thp: handle page cache THP correctly in PageTransCompoundMap
      include/linux/mm.h
      include/linux/mm_types.h
      include/linux/page-flags.h
    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
      sound/core/timer.c
    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: fix data-race in neigh_event_send()
      include/net/neighbour.h
  * ipv4: Fix table id reference in fib_sync_down_addr
      net/ipv4/fib_semantics.c
  * CDC-NCM: handle incomplete transfer of MTU
      drivers/net/usb/cdc_ncm.c

Change-Id: Ifaaf6cdd987868ca6419f420861770830d999f9c
Signed-off-by: lucaswei <lucaswei@google.com>
2019-12-17 13:25:36 +08:00
Greg Kroah-Hartman
13ff5130ff Merge 4.9.203 into android-4.9-q
Changes in 4.9.203
	ax88172a: fix information leak on short answers
	slip: Fix memory leak in slip_open error path
	ALSA: usb-audio: Fix missing error check at mixer resolution test
	ALSA: usb-audio: not submit urb for stopped endpoint
	Input: ff-memless - kill timer in destroy()
	Input: synaptics-rmi4 - fix video buffer size
	Input: synaptics-rmi4 - clear IRQ enables for F54
	Input: synaptics-rmi4 - destroy F54 poller workqueue when removing
	IB/hfi1: Ensure full Gen3 speed in a Gen4 system
	ecryptfs_lookup_interpose(): lower_dentry->d_inode is not stable
	ecryptfs_lookup_interpose(): lower_dentry->d_parent is not stable either
	iommu/vt-d: Fix QI_DEV_IOTLB_PFSID and QI_DEV_EIOTLB_PFSID macros
	mm: memcg: switch to css_tryget() in get_mem_cgroup_from_mm()
	mm: hugetlb: switch to css_tryget() in hugetlb_cgroup_charge_cgroup()
	mmc: sdhci-of-at91: fix quirk2 overwrite
	ath10k: fix kernel panic by moving pci flush after napi_disable
	iio: dac: mcp4922: fix error handling in mcp4922_write_raw
	ALSA: pcm: signedness bug in snd_pcm_plug_alloc()
	arm64: dts: tegra210-p2180: Correct sdmmc4 vqmmc-supply
	ARM: dts: at91/trivial: Fix USART1 definition for at91sam9g45
	cfg80211: Avoid regulatory restore when COUNTRY_IE_IGNORE is set
	ALSA: seq: Do error checks at creating system ports
	ath9k: fix tx99 with monitor mode interface
	gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
	ASoC: dpcm: Properly initialise hw->rate_max
	MIPS: BCM47XX: Enable USB power on Netgear WNDR3400v3
	ARM: dts: exynos: Fix sound in Snow-rev5 Chromebook
	ARM: dts: exynos: Fix regulators configuration on Peach Pi/Pit Chromebooks
	i40e: use correct length for strncpy
	i40e: hold the rtnl lock on clearing interrupt scheme
	i40e: Prevent deleting MAC address from VF when set by PF
	IB/rxe: fixes for rdma read retry
	iwlwifi: mvm: avoid sending too many BARs
	ARM: dts: pxa: fix power i2c base address
	rtl8187: Fix warning generated when strncpy() destination length matches the sixe argument
	net: lan78xx: Bail out if lan78xx_get_endpoints fails
	ASoC: sgtl5000: avoid division by zero if lo_vag is zero
	ARM: dts: exynos: Disable pull control for S5M8767 PMIC
	ath10k: wmi: disable softirq's while calling ieee80211_rx
	mips: txx9: fix iounmap related issue
	ASoC: Intel: hdac_hdmi: Limit sampling rates at dai creation
	of: make PowerMac cache node search conditional on CONFIG_PPC_PMAC
	ARM: dts: omap3-gta04: give spi_lcd node a label so that we can overwrite in other DTS files
	ARM: dts: omap3-gta04: fixes for tvout / venc
	ARM: dts: omap3-gta04: tvout: enable as display1 alias
	ARM: dts: omap3-gta04: fix touchscreen tsc2007
	ARM: dts: omap3-gta04: make NAND partitions compatible with recent U-Boot
	ARM: dts: omap3-gta04: keep vpll2 always on
	dmaengine: dma-jz4780: Don't depend on MACH_JZ4780
	dmaengine: dma-jz4780: Further residue status fix
	ath9k: add back support for using active monitor interfaces for tx99
	signal: Always ignore SIGKILL and SIGSTOP sent to the global init
	signal: Properly deliver SIGILL from uprobes
	signal: Properly deliver SIGSEGV from x86 uprobes
	f2fs: fix memory leak of percpu counter in fill_super()
	scsi: sym53c8xx: fix NULL pointer dereference panic in sym_int_sir()
	ARM: imx6: register pm_power_off handler if "fsl,pmic-stby-poweroff" is set
	scsi: pm80xx: Corrected dma_unmap_sg() parameter
	scsi: pm80xx: Fixed system hang issue during kexec boot
	kprobes: Don't call BUG_ON() if there is a kprobe in use on free list
	nvmem: core: return error code instead of NULL from nvmem_device_get
	media: fix: media: pci: meye: validate offset to avoid arbitrary access
	media: dvb: fix compat ioctl translation
	ALSA: intel8x0m: Register irq handler after register initializations
	pinctrl: at91-pio4: fix has_config check in atmel_pctl_dt_subnode_to_map()
	llc: avoid blocking in llc_sap_close()
	ARM: dts: qcom: ipq4019: fix cpu0's qcom,saw2 reg value
	powerpc/vdso: Correct call frame information
	ARM: dts: socfpga: Fix I2C bus unit-address error
	pinctrl: at91: don't use the same irqchip with multiple gpiochips
	cxgb4: Fix endianness issue in t4_fwcache()
	power: supply: ab8500_fg: silence uninitialized variable warnings
	power: reset: at91-poweroff: do not procede if at91_shdwc is allocated
	power: supply: max8998-charger: Fix platform data retrieval
	component: fix loop condition to call unbind() if bind() fails
	kernfs: Fix range checks in kernfs_get_target_path
	ip_gre: fix parsing gre header in ipgre_err
	ARM: dts: rockchip: Fix erroneous SPI bus dtc warnings on rk3036
	ath9k: Fix a locking bug in ath9k_add_interface()
	s390/qeth: invoke softirqs after napi_schedule()
	PCI/ACPI: Correct error message for ASPM disabling
	serial: mxs-auart: Fix potential infinite loop
	powerpc/iommu: Avoid derefence before pointer check
	powerpc/64s/hash: Fix stab_rr off by one initialization
	powerpc/pseries: Disable CPU hotplug across migrations
	RDMA/i40iw: Fix incorrect iterator type
	libfdt: Ensure INT_MAX is defined in libfdt_env.h
	power: supply: twl4030_charger: fix charging current out-of-bounds
	power: supply: twl4030_charger: disable eoc interrupt on linear charge
	net: toshiba: fix return type of ndo_start_xmit function
	net: xilinx: fix return type of ndo_start_xmit function
	net: broadcom: fix return type of ndo_start_xmit function
	net: amd: fix return type of ndo_start_xmit function
	usb: chipidea: imx: enable OTG overcurrent in case USB subsystem is already started
	usb: chipidea: Fix otg event handler
	mlxsw: spectrum: Init shaper for TCs 8..15
	ARM: dts: am335x-evm: fix number of cpsw
	f2fs: fix to recover inode's uid/gid during POR
	ARM: dts: ux500: Correct SCU unit address
	ARM: dts: ux500: Fix LCDA clock line muxing
	ARM: dts: ste: Fix SPI controller node names
	spi: pic32: Use proper enum in dmaengine_prep_slave_rg
	cpufeature: avoid warning when compiling with clang
	ARM: dts: marvell: Fix SPI and I2C bus warnings
	bnx2x: Ignore bandwidth attention in single function mode
	net: micrel: fix return type of ndo_start_xmit function
	x86/CPU: Use correct macros for Cyrix calls
	MIPS: kexec: Relax memory restriction
	media: pci: ivtv: Fix a sleep-in-atomic-context bug in ivtv_yuv_init()
	media: au0828: Fix incorrect error messages
	media: davinci: Fix implicit enum conversion warning
	usb: gadget: uvc: configfs: Drop leaked references to config items
	usb: gadget: uvc: configfs: Prevent format changes after linking header
	phy: phy-twl4030-usb: fix denied runtime access
	usb: gadget: uvc: Factor out video USB request queueing
	usb: gadget: uvc: Only halt video streaming endpoint in bulk mode
	coresight: Fix handling of sinks
	coresight: etm4x: Configure EL2 exception level when kernel is running in HYP
	coresight: tmc: Fix byte-address alignment for RRP
	misc: kgdbts: Fix restrict error
	misc: genwqe: should return proper error value.
	vfio/pci: Fix potential memory leak in vfio_msi_cap_len
	vfio/pci: Mask buggy SR-IOV VF INTx support
	scsi: libsas: always unregister the old device if going to discover new
	ARM: dts: tegra30: fix xcvr-setup-use-fuses
	ARM: tegra: apalis_t30: fix mmc1 cmd pull-up
	ARM: dts: paz00: fix wakeup gpio keycode
	net: smsc: fix return type of ndo_start_xmit function
	EDAC: Raise the maximum number of memory controllers
	ARM: dts: realview: Fix SPI controller node names
	Bluetooth: L2CAP: Detect if remote is not able to use the whole MPS
	crypto: s5p-sss: Fix Fix argument list alignment
	crypto: fix a memory leak in rsa-kcs1pad's encryption mode
	scsi: NCR5380: Clear all unissued commands on host reset
	scsi: NCR5380: Use DRIVER_SENSE to indicate valid sense data
	scsi: NCR5380: Check for invalid reselection target
	scsi: NCR5380: Don't clear busy flag when abort fails
	scsi: NCR5380: Don't call dsprintk() following reselection interrupt
	scsi: NCR5380: Handle BUS FREE during reselection
	arm64: dts: amd: Fix SPI bus warnings
	arm64: dts: lg: Fix SPI controller node names
	ARM: dts: lpc32xx: Fix SPI controller node names
	usb: xhci-mtk: fix ISOC error when interval is zero
	fuse: use READ_ONCE on congestion_threshold and max_background
	IB/iser: Fix possible NULL deref at iser_inv_desc()
	memfd: Use radix_tree_deref_slot_protected to avoid the warning.
	slcan: Fix memory leak in error path
	net: cdc_ncm: Signedness bug in cdc_ncm_set_dgram_size()
	x86/atomic: Fix smp_mb__{before,after}_atomic()
	kprobes/x86: Prohibit probing on exception masking instructions
	uprobes/x86: Prohibit probing on MOV SS instruction
	fbdev: Ditch fb_edid_add_monspecs
	block: introduce blk_rq_is_passthrough
	libata: have ata_scsi_rw_xlat() fail invalid passthrough requests
	net: ovs: fix return type of ndo_start_xmit function
	net: xen-netback: fix return type of ndo_start_xmit function
	ARM: dts: omap5: enable OTG role for DWC3 controller
	f2fs: return correct errno in f2fs_gc
	SUNRPC: Fix priority queue fairness
	kvm: arm/arm64: Fix stage2_flush_memslot for 4 level page table
	arm64/numa: Report correct memblock range for the dummy node
	ath10k: fix vdev-start timeout on error
	ata: ahci_brcm: Allow using driver or DSL SoCs
	ath9k: fix reporting calculated new FFT upper max
	usb: gadget: udc: fotg210-udc: Fix a sleep-in-atomic-context bug in fotg210_get_status()
	nl80211: Fix a GET_KEY reply attribute
	dmaengine: ep93xx: Return proper enum in ep93xx_dma_chan_direction
	dmaengine: timb_dma: Use proper enum in td_prep_slave_sg
	mei: samples: fix a signedness bug in amt_host_if_call()
	cxgb4: Use proper enum in cxgb4_dcb_handle_fw_update
	cxgb4: Use proper enum in IEEE_FAUX_SYNC
	powerpc/pseries: Fix DTL buffer registration
	powerpc/pseries: Fix how we iterate over the DTL entries
	mtd: rawnand: sh_flctl: Use proper enum for flctl_dma_fifo0_transfer
	ixgbe: Fix crash with VFs and flow director on interface flap
	IB/mthca: Fix error return code in __mthca_init_one()
	IB/mlx4: Avoid implicit enumerated type conversion
	ACPICA: Never run _REG on system_memory and system_IO
	ata: ep93xx: Use proper enums for directions
	media: pxa_camera: Fix check for pdev->dev.of_node
	ALSA: hda/sigmatel - Disable automute for Elo VuPoint
	KVM: PPC: Book3S PR: Exiting split hack mode needs to fixup both PC and LR
	USB: serial: cypress_m8: fix interrupt-out transfer length
	mtd: physmap_of: Release resources on error
	cpu/SMT: State SMT is disabled even with nosmt and without "=force"
	brcmfmac: reduce timeout for action frame scan
	brcmfmac: fix full timeout waiting for action frame on-channel tx
	clk: samsung: Use clk_hw API for calling clk framework from clk notifiers
	i2c: brcmstb: Allow enabling the driver on DSL SoCs
	NFSv4.x: fix lock recovery during delegation recall
	dmaengine: ioat: fix prototype of ioat_enumerate_channels
	Input: st1232 - set INPUT_PROP_DIRECT property
	Input: silead - try firmware reload after unsuccessful resume
	x86/olpc: Fix build error with CONFIG_MFD_CS5535=m
	crypto: mxs-dcp - Fix SHA null hashes and output length
	crypto: mxs-dcp - Fix AES issues
	ACPI / SBS: Fix rare oops when removing modules
	iwlwifi: mvm: don't send keys when entering D3
	fbdev: sbuslib: use checked version of put_user()
	fbdev: sbuslib: integer overflow in sbusfb_ioctl_helper()
	reset: Fix potential use-after-free in __of_reset_control_get()
	bcache: recal cached_dev_sectors on detach
	s390/kasan: avoid vdso instrumentation
	proc/vmcore: Fix i386 build error of missing copy_oldmem_page_encrypted()
	backlight: lm3639: Unconditionally call led_classdev_unregister
	mfd: ti_am335x_tscadc: Keep ADC interface on if child is wakeup capable
	printk: Give error on attempt to set log buffer length to over 2G
	media: isif: fix a NULL pointer dereference bug
	GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads
	media: cx231xx: fix potential sign-extension overflow on large shift
	x86/kexec: Correct KEXEC_BACKUP_SRC_END off-by-one error
	gpio: syscon: Fix possible NULL ptr usage
	spi: spidev: Fix OF tree warning logic
	ARM: 8802/1: Call syscall_trace_exit even when system call skipped
	orangefs: rate limit the client not running info message
	hwmon: (pwm-fan) Silence error on probe deferral
	hwmon: (ina3221) Fix INA3221_CONFIG_MODE macros
	misc: cxl: Fix possible null pointer dereference
	mac80211: minstrel: fix CCK rate group streams value
	spi: rockchip: initialize dma_slave_config properly
	ARM: dts: omap5: Fix dual-role mode on Super-Speed port
	arm64: uaccess: Ensure PAN is re-enabled after unhandled uaccess fault
	Linux 4.9.203

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-11-25 10:11:00 +01:00
Borislav Petkov
6270cc3754 cpu/SMT: State SMT is disabled even with nosmt and without "=force"
[ Upstream commit d0e7d14455d41163126afecd0fcce935463cc512 ]

When booting with "nosmt=force" a message is issued into dmesg to
confirm that SMT has been force-disabled but such a message is not
issued when only "nosmt" is on the kernel command line.

Fix that.

Signed-off-by: Borislav Petkov <bp@suse.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20181004172227.10094-1-bp@alien8.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-11-25 09:53:32 +01:00
Greg Kroah-Hartman
258971b8e1 Merge 4.9.202 into android-4.9-q
Changes in 4.9.202
	kvm: mmu: Don't read PDPTEs when paging is not enabled
	Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in hci_uart_set_proto()
	MIPS: BCM63XX: fix switch core reset on BCM6368
	usb: gadget: core: unmap request from DMA only if previously mapped
	KVM: x86: use Intel speculation bugs and features as derived in generic x86 code
	x86/msr: Add the IA32_TSX_CTRL MSR
	x86/cpu: Add a helper function x86_read_arch_cap_msr()
	x86/cpu: Add a "tsx=" cmdline option with TSX disabled by default
	x86/speculation/taa: Add mitigation for TSX Async Abort
	x86/speculation/taa: Add sysfs reporting for TSX Async Abort
	kvm/x86: Export MDS_NO=0 to guests when TSX is enabled
	x86/tsx: Add "auto" option to the tsx= cmdline parameter
	x86/speculation/taa: Add documentation for TSX Async Abort
	x86/tsx: Add config options to set tsx=on|off|auto
	x86/speculation/taa: Fix printing of TAA_MSG_SMT on IBRS_ALL CPUs
	KVM: x86: simplify ept_misconfig
	KVM: x86: extend usage of RET_MMIO_PF_* constants
	kvm: Convert kvm_lock to a mutex
	kvm: x86: Do not release the page inside mmu_set_spte()
	KVM: x86: make FNAME(fetch) and __direct_map more similar
	KVM: x86: remove now unneeded hugepage gfn adjustment
	KVM: x86: change kvm_mmu_page_get_gfn BUG_ON to WARN_ON
	KVM: x86: Add is_executable_pte()
	KVM: x86: add tracepoints around __direct_map and FNAME(fetch)
	KVM: vmx, svm: always run with EFER.NXE=1 when shadow paging is active
	x86/bugs: Add ITLB_MULTIHIT bug infrastructure
	cpu/speculation: Uninline and export CPU mitigations helpers
	kvm: mmu: ITLB_MULTIHIT mitigation
	kvm: Add helper function for creating VM worker threads
	kvm: x86: mmu: Recovery of shattered NX large pages
	Documentation: Add ITLB_MULTIHIT documentation
	Linux 4.9.202

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-11-16 11:05:12 +01:00
Tyler Hicks
e2bd0778ad 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: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-16 10:29:54 +01:00
Robin Peng
3352ba1a12 Merge android-4.9 (4.9.185) into android-msm-pixel-4.9-lts
Merge 4.9.185 into android-4.9
Linux 4.9.185
  * arm64: kaslr: keep modules inside module region when KASAN is enabled
      arch/arm64/kernel/module.c
    dmaengine: imx-sdma: remove BD_INTR for channel0
    MIPS: Add missing EHB in mtc0 -> mfc0 sequence.
    IB/hfi1: Close PSM sdma_progress sleep window
    KVM: LAPIC: Fix pending interrupt in IRR blocked by software disable LAPIC
  * arm64, vdso: Define vdso_{start,end} as array
      arch/arm64/kernel/vdso.c
    tty: rocket: fix incorrect forward declaration of 'rp_init()'
    btrfs: Ensure replaced device doesn't have pending chunk allocation
    drm/imx: only send event on crtc disable if kept disabled
    drm/imx: notify drm core before sending event during crtc disable
  * lib/mpi: Fix karactx leak in mpi_powm
      lib/mpi/mpi-pow.c
  * ALSA: usb-audio: fix sign unintended sign extension on left shifts
      sound/usb/mixer_quirks.c
    ALSA: line6: Fix write on zero-sized buffer
    ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
    ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
    crypto: user - prevent operating on larval algorithms
  * ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
      kernel/ptrace.c
    MIPS: Workaround GCC __builtin_unreachable reordering bug
    drm/i915/dmc: protect against reading random memory
    KVM: x86: degrade WARN to pr_warn_ratelimited
    clk: sunxi: fix uninitialized access
    ARC: handle gcc generated __builtin_trap for older compiler
  * bug.h: work around GCC PR82365 in BUG()
      include/asm-generic/bug.h
      include/linux/compiler-gcc.h
      include/linux/compiler.h
    ARC: fix allnoconfig build warning
    mfd: omap-usb-tll: Fix register offsets
    MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
    MIPS: math-emu: do not use bools for arithmetic
  * mm/mlock.c: change count_mm_mlocked_page_nr return type
      mm/mlock.c
    scripts/decode_stacktrace.sh: prefix addr2line with $CROSS_COMPILE
    scsi: hpsa: correct ioaccel2 chaining
    usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
    usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
    ASoC: max98090: remove 24-bit format support if RJ is 0
    drm/mediatek: fix unbind functions
    spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
  * ASoC: soc-pcm: BE dai needs prepare when pause release after resume
      sound/soc/soc-pcm.c
    ASoC : cs4265 : readable register too low
  * Bluetooth: Fix faulty expression for minimum encryption key size check
      net/bluetooth/l2cap_core.c
    tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb
  * bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err
      net/ipv6/udp.c
  * bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro
      net/ipv4/udp.c
      net/ipv6/udp.c
  * net: check before dereferencing netdev_ops during busy poll
      net/core/dev.c
  * ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
      net/ipv4/raw.c
  * bonding: Always enable vlan tx offload
      drivers/net/bonding/bond_main.c
    team: Always enable vlan tx offload
  * tun: wake up waitqueues after IFF_UP is set
      drivers/net/tun.c
    tipc: check msg->req data len in tipc_nl_compat_bearer_disable
    tipc: change to use register_pernet_device
    sctp: change to hold sk after auth shkey is created successfully
    net: stmmac: fixed new system time seconds value calculation
  * af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET
      net/packet/af_packet.c
      net/packet/internal.h
  * cpu/speculation: Warn on unsupported mitigations= parameter
      kernel/cpu.c
    NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O
    x86/speculation: Allow guests to use SSBD even if host does not
    scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
  * mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
      mm/page_idle.c
    fs/binfmt_flat.c: make load_flat_shared_library() work
  * fs/proc/array.c: allow reporting eip/esp for all coredumping threads
      fs/proc/array.c
    net/9p: include trans_common.h to fix missing prototype warning.
    9p: p9dirent_read: check network-provided name length
    9p/rdma: remove useless check in cm_event_handler
    9p: acl: fix uninitialized iattr access
    9p/rdma: do not disconnect on down_interruptible EAGAIN
    perf header: Fix unchecked usage of strncpy()
    perf help: Remove needless use of strncpy()
    perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
    IB/hfi1: Avoid hardlockup with flushlist_lock
    mac80211: Do not use stack memory with scatterlist for GMAC
    mac80211: drop robust management frames from unknown TA
  * cfg80211: fix memory leak of wiphy device name
      net/wireless/core.c
  * Bluetooth: Fix regression with minimum encryption key size alignment
      net/bluetooth/hci_conn.c
      net/bluetooth/l2cap_core.c
  * Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
    ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
    powerpc/bpf: use unsigned division instruction for 64-bit operations
    can: purge socket error queue on sock destruct
    can: flexcan: fix timeout when set small bitrate
    btrfs: start readahead also in seed devices
    nvme: Fix u32 overflow in the number of namespace list calculation
    hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
    s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
  * scsi: ufs: Check that space was properly alloced in copy_query_response
      drivers/scsi/ufs/ufshcd.c
    scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
    drm/arm/hdlcd: Allow a bit of clock tolerance
    net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW RX_2BYTE_OFFSET is enabled
    net: ethernet: mediatek: Use hw_feature to judge if HWLRO is supported
    sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
    net: hns: Fix loopback test failed at copper ports
    net: dsa: mv88e6xxx: avoid error message on remove from VLAN 0
    MIPS: uprobes: remove set but not used variable 'epc'
    IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value
    IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
    IB/rdmavt: Fix alloc_qpn() WARN_ON()
    parisc: Fix compiler warnings in float emulation code
    parport: Fix mem leak in parport_register_dev_model
    ARC: fix build warnings with !CONFIG_KPROBES
    apparmor: enforce nullbyte at end of tag string
  * Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
      drivers/input/misc/uinput.c
    IB/hfi1: Silence txreq allocation warnings
    usb: chipidea: udc: workaround for endpoint conflict issue
  * scsi: ufs: Avoid runtime suspend possibly being blocked forever
      drivers/scsi/ufs/ufshcd-pltfrm.c
  * gcc-9: silence 'address-of-packed-member' warning
      Makefile
  * tracing: Silence GCC 9 array bounds warning
      kernel/trace/trace.c
      kernel/trace/trace.h
    BACKPORT: kheaders: Do not regenerate archive if config is not changed
  * BACKPORT: kheaders: Move from proc to sysfs
      init/Kconfig
      kernel/Makefile
  * BACKPORT: Provide in-kernel headers to make extending kernel easier
      init/Kconfig
      kernel/Makefile
    Merge 4.9.184 into android-4.9
Linux 4.9.184
  * tcp: refine memory limit test in tcp_fragment()
      net/ipv4/tcp_output.c
    Merge 4.9.183 into android-4.9
Linux 4.9.183
  * Abort file_remove_privs() for non-reg. files
      fs/inode.c
    mlxsw: spectrum: Prevent force of 56G
    scsi: libsas: delete sas port if expander discover failed
    scsi: smartpqi: properly set both the DMA mask and the coherent DMA mask
    scsi: libcxgbi: add a check for NULL pointer in cxgbi_check_route()
    net: sh_eth: fix mdio access in sh_eth_close() for R-Car Gen2 and RZ/A1 SoCs
    KVM: PPC: Book3S HV: Don't take kvm->lock around kvm_for_each_vcpu
    KVM: PPC: Book3S: Use new mutex to synchronize access to rtas token list
    ia64: fix build errors by exporting paddr_to_nid()
    perf record: Fix s390 missing module symbol and warning for non-root users
    perf data: Fix 'strncat may truncate' build failure with recent gcc
  * configfs: Fix use-after-free when accessing sd->s_dentry
      fs/configfs/dir.c
  * i2c: dev: fix potential memory leak in i2cdev_ioctl_rdwr
      drivers/i2c/i2c-dev.c
    net: tulip: de4x5: Drop redundant MODULE_DEVICE_TABLE()
  * gpio: fix gpio-adp5588 build errors
      drivers/gpio/Kconfig
  * perf/ring_buffer: Add ordering to rb->nest increment
      kernel/events/ring_buffer.c
  * perf/ring_buffer: Fix exposing a temporarily decreased data_head
      kernel/events/ring_buffer.c
    x86/CPU/AMD: Don't force the CPB cap when running under a hypervisor
    mISDN: make sure device name is NUL terminated
    selftests: netfilter: missing error check when setting up veth interface
    perf/x86/intel/ds: Fix EVENT vs. UEVENT PEBS constraints
    Revert "staging: vc04_services: prevent integer overflow in create_pagelist()"
    sunhv: Fix device naming inconsistency between sunhv_console and sunhv_reg
  * neigh: fix use-after-free read in pneigh_get_next
      net/core/neighbour.c
    lapb: fixed leak of control-blocks.
  * ipv6: flowlabel: fl6_sock_lookup() must use atomic_inc_not_zero
      net/ipv6/ip6_flowlabel.c
    be2net: Fix number of Rx queues used for flow hashing
    ax25: fix inconsistent lock state in ax25_destroy_timer
    rtc: pcf8523: don't return invalid date when battery is low
    USB: serial: option: add Telit 0x1260 and 0x1261 compositions
    USB: serial: option: add support for Simcom SIM7500/SIM7600 RNDIS mode
    USB: serial: pl2303: add Allied Telesis VT-Kit3
  * USB: usb-storage: Add new ID to ums-realtek
      drivers/usb/storage/unusual_realtek.h
  * USB: Fix chipmunk-like voice when using Logitech C270 for recording audio.
      drivers/usb/core/quirks.c
    usb: dwc2: Fix DMA cache alignment issues
    drm/vmwgfx: NULL pointer dereference from vmw_cmd_dx_view_define()
    drm/vmwgfx: integer underflow in vmw_cmd_dx_set_shader() leading to an invalid read
    KVM: s390: fix memory slot handling for KVM_SET_USER_MEMORY_REGION
    KVM: x86/pmu: do not mask the value that is written to fixed PMUs
    usbnet: ipheth: fix racing condition
    selftests/timers: Add missing fflush(stdout) calls
    scsi: bnx2fc: fix incorrect cast to u64 on shift operation
  * arm64/mm: Inhibit huge-vmap with ptdump
      arch/arm64/mm/mmu.c
    scsi: lpfc: add check for loss of ndlp when sending RRQ
    Drivers: misc: fix out-of-bounds access in function param_set_kgdbts_var
    Revert "ALSA: seq: Protect in-kernel ioctl calls with mutex"
    ALSA: seq: Fix race of get-subscription call vs port-delete ioctls
    ALSA: seq: Protect in-kernel ioctl calls with mutex
  * x86/uaccess, kcov: Disable stack protector
      kernel/Makefile
    ASoC: fsl_asrc: Fix the issue about unsupported rate
    ASoC: cs42xx8: Add regcache mask dirty
  * cgroup: Use css_tryget() instead of css_tryget_online() in task_get_css()
      include/linux/cgroup.h
    bcache: fix stack corruption by PRECEDING_KEY()
    i2c: acorn: fix i2c warning
  * media: v4l2-ioctl: clear fields in s_parm
      drivers/media/v4l2-core/v4l2-ioctl.c
  * ptrace: restore smp_rmb() in __ptrace_may_access()
      kernel/cred.c
      kernel/ptrace.c
  * signal/ptrace: Don't leak unitialized kernel memory with PTRACE_PEEK_SIGINFO
      kernel/ptrace.c
    fs/ocfs2: fix race in ocfs2_dentry_attach_lock()
  * mm/list_lru.c: fix memory leak in __memcg_init_list_lru_node
      mm/list_lru.c
    libata: Extend quirks for the ST1000LM024 drives with NOLPM quirk
    ALSA: oxfw: allow PCM capture for Stanton SCS.1m
    ALSA: seq: Cover unsubscribe_port() in list_mutex
  * Revert "Bluetooth: Align minimum encryption key size for LE and BR/EDR connections"
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
    ARM: exynos: Fix undefined instruction during Exynos5422 resume
  * pwm: Fix deadlock warning when removing PWM device
      drivers/pwm/core.c
      drivers/pwm/sysfs.c
      include/linux/pwm.h
    ARM: dts: exynos: Always enable necessary APIO_1V8 and ABB_1V8 regulators on Arndale Octa
    pwm: tiehrpwm: Update shadow register for disabling PWMs
    dmaengine: idma64: Use actual device for DMA transfers
    gpio: gpio-omap: add check for off wake capable gpios
    PCI: xilinx: Check for __get_free_pages() failure
    video: imsttfb: fix potential NULL pointer dereferences
    video: hgafb: fix potential NULL pointer dereference
    PCI: rcar: Fix 64bit MSI message address handling
    PCI: rcar: Fix a potential NULL pointer dereference
    platform/x86: intel_pmc_ipc: adding error handling
    PCI: rpadlpar: Fix leaked device_node references in add/remove paths
    ARM: dts: imx6qdl: Specify IMX6QDL_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx6ul: Specify IMX6UL_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx7d: Specify IMX7D_CLK_IPG as "ipg" clock to SDMA
    ARM: dts: imx6sx: Specify IMX6SX_CLK_IPG as "ahb" clock to SDMA
    clk: rockchip: Turn on "aclk_dmac1" for suspend on rk3288
    soc: mediatek: pwrap: Zero initialize rdata in pwrap_init_cipher
    platform/chrome: cros_ec_proto: check for NULL transfer function
    x86/PCI: Fix PCI IRQ routing table memory leak
    nfsd: allow fh_want_write to be called twice
  * fuse: retrieve: cap requested size to negotiated max_write
      fs/fuse/dev.c
  * nvmem: core: fix read buffer in place
      drivers/nvmem/core.c
    ALSA: hda - Register irq handler after the chip initialization
    iommu/vt-d: Set intel_iommu_gfx_mapped correctly
  * watchdog: fix compile time error of pretimeout governors
      drivers/watchdog/Kconfig
    watchdog: imx2_wdt: Fix set_timeout for big timeout values
    uml: fix a boot splat wrt use of cpu_all_mask
  * configfs: fix possible use-after-free in configfs_register_group
      fs/configfs/dir.c
  * f2fs: fix to do sanity check on valid block count of segment
      fs/f2fs/segment.h
  * f2fs: fix to clear dirty inode in error path of f2fs_iget()
      fs/f2fs/inode.c
  * f2fs: fix to avoid panic in do_recover_data()
      fs/f2fs/recovery.c
  * ntp: Allow TAI-UTC offset to be set to zero
      kernel/time/ntp.c
    pwm: meson: Use the spin-lock only to protect register modifications
    objtool: Don't use ignore flag for fake jumps
    drm/bridge: adv7511: Fix low refresh rate selection
    perf/x86/intel: Allow PEBS multi-entry in watermark mode
    mfd: twl6040: Fix device init errors for ACCCTL register
    mfd: intel-lpss: Set the device in reset state when init
    mfd: tps65912-spi: Add missing of table registration
    drivers: thermal: tsens: Don't print error message on -EPROBE_DEFER
  * kernel/sys.c: prctl: fix false positive in validate_prctl_map()
      kernel/sys.c
    mm/slab.c: fix an infinite loop in leaks_show()
    mm/cma_debug.c: fix the break condition in cma_maxchunk_get()
  * mm/cma.c: fix crash on CMA allocation if bitmap allocation fails
      mm/cma.c
  * mem-hotplug: fix node spanned pages when we have a node with only ZONE_MOVABLE
      mm/page_alloc.c
    hugetlbfs: on restore reserve error path retain subpool reservation
    ARM: prevent tracing IPI_CPU_BACKTRACE
    ipc: prevent lockup on alloc_msg and free_msg
  * sysctl: return -EINVAL if val violates minmax
      kernel/sysctl.c
  * fs/fat/file.c: issue flush after the writeback of FAT
      fs/fat/file.c
    rapidio: fix a NULL pointer dereference when create_workqueue() fails
  * ANDROID: kernel: cgroup: cpuset: Clear cpus_requested for empty buf
      kernel/cpuset.c
  * ANDROID: kernel: cgroup: cpuset: Add missing allocation of cpus_requested in alloc_trial_cpuset
      kernel/cpuset.c
  * mm: memcontrol: fix NULL pointer crash in test_clear_page_writeback()
      include/linux/memcontrol.h
      mm/memcontrol.c
      mm/page-writeback.c
    Merge 4.9.182 into android-4.9
Linux 4.9.182
  * tcp: enforce tcp_min_snd_mss in tcp_mtu_probing()
      net/ipv4/tcp_timer.c
  * tcp: add tcp_min_snd_mss sysctl
      include/net/netns/ipv4.h
      net/ipv4/sysctl_net_ipv4.c
      net/ipv4/tcp_ipv4.c
      net/ipv4/tcp_output.c
  * tcp: tcp_fragment() should apply sane memory limits
      include/uapi/linux/snmp.h
      net/ipv4/proc.c
      net/ipv4/tcp_output.c
  * tcp: limit payload size of sacked skbs
      include/linux/tcp.h
      include/net/tcp.h
      net/ipv4/tcp.c
      net/ipv4/tcp_input.c
      net/ipv4/tcp_output.c
  * tcp: reduce tcp_fastretrans_alert() verbosity
      net/ipv4/tcp_input.c
    efi/libstub: remove duplicate nokaslr
  * BACKPORT: Add support for BPF_FUNC_probe_read_str
      kernel/trace/bpf_trace.c
  * UPSTREAM: binder: check for overflow when alloc for security context
      drivers/android/binder.c
  * BACKPORT: binder: fix race between munmap() and direct reclaim
      drivers/android/binder_alloc.c
    Merge 4.9.181 into android-4.9
Linux 4.9.181
  * ethtool: check the return value of get_regs_len
      net/core/ethtool.c
  * ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
      include/net/arp.h
  * fuse: Add FOPEN_STREAM to use stream_open()
      fs/fuse/file.c
      include/uapi/linux/fuse.h
  * fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock
      fs/open.c
      fs/read_write.c
      include/linux/fs.h
  * TTY: serial_core, add ->install
      drivers/tty/serial/serial_core.c
    drm/i915: Fix I915_EXEC_RING_MASK
    drm/radeon: prefer lower reference dividers
    drm/gma500/cdv: Check vbt config bits when detecting lvds panels
    genwqe: Prevent an integer overflow in the ioctl
    Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment"
    MIPS: pistachio: Build uImage.gz by default
  * x86/power: Fix 'nosmt' vs hibernation triple fault during resume
      include/linux/cpu.h
      kernel/cpu.c
  * fuse: fallocate: fix return with locked inode
      fs/fuse/file.c
    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
      include/linux/rcupdate.h
  * Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
      net/core/fib_rules.c
  * Revert "fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")"
      net/core/fib_rules.c
  * ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
      net/ipv6/raw.c
  * ipv6: fix EFAULT on sendto with icmpv6 and hdrincl
      net/ipv6/raw.c
    pktgen: do not sleep with the thread lock held.
    net: rds: fix memory leak in rds_ib_flush_mr_pool
    net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query
  * neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit
      net/core/neighbour.c
  * ethtool: fix potential userspace buffer overflow
      net/core/ethtool.c
    media: uvcvideo: Fix uvc_alloc_entity() allocation alignment
  * efi/libstub: Unify command line param parsing
      include/linux/efi.h
    Revert "x86/build: Move _etext to actual end of .text"
  * mm: make page ref count overflow check tighter and more explicit
      include/linux/mm.h
  * mm: prevent get_user_pages() from overflowing page refcount
      mm/gup.c
  * mm, gup: ensure real head page is ref-counted when using hugepages
      mm/gup.c
  * mm, gup: remove broken VM_BUG_ON_PAGE compound check for hugepages
      mm/gup.c
  * fs: prevent page refcount overflow in pipe_buf_get
      fs/fuse/dev.c
      fs/pipe.c
      fs/splice.c
      include/linux/pipe_fs_i.h
      kernel/trace/trace.c
  * binder: replace "%p" with "%pK"
      drivers/android/binder.c
  * binder: Replace "%p" with "%pK" for stable
      drivers/android/binder.c
    brcmfmac: add subtype check for event handling in data path
    brcmfmac: assure SSID length from firmware is limited
    brcmfmac: add length checks in scheduled scan result handler
    drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set
    gcc-plugins: Fix build failures under Darwin host
    CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
    staging: vc04_services: prevent integer overflow in create_pagelist()
    docs: Fix conf.py for Sphinx 2.0
  * kernel/signal.c: trace_signal_deliver when signal_group_exit
      kernel/signal.c
  * memcg: make it work on sparse non-0-node systems
      include/linux/list_lru.h
      mm/list_lru.c
    tty: max310x: Fix external crystal register setup
    tty: serial: msm_serial: Fix XON/XOFF
    drm/nouveau/i2c: Disable i2c bus access after ->fini()
    ALSA: hda/realtek - Set default power save node to 0
    powerpc/perf: Fix MMCRA corruption by bhrb_filter
    Btrfs: fix race updating log root item during fsync
    scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs)
    scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove
    media: smsusb: better handle optional alignment
    media: usb: siano: Fix false-positive "uninitialized variable" warning
    media: usb: siano: Fix general protection fault in smsusb
    USB: rio500: fix memory leak in close after disconnect
    USB: rio500: refuse more than one device at a time
  * USB: Add LPM quirk for Surface Dock GigE adapter
      drivers/usb/core/quirks.c
    USB: sisusbvga: fix oops in error path of sisusb_probe
  * USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
      drivers/usb/core/config.c
    usbip: usbip_host: fix stub_dev lock context imbalance regression
    usbip: usbip_host: fix BUG: sleeping function called from invalid context
  * usb: xhci: avoid null pointer deref when bos field is NULL
      drivers/usb/host/xhci.c
  * xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()
      drivers/usb/host/xhci.c
  * xhci: Use %zu for printing size_t type
      drivers/usb/host/xhci-ring.c
  * xhci: update bounce buffer with correct sg num
      drivers/usb/host/xhci-ring.c
  * include/linux/bitops.h: sanitize rotate primitives
      include/linux/bitops.h
    sparc64: Fix regression in non-hypervisor TLB flush xcall
    tipc: fix modprobe tipc failed after switch order of device registration
    Revert "tipc: fix modprobe tipc failed after switch order of device registration"
    xen/pciback: Don't disable PCI_COMMAND on PCI device reset.
    crypto: vmx - ghash: do nosimd fallback manually
    net: mvpp2: fix bad MVPP2_TXQ_SCHED_TOKEN_CNTR_REG queue value
    net: mvneta: Fix err code path of probe
    net: dsa: mv88e6xxx: fix handling of upper half of STATS_TYPE_PORT
  * ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST
      net/ipv4/igmp.c
  * ipv4/igmp: fix another memory leak in igmpv3_del_delrec()
      net/ipv4/igmp.c
    bnxt_en: Fix aggregation buffer leak under OOM condition.
    tipc: Avoid copying bytes beyond the supplied data
  * usbnet: fix kernel crash after disconnect
      drivers/net/usb/usbnet.c
    net: stmmac: fix reset gpio free missing
  * net-gro: fix use-after-free read in napi_gro_frags()
      net/core/dev.c
    net: fec: fix the clk mismatch in failed_reset path
  * llc: fix skb leak in llc_build_and_send_ui_pkt()
      net/llc/llc_output.c
  * ipv6: Consider sk_bound_dev_if when binding a raw socket to an address
      net/ipv6/raw.c
  * Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
      net/core/fib_rules.c
  * Revert "fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")"
      net/core/fib_rules.c
    Revert "x86/build: Move _etext to actual end of .text"
    Merge 4.9.180 into android-4.9
Linux 4.9.180
  * drm: Wake up next in drm_read() chain if we are forced to putback the event
      drivers/gpu/drm/drm_fops.c
    ASoC: davinci-mcasp: Fix clang warning without CONFIG_PM
  * spi: Fix zero length xfer bug
      drivers/spi/spi.c
    spi: rspi: Fix sequencer reset during initialization
    spi : spi-topcliff-pch: Fix to handle empty DMA buffers
    scsi: lpfc: Fix SLI3 commands being issued on SLI4 devices
    media: saa7146: avoid high stack usage with clang
    scsi: lpfc: Fix FDMI manufacturer attribute value
    media: go7007: avoid clang frame overflow warning with KASAN
    media: m88ds3103: serialize reset messages in m88ds3103_set_frontend
    dmaengine: tegra210-adma: use devm_clk_*() helpers
    scsi: qla4xxx: avoid freeing unallocated dma memory
  * usb: core: Add PM runtime calls to usb_hcd_platform_shutdown
      drivers/usb/core/hcd.c
    rcuperf: Fix cleanup path for invalid perf_type strings
    rcutorture: Fix cleanup path for invalid torture_type strings
    x86/mce: Fix machine_check_poll() tests for error types
    tty: ipwireless: fix missing checks for ioremap
    virtio_console: initialize vtermno value for ports
    media: wl128x: prevent two potential buffer overflows
    spi: tegra114: reset controller on probe
    cxgb3/l2t: Fix undefined behaviour
    ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put
    ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_put
  * HID: core: move Usage Page concatenation to Main item
      drivers/hid/hid-core.c
      include/linux/hid.h
  * chardev: add additional check for minor range overlap
      fs/char_dev.c
    x86/ia32: Fix ia32_restore_sigcontext() AC leak
    x86/uaccess, signal: Fix AC=1 bloat
  * arm64: cpu_ops: fix a leaked reference by adding missing of_node_put
      arch/arm64/kernel/cpu_ops.c
  * scsi: ufs: Avoid configuring regulator with undefined voltage range
      drivers/scsi/ufs/ufshcd.c
  * scsi: ufs: Fix regulator load and icc-level configuration
      drivers/scsi/ufs/ufshcd.c
    brcmfmac: fix Oops when bringing up interface during USB disconnect
    brcmfmac: fix race during disconnect when USB completion is in progress
    brcmfmac: convert dev_init_lock mutex to completion
    b43: shut up clang -Wuninitialized variable warning
    brcmfmac: fix missing checks for kmemdup
    mwifiex: Fix mem leak in mwifiex_tm_cmd
    rtlwifi: fix a potential NULL pointer dereference
    iio: common: ssp_sensors: Initialize calculated_time in ssp_common_process_data
    iio: hmc5843: fix potential NULL pointer dereferences
    iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion
    x86/build: Keep local relocations with ld.lld
    cpufreq: pmac32: fix possible object reference leak
    cpufreq/pasemi: fix possible object reference leak
    cpufreq: ppc_cbe: fix possible object reference leak
    s390: cio: fix cio_irb declaration
    extcon: arizona: Disable mic detect if running when driver is removed
  * PM / core: Propagate dev->power.wakeup_path when no callbacks
      drivers/base/power/main.c
    mmc: sdhci-of-esdhc: add erratum eSDHC-A001 and A-008358 support
    mmc: sdhci-of-esdhc: add erratum eSDHC5 support
    mmc_spi: add a status check for spi_sync_locked
  * mmc: core: make pwrseq_emmc (partially) support sleepy GPIO controllers
      drivers/mmc/core/pwrseq_emmc.c
    scsi: libsas: Do discovery on empty PHY to update PHY info
    hwmon: (f71805f) Use request_muxed_region for Super-IO accesses
    hwmon: (pc87427) Use request_muxed_region for Super-IO accesses
    hwmon: (smsc47b397) Use request_muxed_region for Super-IO accesses
    hwmon: (smsc47m1) Use request_muxed_region for Super-IO accesses
    hwmon: (vt1211) Use request_muxed_region for Super-IO accesses
    RDMA/cxgb4: Fix null pointer dereference on alloc_skb failure
  * arm64: vdso: Fix clock_getres() for CLOCK_REALTIME
      arch/arm64/include/asm/vdso_datapage.h
      arch/arm64/kernel/asm-offsets.c
      arch/arm64/kernel/vdso.c
    i40e: don't allow changes to HW VLAN stripping on active port VLANs
    x86/irq/64: Limit IST stack overflow check to #DB stack
  * USB: core: Don't unbind interfaces following device reset failure
      drivers/usb/core/hub.c
  * sched/core: Handle overflow in cpu_shares_write_u64
      kernel/sched/core.c
  * sched/core: Check quota and period overflow at usec to nsec conversion
      kernel/sched/core.c
    powerpc/numa: improve control of topology updates
    media: pvrusb2: Prevent a buffer overflow
    media: au0828: Fix NULL pointer dereference in au0828_analog_stream_enable()
  * audit: fix a memory leak bug
      kernel/auditfilter.c
    media: ov2659: make S_FMT succeed even if requested format doesn't match
    media: au0828: stop video streaming only when last user stops
    media: ov6650: Move v4l2_clk_get() to ov6650_video_probe() helper
    media: coda: clear error return value before picture run
    dmaengine: at_xdmac: remove BUG_ON macro in tasklet
    pinctrl: pistachio: fix leaked of_node references
    HID: logitech-hidpp: use RAP instead of FAP to get the protocol version
  * mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions
      lib/strncpy_from_user.c
      lib/strnlen_user.c
    x86/mm: Remove in_nmi() warning from 64-bit implementation of vmalloc_fault()
  * smpboot: Place the __percpu annotation correctly
      include/linux/smpboot.h
    x86/build: Move _etext to actual end of .text
    bcache: avoid clang -Wunintialized warning
    bcache: add failure check to run_cache_set() for journal replay
    bcache: fix failure in journal relplay
    bcache: return error immediately in bch_journal_replay()
    crypto: sun4i-ss - Fix invalid calculation of hash end
    net: cw1200: fix a NULL pointer dereference
    mwifiex: prevent an array overflow
    ASoC: fsl_sai: Update is_slave_mode with correct value
  * mac80211/cfg80211: update bss channel on channel switch
      net/wireless/nl80211.c
    dmaengine: pl330: _stop: clear interrupt status
    w1: fix the resume command API
    rtc: 88pm860x: prevent use-after-free on device remove
    iwlwifi: pcie: don't crash on invalid RX interrupt
    scsi: qla2xxx: Fix a qla24xx_enable_msix() error path
  * sched/cpufreq: Fix kobject memleak
      drivers/cpufreq/cpufreq.c
  * arm64: Fix compiler warning from pte_unmap() with -Wunused-but-set-variable
      arch/arm64/include/asm/pgtable.h
    ARM: vdso: Remove dependency with the arch_timer driver internals
    brcm80211: potential NULL dereference in brcmf_cfg80211_vndr_cmds_dcmd_handler()
    spi: pxa2xx: fix SCR (divisor) calculation
  * ASoC: imx: fix fiq dependencies
      sound/soc/fsl/Kconfig
    powerpc/boot: Fix missing check of lseek() return value
  * ASoC: hdmi-codec: unlock the device on startup errors
      sound/soc/codecs/hdmi-codec.c
    net: ena: gcc 8: fix compilation warning
    dmaengine: tegra210-dma: free dma controller in remove()
  * mmc: core: Verify SD bus width
      drivers/mmc/core/sd.c
    cxgb4: Fix error path in cxgb4_init_module
    gfs2: Fix lru_count going negative
    Revert "btrfs: Honour FITRIM range constraints during free space trim"
    tools include: Adopt linux/bits.h
    perf tools: No need to include bitops.h in util.h
    at76c50x-usb: Don't register led_trigger if usb_register_driver failed
    ssb: Fix possible NULL pointer dereference in ssb_host_pcmcia_exit
    media: vivid: use vfree() instead of kfree() for dev->bitmap_cap
    media: cpia2: Fix use-after-free in cpia2_exit
  * fbdev: fix WARNING in __alloc_pages_nodemask bug
      drivers/video/fbdev/core/fbcmap.c
  * hugetlb: use same fault hash key for shared and private mappings
      include/linux/hugetlb.h
  * fbdev: fix divide error in fb_var_to_videomode
      drivers/video/fbdev/core/modedb.c
    btrfs: sysfs: don't leak memory when failing add fsid
    Btrfs: fix race between ranged fsync and writeback of adjacent ranges
    Btrfs: do not abort transaction at btrfs_update_root() after failure to COW path
    gfs2: Fix sign extension bug in gfs2_update_stats
  * arm64: Save and restore OSDLR_EL1 across suspend/resume
      arch/arm64/mm/proc.S
    libnvdimm/namespace: Fix label tracking error
    kvm: svm/avic: fix off-by-one in checking host APIC ID
    crypto: vmx - CTR: always increment IV as quadword
  * Revert "scsi: sd: Keep disk read-only when re-reading partition"
      drivers/scsi/sd.c
  * bio: fix improper use of smp_mb__before_atomic()
      include/linux/bio.h
    KVM: x86: fix return value for reserved EFER
  * ext4: do not delete unlinked inode from orphan list on failed truncate
      fs/ext4/inode.c
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9
    Merge 4.9.179 into android-4.9
Linux 4.9.179
    fbdev: sm712fb: fix memory frequency by avoiding a switch/case fallthrough
    btrfs: Honour FITRIM range constraints during free space trim
    md/raid: raid5 preserve the writeback action after the parity check
    Revert "Don't jump to compute_result state from check_result state"
    perf bench numa: Add define for RUSAGE_THREAD if not present
    ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour
  * power: supply: sysfs: prevent endless uevent loop with CONFIG_POWER_SUPPLY_DEBUG
      drivers/power/supply/power_supply_sysfs.c
    KVM: arm/arm64: Ensure vcpu target is unset on reset failure
    mac80211: Fix kernel panic due to use of txq after free
  * xfrm4: Fix uninitialized memory read in _decode_session4
      net/ipv4/xfrm4_policy.c
  * vti4: ipip tunnel deregistration fixes.
      net/ipv4/ip_vti.c
  * xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module
      net/ipv6/xfrm6_tunnel.c
  * xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink
      net/xfrm/xfrm_user.c
    dm delay: fix a crash when invalid device is specified
  * PCI: Work around Pericom PCIe-to-PCI bridge Retrain Link erratum
      drivers/pci/quirks.c
      include/linux/pci.h
    PCI: Factor out pcie_retrain_link() function
  * PCI: Mark Atheros AR9462 to avoid bus reset
      drivers/pci/quirks.c
    fbdev: sm712fb: fix crashes and garbled display during DPMS modesetting
    fbdev: sm712fb: use 1024x768 by default on non-MIPS, fix garbled display
    fbdev: sm712fb: fix support for 1024x768-16 mode
    fbdev: sm712fb: fix crashes during framebuffer writes by correctly mapping VRAM
    fbdev: sm712fb: fix boot screen glitch when sm712fb replaces VGA
    fbdev: sm712fb: fix white screen of death on reboot, don't set CR3B-CR3F
    fbdev: sm712fb: fix VRAM detection, don't set SR70/71/74/75
    fbdev: sm712fb: fix brightness control on reboot, don't set SR30
    objtool: Allow AR to be overridden with HOSTAR
    perf intel-pt: Fix sample timestamp wrt non-taken branches
    perf intel-pt: Fix improved sample timestamp
    perf intel-pt: Fix instructions sampling rate
    memory: tegra: Fix integer overflow on tick value calculation
  * tracing: Fix partial reading of trace event's id file
      kernel/trace/trace_events.c
    ceph: flush dirty inodes before proceeding with remount
    iommu/tegra-smmu: Fix invalid ASID bits on Tegra30/114
  * fuse: honor RLIMIT_FSIZE in fuse_file_fallocate
      fs/fuse/file.c
  * fuse: fix writepages on 32bit
      fs/fuse/file.c
    clk: tegra: Fix PLLM programming on Tegra124+ when PMC overrides divider
    NFS4: Fix v4.0 client state corruption when mount
    media: ov6650: Fix sensor possibly not detected on probe
    cifs: fix strcat buffer overflow and reduce raciness in smb21_set_oplock_level()
  * of: fix clang -Wunsequenced for be32_to_cpu()
      include/linux/of.h
    p54: drop device reference count if fails to enable device
    intel_th: msu: Fix single mode with IOMMU
    md: add mddev->pers to avoid potential NULL pointer dereference
    stm class: Fix channel free in stm output free path
    parisc: Rename LEVEL to PA_ASM_LEVEL to avoid name clash with DRBD code
    parisc: Skip registering LED when running in QEMU
    parisc: Export running_on_qemu symbol for modules
    vsock/virtio: Initialize core virtio vsock before registering the driver
    tipc: fix modprobe tipc failed after switch order of device registration
    vsock/virtio: free packets during the socket release
    tipc: switch order of device registration to fix a crash
  * ppp: deflate: Fix possible crash in deflate_init
      drivers/net/ppp/ppp_deflate.c
    net/mlx4_core: Change the error print to info print
  * net: avoid weird emergency message
      net/core/dev.c
  * f2fs: link f2fs quota ops for sysfile
      fs/f2fs/checkpoint.c
      fs/f2fs/super.c
  * BACKPORT: gcov: clang support
      kernel/gcov/Kconfig
    UPSTREAM: gcov: docs: add a note on GCC vs Clang differences
    UPSTREAM: gcov: clang: move common GCC code into gcc_base.c
  * UPSTREAM: module: add stubs for within_module functions
      include/linux/module.h
  * UPSTREAM: gcov: remove CONFIG_GCOV_FORMAT_AUTODETECT
      kernel/gcov/Kconfig
  * BACKPORT: kbuild: gcov: enable -fno-tree-loop-im if supported
      Makefile
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9
  * ext4: fix build warning
      fs/ext4/file.c

Change-Id: I8e7abd3cefdf0f9d9c1fa5b63a0abf243fe7c7d1
Signed-off-by: Robin Peng <robinpeng@google.com>
2019-07-26 21:29:11 +08:00
Greg Kroah-Hartman
39eed54804 Merge 4.9.185 into android-4.9-q
Changes in 4.9.185
	tracing: Silence GCC 9 array bounds warning
	gcc-9: silence 'address-of-packed-member' warning
	scsi: ufs: Avoid runtime suspend possibly being blocked forever
	usb: chipidea: udc: workaround for endpoint conflict issue
	IB/hfi1: Silence txreq allocation warnings
	Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
	apparmor: enforce nullbyte at end of tag string
	ARC: fix build warnings with !CONFIG_KPROBES
	parport: Fix mem leak in parport_register_dev_model
	parisc: Fix compiler warnings in float emulation code
	IB/rdmavt: Fix alloc_qpn() WARN_ON()
	IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
	IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value
	MIPS: uprobes: remove set but not used variable 'epc'
	net: dsa: mv88e6xxx: avoid error message on remove from VLAN 0
	net: hns: Fix loopback test failed at copper ports
	sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
	net: ethernet: mediatek: Use hw_feature to judge if HWLRO is supported
	net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW RX_2BYTE_OFFSET is enabled
	drm/arm/hdlcd: Allow a bit of clock tolerance
	scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
	scsi: ufs: Check that space was properly alloced in copy_query_response
	s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
	hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
	nvme: Fix u32 overflow in the number of namespace list calculation
	btrfs: start readahead also in seed devices
	can: flexcan: fix timeout when set small bitrate
	can: purge socket error queue on sock destruct
	powerpc/bpf: use unsigned division instruction for 64-bit operations
	ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
	Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
	Bluetooth: Fix regression with minimum encryption key size alignment
	cfg80211: fix memory leak of wiphy device name
	mac80211: drop robust management frames from unknown TA
	mac80211: Do not use stack memory with scatterlist for GMAC
	IB/hfi1: Avoid hardlockup with flushlist_lock
	perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
	perf help: Remove needless use of strncpy()
	perf header: Fix unchecked usage of strncpy()
	9p/rdma: do not disconnect on down_interruptible EAGAIN
	9p: acl: fix uninitialized iattr access
	9p/rdma: remove useless check in cm_event_handler
	9p: p9dirent_read: check network-provided name length
	net/9p: include trans_common.h to fix missing prototype warning.
	fs/proc/array.c: allow reporting eip/esp for all coredumping threads
	fs/binfmt_flat.c: make load_flat_shared_library() work
	mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
	scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
	x86/speculation: Allow guests to use SSBD even if host does not
	NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O
	cpu/speculation: Warn on unsupported mitigations= parameter
	af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET
	net: stmmac: fixed new system time seconds value calculation
	sctp: change to hold sk after auth shkey is created successfully
	tipc: change to use register_pernet_device
	tipc: check msg->req data len in tipc_nl_compat_bearer_disable
	tun: wake up waitqueues after IFF_UP is set
	team: Always enable vlan tx offload
	bonding: Always enable vlan tx offload
	ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
	net: check before dereferencing netdev_ops during busy poll
	bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro
	bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err
	tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb
	Bluetooth: Fix faulty expression for minimum encryption key size check
	ASoC : cs4265 : readable register too low
	ASoC: soc-pcm: BE dai needs prepare when pause release after resume
	spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
	drm/mediatek: fix unbind functions
	ASoC: max98090: remove 24-bit format support if RJ is 0
	usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
	usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
	scsi: hpsa: correct ioaccel2 chaining
	scripts/decode_stacktrace.sh: prefix addr2line with $CROSS_COMPILE
	mm/mlock.c: change count_mm_mlocked_page_nr return type
	MIPS: math-emu: do not use bools for arithmetic
	MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
	mfd: omap-usb-tll: Fix register offsets
	ARC: fix allnoconfig build warning
	bug.h: work around GCC PR82365 in BUG()
	ARC: handle gcc generated __builtin_trap for older compiler
	clk: sunxi: fix uninitialized access
	KVM: x86: degrade WARN to pr_warn_ratelimited
	drm/i915/dmc: protect against reading random memory
	MIPS: Workaround GCC __builtin_unreachable reordering bug
	ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
	crypto: user - prevent operating on larval algorithms
	ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
	ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
	ALSA: line6: Fix write on zero-sized buffer
	ALSA: usb-audio: fix sign unintended sign extension on left shifts
	lib/mpi: Fix karactx leak in mpi_powm
	drm/imx: notify drm core before sending event during crtc disable
	drm/imx: only send event on crtc disable if kept disabled
	btrfs: Ensure replaced device doesn't have pending chunk allocation
	tty: rocket: fix incorrect forward declaration of 'rp_init()'
	arm64, vdso: Define vdso_{start,end} as array
	KVM: LAPIC: Fix pending interrupt in IRR blocked by software disable LAPIC
	IB/hfi1: Close PSM sdma_progress sleep window
	MIPS: Add missing EHB in mtc0 -> mfc0 sequence.
	dmaengine: imx-sdma: remove BD_INTR for channel0
	arm64: kaslr: keep modules inside module region when KASAN is enabled
	Linux 4.9.185

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-07-10 12:32:12 +02:00
Greg Kroah-Hartman
70d52cb2bb Merge 4.9.185 into android-4.9
Changes in 4.9.185
	tracing: Silence GCC 9 array bounds warning
	gcc-9: silence 'address-of-packed-member' warning
	scsi: ufs: Avoid runtime suspend possibly being blocked forever
	usb: chipidea: udc: workaround for endpoint conflict issue
	IB/hfi1: Silence txreq allocation warnings
	Input: uinput - add compat ioctl number translation for UI_*_FF_UPLOAD
	apparmor: enforce nullbyte at end of tag string
	ARC: fix build warnings with !CONFIG_KPROBES
	parport: Fix mem leak in parport_register_dev_model
	parisc: Fix compiler warnings in float emulation code
	IB/rdmavt: Fix alloc_qpn() WARN_ON()
	IB/hfi1: Insure freeze_work work_struct is canceled on shutdown
	IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value
	MIPS: uprobes: remove set but not used variable 'epc'
	net: dsa: mv88e6xxx: avoid error message on remove from VLAN 0
	net: hns: Fix loopback test failed at copper ports
	sparc: perf: fix updated event period in response to PERF_EVENT_IOC_PERIOD
	net: ethernet: mediatek: Use hw_feature to judge if HWLRO is supported
	net: ethernet: mediatek: Use NET_IP_ALIGN to judge if HW RX_2BYTE_OFFSET is enabled
	drm/arm/hdlcd: Allow a bit of clock tolerance
	scripts/checkstack.pl: Fix arm64 wrong or unknown architecture
	scsi: ufs: Check that space was properly alloced in copy_query_response
	s390/qeth: fix VLAN attribute in bridge_hostnotify udev event
	hwmon: (pmbus/core) Treat parameters as paged if on multiple pages
	nvme: Fix u32 overflow in the number of namespace list calculation
	btrfs: start readahead also in seed devices
	can: flexcan: fix timeout when set small bitrate
	can: purge socket error queue on sock destruct
	powerpc/bpf: use unsigned division instruction for 64-bit operations
	ARM: imx: cpuidle-imx6sx: Restrict the SW2ISO increase to i.MX6SX
	Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
	Bluetooth: Fix regression with minimum encryption key size alignment
	cfg80211: fix memory leak of wiphy device name
	mac80211: drop robust management frames from unknown TA
	mac80211: Do not use stack memory with scatterlist for GMAC
	IB/hfi1: Avoid hardlockup with flushlist_lock
	perf ui helpline: Use strlcpy() as a shorter form of strncpy() + explicit set nul
	perf help: Remove needless use of strncpy()
	perf header: Fix unchecked usage of strncpy()
	9p/rdma: do not disconnect on down_interruptible EAGAIN
	9p: acl: fix uninitialized iattr access
	9p/rdma: remove useless check in cm_event_handler
	9p: p9dirent_read: check network-provided name length
	net/9p: include trans_common.h to fix missing prototype warning.
	fs/proc/array.c: allow reporting eip/esp for all coredumping threads
	fs/binfmt_flat.c: make load_flat_shared_library() work
	mm/page_idle.c: fix oops because end_pfn is larger than max_pfn
	scsi: vmw_pscsi: Fix use-after-free in pvscsi_queue_lck()
	x86/speculation: Allow guests to use SSBD even if host does not
	NFS/flexfiles: Use the correct TCP timeout for flexfiles I/O
	cpu/speculation: Warn on unsupported mitigations= parameter
	af_packet: Block execution of tasks waiting for transmit to complete in AF_PACKET
	net: stmmac: fixed new system time seconds value calculation
	sctp: change to hold sk after auth shkey is created successfully
	tipc: change to use register_pernet_device
	tipc: check msg->req data len in tipc_nl_compat_bearer_disable
	tun: wake up waitqueues after IFF_UP is set
	team: Always enable vlan tx offload
	bonding: Always enable vlan tx offload
	ipv4: Use return value of inet_iif() for __raw_v4_lookup in the while loop
	net: check before dereferencing netdev_ops during busy poll
	bpf: udp: Avoid calling reuseport's bpf_prog from udp_gro
	bpf: udp: ipv6: Avoid running reuseport's bpf_prog from __udp6_lib_err
	tipc: pass tunnel dev as NULL to udp_tunnel(6)_xmit_skb
	Bluetooth: Fix faulty expression for minimum encryption key size check
	ASoC : cs4265 : readable register too low
	ASoC: soc-pcm: BE dai needs prepare when pause release after resume
	spi: bitbang: Fix NULL pointer dereference in spi_unregister_master
	drm/mediatek: fix unbind functions
	ASoC: max98090: remove 24-bit format support if RJ is 0
	usb: gadget: fusb300_udc: Fix memory leak of fusb300->ep[i]
	usb: gadget: udc: lpc32xx: allocate descriptor with GFP_ATOMIC
	scsi: hpsa: correct ioaccel2 chaining
	scripts/decode_stacktrace.sh: prefix addr2line with $CROSS_COMPILE
	mm/mlock.c: change count_mm_mlocked_page_nr return type
	MIPS: math-emu: do not use bools for arithmetic
	MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
	mfd: omap-usb-tll: Fix register offsets
	ARC: fix allnoconfig build warning
	bug.h: work around GCC PR82365 in BUG()
	ARC: handle gcc generated __builtin_trap for older compiler
	clk: sunxi: fix uninitialized access
	KVM: x86: degrade WARN to pr_warn_ratelimited
	drm/i915/dmc: protect against reading random memory
	MIPS: Workaround GCC __builtin_unreachable reordering bug
	ptrace: Fix ->ptracer_cred handling for PTRACE_TRACEME
	crypto: user - prevent operating on larval algorithms
	ALSA: seq: fix incorrect order of dest_client/dest_ports arguments
	ALSA: firewire-lib/fireworks: fix miss detection of received MIDI messages
	ALSA: line6: Fix write on zero-sized buffer
	ALSA: usb-audio: fix sign unintended sign extension on left shifts
	lib/mpi: Fix karactx leak in mpi_powm
	drm/imx: notify drm core before sending event during crtc disable
	drm/imx: only send event on crtc disable if kept disabled
	btrfs: Ensure replaced device doesn't have pending chunk allocation
	tty: rocket: fix incorrect forward declaration of 'rp_init()'
	arm64, vdso: Define vdso_{start,end} as array
	KVM: LAPIC: Fix pending interrupt in IRR blocked by software disable LAPIC
	IB/hfi1: Close PSM sdma_progress sleep window
	MIPS: Add missing EHB in mtc0 -> mfc0 sequence.
	dmaengine: imx-sdma: remove BD_INTR for channel0
	arm64: kaslr: keep modules inside module region when KASAN is enabled
	Linux 4.9.185

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-07-10 12:11:07 +02:00
Geert Uytterhoeven
0cbb0ae75a cpu/speculation: Warn on unsupported mitigations= parameter
commit 1bf72720281770162c87990697eae1ba2f1d917a upstream.

Currently, if the user specifies an unsupported mitigation strategy on the
kernel command line, it will be ignored silently.  The code will fall back
to the default strategy, possibly leaving the system more vulnerable than
expected.

This may happen due to e.g. a simple typo, or, for a stable kernel release,
because not all mitigation strategies have been backported.

Inform the user by printing a message.

Fixes: 98af8452945c5565 ("cpu/speculation: Add 'mitigations=' cmdline option")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20190516070935.22546-1-geert@linux-m68k.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-10 09:55:39 +02:00
Robin Peng
ad18574239 Merge android-4.9 (4.9.178) into android-msm-pixel-4.9-lts
Merge 4.9.178 into android-4.9
Linux 4.9.178
    KVM: x86: Skip EFER vs. guest CPUID checks for host-initiated writes
    ALSA: hda/realtek - Fix for Lenovo B50-70 inverted internal microphone bug
  * ext4: fix data corruption caused by overlapping unaligned and aligned IO
      fs/ext4/file.c
  * ext4: zero out the unused memory region in the extent tree block
      fs/ext4/extents.c
  * fs/writeback.c: use rcu_barrier() to wait for inflight wb switches going into workqueue when umount
      fs/fs-writeback.c
  * writeback: synchronize sync(2) against cgroup writeback membership switches
      fs/fs-writeback.c
      include/linux/backing-dev-defs.h
      mm/backing-dev.c
  * fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
      net/core/fib_rules.c
    crypto: arm/aes-neonbs - don't access already-freed walk.iv
    crypto: salsa20 - don't access already-freed walk.iv
  * crypto: gcm - fix incompatibility between "gcm" and "gcm_base"
      crypto/gcm.c
  * crypto: gcm - Fix error return code in crypto_gcm_create_common()
      crypto/gcm.c
    ipmi:ssif: compare block number correctly for multi-part return messages
    bcache: never set KEY_PTRS of journal key to 0 in journal_reclaim()
    bcache: fix a race between cache register and cacheset unregister
    Btrfs: do not start a transaction at iterate_extent_inodes()
  * ext4: fix ext4_show_options for file systems w/o journal
      fs/ext4/super.c
  * ext4: actually request zeroing of inode table after grow
      fs/ext4/ioctl.c
  * jbd2: check superblock mapped prior to committing
      fs/jbd2/journal.c
    tty/vt: fix write/write race in ioctl(KDSKBSENT) handler
    mfd: max77620: Fix swapped FPS_PERIOD_MAX_US values
    mfd: da9063: Fix OTP control register names to match datasheets for DA9063/63L
    ocfs2: fix ocfs2 read inode data panic in ocfs2_iget
  * mm/mincore.c: make mincore() more conservative
      mm/mincore.c
    ASoC: RT5677-SPI: Disable 16Bit SPI Transfers
    ASoC: max98090: Fix restore of DAPM Muxes
    ALSA: hda/realtek - EAPD turn on later
    ALSA: hda/hdmi - Consider eld_valid when reporting jack event
    ALSA: hda/hdmi - Read the pin sense from register when repolling
  * ALSA: usb-audio: Fix a memory leak bug
      sound/usb/mixer.c
    crypto: x86/crct10dif-pcl - fix use via crypto_shash_digest()
    crypto: crct10dif-generic - fix use via crypto_shash_digest()
    crypto: vmx - fix copy-paste error in CTR mode
    crypto: chacha20poly1305 - set cra_name correctly
    sched/x86: Save [ER]FLAGS on context switch
  * arm64: Clear OSDLR_EL1 on CPU boot
      arch/arm64/kernel/debug-monitors.c
  * arm64: compat: Reduce address limit
      arch/arm64/include/asm/processor.h
    power: supply: axp288_charger: Fix unchecked return value
    ARM: exynos: Fix a leaked reference by adding missing of_node_put
    objtool: Fix function fallthrough detection
    x86/speculation/mds: Improve CPU buffer clear documentation
    x86/speculation/mds: Revert CPU buffer clear on double fault exit
    PCI: hv: Fix a memory leak in hv_eject_device_work()
  * locking/rwsem: Prevent decrement of reader count before increment
      kernel/locking/rwsem-xadd.c
  * net: core: another layer of lists, around PF_MEMALLOC skb handling
      include/linux/list.h
  * UPSTREAM: fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")
      net/core/fib_rules.c
  * UPSTREAM: bpf: relax inode permission check for retrieving bpf program
      kernel/bpf/inode.c
    Merge 4.9.177 into android-4.9
Linux 4.9.177
    powerpc/booke64: set RI in default MSR
    powerpc/lib: fix book3s/32 boot failure due to code patching
    drivers/virt/fsl_hypervisor.c: prevent integer overflow in ioctl
    drivers/virt/fsl_hypervisor.c: dereferencing error pointers in ioctl
  * bonding: fix arp_validate toggling in active-backup mode
      drivers/net/bonding/bond_options.c
  * ipv4: Fix raw socket lookup for local traffic
      net/ipv4/raw.c
  * vrf: sit mtu should not be updated when vrf netdev is the link
      net/ipv6/sit.c
    vlan: disable SIOCSHWTSTAMP in container
  * packet: Fix error path in packet_init
      net/packet/af_packet.c
    net: ucc_geth - fix Oops when changing number of buffers in the ring
  * fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied
      net/core/fib_rules.c
  * bridge: Fix error path for kobject_init_and_add()
      net/bridge/br_if.c
    powerpc/64s: Include cpu header
    x86/vdso: Pass --eh-frame-hdr to the linker
    x86/vdso: Drop implicit common-page-size linker flag
    x86: vdso: Use $LD instead of $CC to link
    Revert "x86: vdso: Use $LD instead of $CC to link"
    Revert "x86/vdso: Drop implicit common-page-size linker flag"
    Don't jump to compute_result state from check_result state
    rtlwifi: rtl8723ae: Fix missing break in switch statement
  * ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command
      include/sound/pcm.h
      sound/core/pcm_lib.c
      sound/core/pcm_native.c
    cw1200: fix missing unlock on error in cw1200_hw_scan()
    Input: synaptics-rmi4 - fix possible double free
    spi: ST ST95HF NFC: declare missing of table
    spi: Micrel eth switch: declare missing of table
    gpu: ipu-v3: dp: fix CSC handling
    selftests/net: correct the return value for run_netsocktests
    drm/sun4i: Set device driver data at bind time for use in unbind
    s390: ctcm: fix ctcm_new_device error return code
    MIPS: perf: ath79: Fix perfcount IRQ assignment
    ipvs: do not schedule icmp errors from tunnels
    selftests: netfilter: check icmp pkttoobig errors are set as related
  * init: initialize jump labels before command line option parsing
      init/main.c
    tools lib traceevent: Fix missing equality check for strcmp
    KVM: x86: avoid misreporting level-triggered irqs as edge-triggered in tracing
  * x86/reboot, efi: Use EFI reboot for Acer TravelMate X514-51T
      include/linux/efi.h
    mISDN: Check address length before reading address family
    s390/3270: fix lockdep false positive on view->lock
    mac80211: fix unaligned access in mesh table hash function
    s390/dasd: Fix capacity calculation for large volumes
    libnvdimm/btt: Fix a kmemdup failure check
  * HID: input: add mapping for "Toggle Display" key
      drivers/hid/hid-input.c
  * HID: input: add mapping for keyboard Brightness Up/Down/Toggle keys
      drivers/hid/hid-input.c
  * HID: input: add mapping for Expose/Overview key
      drivers/hid/hid-input.c
    libnvdimm/namespace: Fix a potential NULL pointer dereference
    iio: adc: xilinx: fix potential use-after-free on remove
    USB: serial: fix unthrottle races
    platform/x86: sony-laptop: Fix unintentional fall-through
  * bpf: convert htab map to hlist_nulls
      include/linux/list_nulls.h
      include/linux/rculist_nulls.h
      kernel/bpf/hashtab.c
  * bpf: fix struct htab_elem layout
      kernel/bpf/hashtab.c
  * netfilter: compat: initialize all fields in xt_init
      net/netfilter/x_tables.c
    ANDROID: cuttlefish_defconfig: Disable DEVTMPFS
    ANDROID: Move from clang r349610 to r353983c.
    Merge upstream-f2fs-stable-linux-4.9.y into android-4.9
    Merge 4.9.176 into android-4.9
Linux 4.9.176
    x86/cpu/bugs: Use __initconst for 'const' init data
    x86: stop exporting msr-index.h to userland
    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
    x86/speculation: Support 'mitigations=' cmdline option
  * cpu/speculation: Add 'mitigations=' cmdline option
      include/linux/cpu.h
      kernel/cpu.c
    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
      drivers/base/cpu.c
      include/linux/cpu.h
    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/speculation: Provide IBPB always command line options
    x86/speculation: Add seccomp Spectre v2 user space protection mode
    x86/speculation: Enable prctl mode for spectre_v2_user
  * x86/speculation: Add prctl() control for indirect branch speculation
      include/linux/sched.h
      include/uapi/linux/prctl.h
    x86/speculation: Prevent stale SPEC_CTRL msr content
    x86/speculation: Prepare arch_smt_update() for PRCTL mode
    x86/speculation: Split out TIF update
    x86/speculation: Prepare for conditional IBPB in switch_mm()
    x86/speculation: Avoid __switch_to_xtra() calls
    x86/process: Consolidate and simplify switch_to_xtra() code
    x86/speculation: Prepare for per task indirect branch speculation control
    x86/speculation: Add command line control for indirect branch speculation
    x86/speculation: Unify conditional spectre v2 print functions
    x86/speculataion: Mark command line parser data __initdata
    x86/speculation: Mark string arrays const correctly
    x86/speculation: Reorder the spec_v2 code
    x86/l1tf: Show actual SMT state
  * x86/speculation: Rework SMT state change
      include/linux/sched/smt.h
      kernel/cpu.c
  * sched: Add sched_smt_active()
      include/linux/sched/smt.h
      kernel/sched/core.c
      kernel/sched/sched.h
    x86/Kconfig: Select SCHED_SMT if SMP enabled
    x86/speculation: Reorganize speculation control MSRs update
    x86/speculation: Rename SSBD update functions
    x86/speculation: Disable STIBP when enhanced IBRS is in use
    x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common()
    x86/speculation: Remove unnecessary ret variable in cpu_show_common()
    x86/speculation: Clean up spectre_v2_parse_cmdline()
    x86/speculation: Update the TIF_SSBD comment
    x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
    x86/speculation: Propagate information about RSB filling mitigation to sysfs
  * x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
      kernel/cpu.c
  * x86/speculation: Apply IBPB more strictly to avoid cross-process data leak
      include/linux/ptrace.h
      kernel/ptrace.c
    Documentation/l1tf: Fix small spelling typo
    x86/cpu: Sanitize FAM6_ATOM naming
    x86/speculation: Remove SPECTRE_V2_IBRS in enum spectre_v2_mitigation
  * locking/atomics, asm-generic: Move some macros from <linux/bitops.h> to a new <linux/bits.h> file
      include/linux/bitops.h
      include/linux/bits.h
    x86/speculation: Simplify the CPU bug detection logic
  * bitops: avoid integer overflow in GENMASK(_ULL)
      include/linux/bitops.h
    x86/mm: Use WRITE_ONCE() when setting PTEs
    x86/microcode: Update the new microcode revision unconditionally
    x86/microcode: Make sure boot_cpu_data.microcode is up-to-date
    x86/microcode/intel: Check microcode revision before updating sibling threads
    x86/microcode/intel: Add a helper which gives the microcode revision
    x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
    x86/bugs: Switch the selection of mitigation from CPU vendor to CPU features
    x86/bugs: Add AMD's SPEC_CTRL MSR usage
    x86/bugs: Add AMD's variant of SSB_NO
    x86/cpufeatures: Hide AMD-specific speculation flags
    x86/MCE: Save microcode revision in machine check records
    Merge 4.9.175 into android-4.9
Linux 4.9.175
    timer/debug: Change /proc/timer_stats from 0644 to 0600
    ASoC: Intel: avoid Oops if DMA setup fails
    UAS: fix alignment of scatter/gather segments
  * Bluetooth: Align minimum encryption key size for LE and BR/EDR connections
      include/net/bluetooth/hci_core.h
      net/bluetooth/hci_conn.c
    Bluetooth: hidp: fix buffer overflow
    scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines
  * usb-storage: Set virt_boundary_mask to avoid SG overflows
      drivers/usb/storage/scsiglue.c
    USB: serial: f81232: fix interrupt worker not stop
  * usb: dwc3: Fix default lpm_nyet_threshold value
      drivers/usb/dwc3/core.c
  * genirq: Prevent use-after-free and work list corruption
      kernel/irq/manage.c
    ARM: 8680/1: boot/compressed: fix inappropriate Thumb2 mnemonic for __nop
  * mm: add 'try_get_page()' helper function
      include/linux/mm.h
    iommu/amd: Set exclusion range correctly
    virtio-blk: limit number of hw queues by nr_cpu_ids
    drm/mediatek: fix possible object reference leak
    scsi: csiostor: fix missing data copy in csio_scsi_err_handler()
  * linux/kernel.h: Use parentheses around argument in u64_to_user_ptr()
      include/linux/kernel.h
    perf/x86/intel: Fix handling of wakeup_events for multi-entry PEBS
    drm/mediatek: Fix an error code in mtk_hdmi_dt_parse_pdata()
    ASoC: tlv320aic32x4: Fix Common Pins
    IB/hfi1: Eliminate opcode tests on mr deref
    ASoC: cs4270: Set auto-increment bit for register writes
    ASoC: nau8810: fix the issue of widget with prefixed name
  * ASoC:soc-pcm:fix a codec fixup issue in TDM case
      sound/soc/soc-pcm.c
    staging: greybus: power_supply: fix prop-descriptor request size
    ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings
    scsi: libsas: fix a race condition when smp task timeout
  * f2fs: fix to avoid accessing xattr across the boundary
      fs/f2fs/xattr.c
      fs/f2fs/xattr.h
  * f2fs: fix to avoid potential race on sbi->unusable_block_count access/update
      fs/f2fs/checkpoint.c
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: add tracepoint for f2fs_filemap_fault()
      fs/f2fs/file.c
      include/trace/events/f2fs.h
  * f2fs: introduce DATA_GENERIC_ENHANCE
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/inode.c
      fs/f2fs/node.c
      fs/f2fs/recovery.c
      fs/f2fs/segment.c
      fs/f2fs/segment.h
  * f2fs: fix to handle error in f2fs_disable_checkpoint()
      fs/f2fs/super.c
  * f2fs: remove redundant check in f2fs_file_write_iter()
      fs/f2fs/file.c
  * f2fs: fix to be aware of readonly device in write_checkpoint()
      fs/f2fs/checkpoint.c
  * f2fs: fix to skip recovery on readonly device
      fs/f2fs/checkpoint.c
      fs/f2fs/super.c
  * f2fs: fix to consider multiple device for readonly check
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
  * f2fs: relocate chksum_offset for large_nat_bitmap feature
      fs/f2fs/checkpoint.c
      fs/f2fs/f2fs.h
  * f2fs: allow unfixed f2fs_checkpoint.checksum_offset
      fs/f2fs/checkpoint.c
      include/linux/f2fs_fs.h
  * f2fs: Replace spaces with tab
      fs/f2fs/acl.c
  * f2fs: insert space before the open parenthesis '('
      fs/f2fs/acl.c
  * f2fs: allow address pointer number of dnode aligning to specified size
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/node.c
      fs/f2fs/super.c
      include/linux/f2fs_fs.h
  * f2fs: introduce f2fs_read_single_page() for cleanup
      fs/f2fs/data.c
  * f2fs: mark is_extension_exist() inline
      fs/f2fs/namei.c
  * f2fs: fix to set FI_UPDATE_WRITE correctly
      fs/f2fs/data.c
  * f2fs: fix to avoid panic in f2fs_inplace_write_data()
      fs/f2fs/segment.c
  * f2fs: fix to do sanity check on valid block count of segment
      fs/f2fs/segment.h
  * f2fs: fix to do sanity check on valid node/block count
      fs/f2fs/super.c
  * f2fs: fix to avoid panic in do_recover_data()
      fs/f2fs/recovery.c
  * f2fs: fix to do sanity check on free nid
      fs/f2fs/node.c
  * f2fs: fix to do checksum even if inode page is uptodate
      fs/f2fs/inode.c
      fs/f2fs/node.c
  * f2fs: fix to avoid panic in f2fs_remove_inode_page()
      fs/f2fs/node.c
  * f2fs: fix to clear dirty inode in error path of f2fs_iget()
      fs/f2fs/inode.c
  * f2fs: remove new blank line of f2fs kernel message
      fs/f2fs/file.c
      fs/f2fs/super.c
  * f2fs: fix wrong __is_meta_io() macro
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
  * f2fs: fix to avoid panic in dec_valid_node_count()
      fs/f2fs/f2fs.h
  * f2fs: fix to avoid panic in dec_valid_block_count()
      fs/f2fs/f2fs.h
  * f2fs: fix to use inline space only if inline_xattr is enable
      fs/f2fs/f2fs.h
  * f2fs: fix to retrieve inline xattr space
      fs/f2fs/inline.c
  * f2fs: fix error path of recovery
      fs/f2fs/recovery.c
  * f2fs: fix to avoid deadloop in foreground GC
      fs/f2fs/gc.c
  * f2fs: data: fix warning Using plain integer as NULL pointer
      fs/f2fs/data.c
  * f2fs: add tracepoint for f2fs_file_write_iter()
      fs/f2fs/file.c
      include/trace/events/f2fs.h
  * f2fs: add comment for conditional compilation statement
      fs/f2fs/f2fs.h
  * f2fs: fix potential recursive call when enabling data_flush
      fs/f2fs/checkpoint.c
      fs/f2fs/data.c
  * f2fs: improve discard handling with multi-device volumes
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
  * f2fs: Reduce zoned block device memory usage
      fs/f2fs/f2fs.h
      fs/f2fs/segment.c
      fs/f2fs/super.c
  * f2fs: Fix use of number of devices
      fs/f2fs/data.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/gc.c
      fs/f2fs/segment.c
  * ANDROID: block/cfq-iosched: make group_idle per io cgroup tunable
      block/cfq-iosched.c
    Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9
    ANDROID: cuttlefish_defconfig: Enable CONFIG_CPUSETS and CONFIG_CGROUP_SCHEDTUNE
    ANDROID: Communicates LMK events to userland where they can be logged
    Merge 4.9.174 into android-4.9
Linux 4.9.174
    media: v4l2: i2c: ov7670: Fix PLL bypass register values
    x86/mce: Improve error message when kernel cannot recover, p2
  * selinux: never allow relabeling on context mounts
      security/selinux/hooks.c
    Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ
    scsi: RDMA/srpt: Fix a credit leak for aborted commands
    staging: iio: adt7316: fix the dac write calculation
    staging: iio: adt7316: fix the dac read calculation
    staging: iio: adt7316: allow adt751x to use internal vref for all dacs
    perf/x86/amd: Update generic hardware cache events for Family 17h
    ARM: iop: don't use using 64-bit DMA masks
    ARM: orion: don't use using 64-bit DMA masks
    xsysace: Fix error handling in ace_setup
    sh: fix multiple function definition build errors
    hugetlbfs: fix memory leak for resv_map
    net: hns: Fix WARNING when remove HNS driver with SMMU enabled
    net: hns: Use NAPI_POLL_WEIGHT for hns driver
    net: hns: fix KASAN: use-after-free in hns_nic_net_xmit_hw()
    scsi: storvsc: Fix calculation of sub-channel count
  * scsi: core: add new RDAC LENOVO/DE_Series device
      drivers/scsi/scsi_devinfo.c
    vfio/pci: use correct format characters
    rtc: da9063: set uie_unsupported when relevant
  * debugfs: fix use-after-free on symlink traversal
      fs/debugfs/inode.c
    jffs2: fix use-after-free on symlink traversal
    net: stmmac: don't log oversized frames
    net: stmmac: fix dropping of multi-descriptor RX frames
    net: stmmac: don't overwrite discard_frame status
  * bonding: show full hw address in sysfs for slave entries
      drivers/net/bonding/bond_sysfs_slave.c
    net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands
    igb: Fix WARN_ONCE on runtime suspend
    batman-adv: Reduce tt_global hash refcnt only for removed entry
    batman-adv: Reduce tt_local hash refcnt only for removed entry
    batman-adv: Reduce claim hash refcnt only for removed entry
    rtc: sh: Fix invalid alarm warning for non-enabled alarm
  * HID: debug: fix race condition with between rdesc_show() and device removal
      drivers/hid/hid-debug.c
    HID: logitech: check the return value of create_singlethread_workqueue
    nvme-loop: init nvmet_ctrl fatal_err_work when allocate
  * USB: core: Fix bug caused by duplicate interface PM usage counter
      drivers/usb/core/driver.c
      include/linux/usb.h
  * USB: core: Fix unterminated string returned by usb_string()
      drivers/usb/core/message.c
    usb: usbip: fix isoc packet num validation in get_pipe
    USB: w1 ds2490: Fix bug caused by improper use of altsetting array
    USB: yurex: Fix protection fault after device removal
    caif: reduce stack size with KASAN
  * arm64: mm: don't print out page table entries on EL0 faults
      arch/arm64/mm/fault.c
  * arm64: mm: print out correct page table entries
      arch/arm64/include/asm/system_misc.h
      arch/arm64/mm/fault.c
  * kasan: prevent compiler from optimizing away memset in tests
      lib/Makefile
  * arm64: proc: Set PTE_NG for table entries to avoid traversing them twice
      arch/arm64/mm/proc.S
    kasan: remove redundant initialization of variable 'real_size'
    kasan: avoid -Wmaybe-uninitialized warning
  * kasan: add a prototype of task_struct to avoid warning
      include/linux/kasan.h
    arm64: kasan: avoid bad virt_to_pfn()
    x86/unwind: Disable KASAN checks for non-current tasks
    mm/kasan: Switch to using __pa_symbol and lm_alias
    x86/suspend: fix false positive KASAN warning on suspend/resume
    net: phy: marvell: Fix buffer overrun with stats counters
    bnxt_en: Improve multicast address setup logic.
  * packet: validate msg_namelen in send directly
      net/packet/af_packet.c
  * ipv6: invert flowlabel sharing check in process and user mode
      net/ipv6/ip6_flowlabel.c
  * ipv6/flowlabel: wait rcu grace period before put_pid()
      net/ipv6/ip6_flowlabel.c
  * ipv4: ip_do_fragment: Preserve skb_iif during fragmentation
      net/ipv4/ip_output.c
    ALSA: line6: use dynamic buffers
  * ext4: don't bother checking for encryption key in ->mmap()
      fs/ext4/file.c
    ANDROID: cuttlefish 4.9: enable CONFIG_CRYPTO_AES_NI_INTEL=y
    Merge 4.9.173 into android-4.9
Linux 4.9.173
    vfio/type1: Limit DMA mappings per container
    leds: pca9532: fix a potential NULL pointer dereference
    kconfig/[mn]conf: handle backspace (^H) key
  * gpio: of: Fix of_gpiochip_add() error path
      drivers/gpio/gpiolib-of.c
    libata: fix using DMA buffers on stack
    scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN
    ceph: fix use-after-free on symlink traversal
    usb: u132-hcd: fix resource leak
    scsi: qla4xxx: fix a potential NULL pointer dereference
    net: ethernet: ti: fix possible object reference leak
    net: ibm: fix possible object reference leak
    net: xilinx: fix possible object reference leak
    NFS: Fix a typo in nfs_init_timeout_values()
    staging: rtl8712: uninitialized memory in read_bbreg_hdl()
    net: ks8851: Set initial carrier state to down
    net: ks8851: Delay requesting IRQ until opened
    net: ks8851: Reassert reset pin if chip ID check fails
    net: ks8851: Dequeue RX packets explicitly
    ARM: dts: pfla02: increase phy reset duration
    usb: gadget: net2272: Fix net2272_dequeue()
    usb: gadget: net2280: Fix net2280_dequeue()
    usb: gadget: net2280: Fix overrun of OUT messages
    serial: ar933x_uart: Fix build failure with disabled console
    sc16is7xx: missing unregister/delete driver on error in sc16is7xx_init()
    netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING
    netfilter: nft_set_rbtree: check for inactive element after flag mismatch
    qlcnic: Avoid potential NULL pointer dereference
    s390: limit brk randomization to 32MB
    ARM: dts: bcm283x: Fix hdmi hpd gpio pull
    media: vivid: check if the cec_adapter is valid
    usbnet: ipheth: fix potential null pointer dereference in ipheth_carrier_set
    usbnet: ipheth: prevent TX queue timeouts when device not ready
    Merge 4.9.172 into android-4.9
Linux 4.9.172
    Documentation: Add nospectre_v1 parameter
    powerpc/fsl: Add FSL_PPC_BOOK3E as supported arch for nospectre_v2 boot arg
  * net: IP6 defrag: use rbtrees in nf_conntrack_reasm.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
  * net: IP6 defrag: use rbtrees for IPv6 defrag
      include/net/ipv6_frag.h
      net/ipv6/reassembly.c
  * ipv6: remove dependency of nf_defrag_ipv6 on ipv6 module
      include/net/ipv6.h
      include/net/ipv6_frag.h
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/netfilter/nf_defrag_ipv6_hooks.c
      net/ipv6/reassembly.c
  * net: IP defrag: encapsulate rbtree defrag code into callable functions
      include/net/inet_frag.h
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
  * ipv6: frags: fix a lockdep false positive
      net/ipv6/reassembly.c
  * ipv4: set the tcp_min_rtt_wlen range from 0 to one day
      net/ipv4/sysctl_net_ipv4.c
    net: stmmac: move stmmac_check_ether_addr() to driver probe
    team: fix possible recursive locking when add slaves
    net: rds: exchange of 8K and 1M pool
    net/mlx5e: ethtool, Remove unsupported SFP EEPROM high pages query
    mlxsw: spectrum: Fix autoneg status in ethtool
  * ipv4: add sanity checks in ipv4_link_failure()
      net/ipv4/route.c
  * Revert "block/loop: Use global lock for ioctl() operation."
      drivers/block/loop.c
      drivers/block/loop.h
    tipc: check link name with right length in tipc_nl_compat_link_set
    tipc: check bearer name with right length in tipc_nl_compat_bearer_enable
    fm10k: Fix a potential NULL pointer dereference
  * netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON
      net/bridge/netfilter/ebtables.c
    NFS: Forbid setting AF_INET6 to "struct sockaddr_in"->sin_family.
  * fs/proc/proc_sysctl.c: Fix a NULL pointer dereference
      fs/proc/proc_sysctl.c
    intel_th: gth: Fix an off-by-one in output unassigning
  * slip: make slhc_free() silently accept an error pointer
      drivers/net/slip/slhc.c
    tipc: handle the err returned from cmd header function
    vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock
  * USB: Consolidate LPM checks to avoid enabling LPM twice
      drivers/usb/core/driver.c
      drivers/usb/core/hub.c
      drivers/usb/core/message.c
  * USB: Add new USB LPM helpers
      drivers/usb/core/driver.c
      drivers/usb/core/hub.c
      drivers/usb/core/message.c
      drivers/usb/core/sysfs.c
      drivers/usb/core/usb.h
    drm/vc4: Fix compilation error reported by kbuild test bot
    drm/vc4: Fix memory leak during gpu reset.
    ARM: 8857/1: efi: enable CP15 DMB instructions before cleaning the cache
    dmaengine: sh: rcar-dmac: With cyclic DMA residue 0 is valid
    Input: synaptics-rmi4 - write config register values to the right offset
    sunrpc: don't mark uninitialised items as VALID.
    nfsd: Don't release the callback slot unless it was actually held
    ceph: fix ci->i_head_snapc leak
    ceph: ensure d_name stability in ceph_dentry_hash()
  * sched/numa: Fix a possible divide-by-zero
      kernel/sched/fair.c
    IB/rdmavt: Fix frwr memory registration
  * trace: Fix preempt_enable_no_resched() abuse
      kernel/trace/ring_buffer.c
    MIPS: scall64-o32: Fix indirect syscall number load
  * tracing: Fix a memory leak by early error exit in trace_pid_write()
      kernel/trace/trace.c
    cifs: do not attempt cifs operation on smb2+ rename error
  * kbuild: simplify ld-option implementation
      scripts/Kbuild.include
    Merge 4.9.171 into android-4.9
Linux 4.9.171
  * kernel/sysctl.c: fix out-of-bounds access when setting file-max
      kernel/sysctl.c
    Revert "locking/lockdep: Add debug_locks check in __lock_downgrade()"
    i2c-hid: properly terminate i2c_hid_dmi_desc_override_table[] array
  * percpu: stop printing kernel addresses
      mm/percpu.c
  * ALSA: info: Fix racy addition/deletion of nodes
      sound/core/info.c
  * mm/vmstat.c: fix /proc/vmstat format for CONFIG_DEBUG_TLBFLUSH=y CONFIG_SMP=n
      mm/vmstat.c
    device_cgroup: fix RCU imbalance in error case
  * sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup
      kernel/sched/fair.c
  * Revert "kbuild: use -Oz instead of -Os when using clang"
      Makefile
    perf/x86/amd: Add event map for AMD Family 17h
    mac80211: do not call driver wake_tx_queue op during reconfig
    rt2x00: do not increment sequence number while re-transmitting
  * kprobes: Fix error check when reusing optimized probes
      kernel/kprobes.c
    kprobes: Mark ftrace mcount handler functions nokprobe
  * x86/kprobes: Verify stack frame on kretprobe
      include/linux/kprobes.h
  * arm64: futex: Restore oldval initialization to work around buggy compilers
      arch/arm64/include/asm/futex.h
    crypto: x86/poly1305 - fix overflow during partial reduction
    Revert "svm: Fix AVIC incomplete IPI emulation"
    Revert "scsi: fcoe: clear FC_RP_STARTED flags when receiving a LOGO"
  * ALSA: core: Fix card races between register and disconnect
      sound/core/init.c
    staging: comedi: ni_usb6501: Fix possible double-free of ->usb_rx_buf
    staging: comedi: ni_usb6501: Fix use of uninitialized mutex
    staging: comedi: vmk80xx: Fix possible double-free of ->usb_rx_buf
    staging: comedi: vmk80xx: Fix use of uninitialized semaphore
    io: accel: kxcjk1013: restore the range after resume.
    iio: adc: at91: disable adc channel interrupt in timeout case
    iio: ad_sigma_delta: select channel when reading register
    iio/gyro/bmg160: Use millidegrees for temperature scale
    staging: iio: ad7192: Fix ad7193 channel address
    KVM: x86: Don't clear EFER during SMM transitions for 32-bit vCPU
    CIFS: keep FileInfo handle live during oplock break
    tpm/tpm_i2c_atmel: Return -E2BIG when the transfer is incomplete
  * modpost: file2alias: check prototype of handler
      scripts/mod/file2alias.c
  * modpost: file2alias: go back to simple devtable lookup
      scripts/mod/file2alias.c
  * mmc: sdhci: Fix data command CRC error handling
      drivers/mmc/host/sdhci.c
    crypto: crypto4xx - properly set IV after de- and encrypt
  * ipv4: ensure rcu_read_lock() in ipv4_link_failure()
      net/ipv4/route.c
  * ipv4: recompile ip options in ipv4_link_failure
      net/ipv4/route.c
    vhost: reject zero size iova range
    team: set slave to promisc if team is already in promisc mode
  * tcp: tcp_grow_window() needs to respect tcp_space()
      net/ipv4/tcp_input.c
    net: fou: do not use guehdr after iptunnel_pull_offloads in gue_udp_recv
  * net: bridge: multicast: use rcu to access port list from br_multicast_start_querier
      net/bridge/br_multicast.c
  * net: bridge: fix per-port af_packet sockets
      net/bridge/br_input.c
    net: atm: Fix potential Spectre v1 vulnerabilities
  * bonding: fix event handling for stacked bonds
      drivers/net/bonding/bond_main.c
  * UPSTREAM: usb: hcd: use correct device pointer for dma ops
      drivers/usb/core/hcd.c
    UPSTREAM: usb: host: ehci: use correct device pointer for dma ops
  * UPSTREAM: usb: separate out sysdev pointer from usb_bus
      drivers/usb/core/buffer.c
      drivers/usb/core/hcd.c
      drivers/usb/core/usb.c
      include/linux/usb.h
      include/linux/usb/hcd.h
    ANDROID: cuttlefish_defconfig: Enable CONFIG_XFRM_STATISTICS
    Merge 4.9.170 into android-4.9
Linux 4.9.170
  * appletalk: Fix compile regression
      include/linux/atalk.h
    net: stmmac: Set dma ring length before enabling the DMA
    tpm/tpm_crb: Avoid unaligned reads in crb_recv()
  * include/linux/swap.h: use offsetof() instead of custom __swapoffset macro
      include/linux/swap.h
  * lib/div64.c: off by one in shift
      lib/div64.c
  * appletalk: Fix use-after-free in atalk_proc_exit
      include/linux/atalk.h
    ARM: 8839/1: kprobe: make patch_lock a raw_spinlock_t
    lkdtm: Add tests for NULL pointer dereference
    soc/tegra: pmc: Drop locking from tegra_powergate_is_powered()
    iommu/dmar: Fix buffer overflow during PCI bus notification
    crypto: sha512/arm - fix crash bug in Thumb2 build
    crypto: sha256/arm - fix crash bug in Thumb2 build
  * kernel: hung_task.c: disable on suspend
      kernel/hung_task.c
    cifs: fallback to older infolevels on findfirst queryinfo retry
    ACPI / SBS: Fix GPE storm on recent MacBookPro's
    ARM: samsung: Limit SAMSUNG_PM_CHECK config option to non-Exynos platforms
    HID: i2c-hid: override HID descriptors for certain devices
    serial: uartps: console_setup() can't be placed to init section
  * f2fs: fix to do sanity check with current segment number
      fs/f2fs/super.c
    9p locks: add mount option for lock retry interval
    9p: do not trust pdu content for stat item size
    rsi: improve kernel thread handling to fix kernel panic
    gpio: pxa: handle corner case of unprobed device
  * ext4: prohibit fstrim in norecovery mode
      fs/ext4/ioctl.c
    fix incorrect error code mapping for OBJECTID_NOT_FOUND
    x86/hw_breakpoints: Make default case in hw_breakpoint_arch_parse() return an error
    iommu/vt-d: Check capability before disabling protected memory
    x86/cpu/cyrix: Use correct macros for Cyrix calls on Geode processors
    x86/hpet: Prevent potential NULL pointer dereference
    irqchip/mbigen: Don't clear eventid when freeing an MSI
    perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test()
    perf tests: Fix a memory leak of cpu_map object in the openat_syscall_event_on_all_cpus test
    perf evsel: Free evsel->counts in perf_evsel__exit()
    perf hist: Add missing map__put() in error case
    perf top: Fix error handling in cmd_top()
    perf build-id: Fix memory leak in print_sdt_events()
    perf config: Fix a memory leak in collect_config()
    perf config: Fix an error in the config template documentation
    tools/power turbostat: return the exit status of a command
    thermal/int340x_thermal: fix mode setting
    thermal/int340x_thermal: Add additional UUIDs
    ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declaration
    mmc: davinci: remove extraneous __init annotation
    IB/mlx4: Fix race condition between catas error reset and aliasguid flows
    ALSA: sb8: add a check for request_region
    ALSA: echoaudio: add a check for ioremap_nocache
  * ext4: report real fs size after failed resize
      fs/ext4/resize.c
  * ext4: add missing brelse() in add_new_gdb_meta_bg()
      fs/ext4/resize.c
  * perf/core: Restore mmap record type correctly
      kernel/events/core.c
    ARC: u-boot args: check that magic number is correct
    ANDROID: cuttlefish_defconfig: Enable L2TP/PPTP
  * ANDROID: Makefile: Properly resolve 4.9.169 merge
      Makefile
    Make arm64 serial port config compatible with crosvm
    Merge 4.9.169 into android-4.9
Linux 4.9.169
  * PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller
      drivers/pci/quirks.c
    xtensa: fix return_address
  * sched/fair: Do not re-read ->h_load_next during hierarchical load calculation
      kernel/sched/fair.c
    xen: Prevent buffer overflow in privcmd ioctl
    parisc: Use cr16 interval timers unconditionally on qemu
  * arm64: futex: Fix FUTEX_WAKE_OP atomic ops with non-zero result value
      arch/arm64/include/asm/futex.h
    ARM: dts: at91: Fix typo in ISC_D0 on PC9
    virtio: Honour 'may_reduce_num' in vring_create_virtqueue
  * genirq: Respect IRQCHIP_SKIP_SET_WAKE in irq_chip_set_wake_parent()
      kernel/irq/chip.c
  * block: do not leak memory in bio_copy_user_iov()
      block/bio.c
    Btrfs: do not allow trimming when a fs is mounted with the nologreplay option
    ASoC: fsl_esai: fix channel swap issue when stream starts
  * include/linux/bitrev.h: fix constant bitrev
      include/linux/bitrev.h
    parisc: Detect QEMU earlier in boot process
    ALSA: seq: Fix OOB-reads from strlcpy
  * ip6_tunnel: Match to ARPHRD_TUNNEL6 for dev type
      net/ipv6/ip6_tunnel.c
  * net: ethtool: not call vzalloc for zero sized memory request
      net/core/ethtool.c
  * netns: provide pure entropy for net_hash_mix()
      include/net/net_namespace.h
      include/net/netns/hash.h
      net/core/net_namespace.c
    net/mlx5e: Add a lock on tir list
    bnxt_en: Improve RX consumer index validity check.
    bnxt_en: Reset device on RX buffer errors.
  * vrf: check accept_source_route on the original netdevice
      include/net/ip.h
      net/ipv4/ip_input.c
      net/ipv4/ip_options.c
    tcp: Ensure DCTCP reacts to losses
    sctp: initialize _pad of sockaddr_in before copying to user memory
    qmi_wwan: add Olicard 600
    openvswitch: fix flow actions reallocation
    net: rds: force to destroy connection if t_sock is NULL in rds_tcp_kill_sock().
    kcm: switch order of device registration to fix a crash
  * ipv6: sit: reset ip header pointer in ipip6_rcv
      net/ipv6/sit.c
  * ipv6: Fix dangling pointer when ipv6 fragment
      net/ipv6/ip6_output.c
  * tty: ldisc: add sysctl to prevent autoloading of ldiscs
      drivers/tty/Kconfig
      drivers/tty/tty_io.c
      drivers/tty/tty_ldisc.c
  * tty: mark Siemens R3964 line discipline as BROKEN
      drivers/char/Kconfig
  * arm64: kaslr: Reserve size of ARM64_MEMSTART_ALIGN in linear region
      arch/arm64/mm/init.c
    powerpc/security: Fix spectre_v2 reporting
    powerpc/fsl: Fix the flush of branch predictor.
    powerpc/fsl: Fixed warning: orphan section `__btb_flush_fixup'
    powerpc/fsl: Update Spectre v2 reporting
    powerpc/fsl: Enable runtime patching if nospectre_v2 boot arg is used
    powerpc/fsl: Flush branch predictor when entering KVM
    powerpc/fsl: Flush the branch predictor at each kernel entry (32 bit)
    powerpc/fsl: Flush the branch predictor at each kernel entry (64bit)
    powerpc/fsl: Add nospectre_v2 command line argument
    powerpc/fsl: Emulate SPRN_BUCSR register
    powerpc/fsl: Fix spectre_v2 mitigations reporting
    powerpc/fsl: Add macro to flush the branch predictor
    powerpc/fsl: Add infrastructure to fixup branch predictor flush
    powerpc/powernv: Query firmware for count cache flush settings
    powerpc/pseries: Query hypervisor for count cache flush settings
    powerpc/64s: Add support for software count cache flush
    powerpc/64s: Add new security feature flags for count cache flush
    powerpc/asm: Add a patch_site macro & helpers for patching instructions
    powerpc/fsl: Sanitize the syscall table for NXP PowerPC 32 bit platforms
    powerpc/fsl: Add barrier_nospec implementation for NXP PowerPC Book3E
    powerpc/64: Make meltdown reporting Book3S 64 specific
    powerpc/64: Call setup_barrier_nospec() from setup_arch()
    powerpc/64: Add CONFIG_PPC_BARRIER_NOSPEC
    powerpc/64: Make stf barrier PPC_BOOK3S_64 specific.
    powerpc/64: Disable the speculation barrier from the command line
    powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2
    powerpc/64s: Enhance the information in cpu_show_spectre_v1()
    powerpc/64: Use barrier_nospec in syscall entry
    powerpc: Use barrier_nospec in copy_from_user()
    powerpc/64s: Enable barrier_nospec based on firmware settings
    powerpc/64s: Patch barrier_nospec in modules
    powerpc: Avoid code patching freed init sections
    powerpc/64s: Add support for ori barrier_nospec patching
    powerpc/64s: Add barrier_nospec
    powerpc: Fix invalid use of register expressions
  * lib/string.c: implement a basic bcmp
      include/linux/string.h
      lib/string.c
    x86/vdso: Drop implicit common-page-size linker flag
    x86: vdso: Use $LD instead of $CC to link
  * kbuild: clang: choose GCC_TOOLCHAIN_DIR not on LD
      Makefile
    powerpc/tm: Limit TM code inside PPC_TRANSACTIONAL_MEM
    x86/power: Make restore_processor_context() sane
    x86/power/32: Move SYSENTER MSR restoration to fix_processor_context()
    x86/power/64: Use struct desc_ptr for the IDT in struct saved_context
    x86/power: Fix some ordering bugs in __restore_processor_context()
  * fscrypt: remove filesystem specific build config option
      fs/crypto/Kconfig
      fs/crypto/fscrypt_private.h
      fs/ext4/Kconfig
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/inode.c
      fs/ext4/ioctl.c
      fs/ext4/namei.c
      fs/ext4/page-io.c
      fs/ext4/readpage.c
      fs/ext4/super.c
      fs/ext4/sysfs.c
      fs/f2fs/Kconfig
      fs/f2fs/f2fs.h
      fs/f2fs/super.c
      fs/f2fs/sysfs.c
      include/linux/fs.h
      include/linux/fscrypt.h
  * f2fs: use IS_ENCRYPTED() to check encryption status
      fs/f2fs/data.c
      fs/f2fs/dir.c
      fs/f2fs/f2fs.h
      fs/f2fs/file.c
      fs/f2fs/inode.c
      fs/f2fs/namei.c
  * ext4: use IS_ENCRYPTED() to check encryption status
      fs/ext4/dir.c
      fs/ext4/ext4.h
      fs/ext4/ext4_jbd2.h
      fs/ext4/extents.c
      fs/ext4/file.c
      fs/ext4/ialloc.c
      fs/ext4/inode.c
      fs/ext4/move_extent.c
      fs/ext4/namei.c
      fs/ext4/page-io.c
      fs/ext4/readpage.c
  * fscrypt: return -EXDEV for incompatible rename or link into encrypted dir
      fs/crypto/hooks.c
      fs/crypto/policy.c
      include/linux/fscrypt.h
  * fscrypt: remove CRYPTO_CTR dependency
      fs/crypto/Kconfig
  * fscrypt: add Adiantum support / removed speck
      fs/crypto/crypto.c
      fs/crypto/fname.c
      fs/crypto/fscrypt_private.h
      fs/crypto/keyinfo.c
      fs/crypto/policy.c
      include/uapi/linux/fs.h
  * ANDROID: Makefile: Add '-fsplit-lto-unit' to cfi-clang-flags
      Makefile
    Merge 4.9.168 into android-4.9
Linux 4.9.168
    ACPI / video: Extend chassis-type detection with a "Lunch Box" check
  * drm/dp/mst: Configure no_stop_bit correctly for remote i2c xfers
      drivers/gpu/drm/drm_dp_mst_topology.c
    dmaengine: tegra: avoid overflow of byte tracking
    x86/build: Mark per-CPU symbols as absolute explicitly for LLD
    wlcore: Fix memory leak in case wl12xx_fetch_firmware failure
  * selinux: do not override context on context mounts
      security/selinux/hooks.c
    x86/build: Specify elf_i386 linker emulation explicitly for i386 objects
    drm/nouveau: Stop using drm_crtc_force_disable
    regulator: act8865: Fix act8600_sudcdc_voltage_ranges setting
    media: s5p-jpeg: Check for fmt_ver_flag when doing fmt enumeration
    netfilter: physdev: relax br_netfilter dependency
    dmaengine: qcom_hidma: assign channel cookie correctly
    dmaengine: imx-dma: fix warning comparison of distinct pointer types
    hpet: Fix missing '=' character in the __setup() code of hpet_mmap_enable
    HID: intel-ish: ipc: handle PIMR before ish_wakeup also clear PISR busy_clear bit
    soc/tegra: fuse: Fix illegal free of IO base address
    hwrng: virtio - Avoid repeated init of completion
    media: mt9m111: set initial frame size other than 0x0
    powerpc/pseries: Perform full re-add of CPU for topology update post-migration
  * tty: increase the default flip buffer limit to 2*640K
      drivers/tty/tty_buffer.c
    ARM: avoid Cortex-A9 livelock on tight dmb loops
    mt7601u: bump supported EEPROM version
    soc: qcom: gsbi: Fix error handling in gsbi_probe()
    ARM: dts: lpc32xx: Remove leading 0x and 0s from bindings notation
    efi/memattr: Don't bail on zero VA if it equals the region's PA
    ASoC: fsl-asoc-card: fix object reference leaks in fsl_asoc_card_probe
    e1000e: fix cyclic resets at link up with active tx
    cdrom: Fix race condition in cdrom_sysctl_register
  * fbdev: fbmem: fix memory access if logo is bigger than the screen
      drivers/video/fbdev/core/fbmem.c
    iw_cxgb4: fix srqidx leak during connection abort
  * genirq: Avoid summation loops for /proc/stat
      include/linux/irqdesc.h
      kernel/irq/chip.c
      kernel/irq/internals.h
      kernel/irq/irqdesc.c
    bcache: improve sysfs_strtoul_clamp()
    bcache: fix input overflow to sequential_cutoff
    bcache: fix input overflow to cache set sysfs file io_error_halflife
  * usb: f_fs: Avoid crash due to out-of-scope stack ptr access
      drivers/usb/gadget/function/f_fs.c
  * ALSA: PCM: check if ops are defined before suspending PCM
      sound/core/pcm_native.c
    ARM: 8833/1: Ensure that NEON code always compiles with Clang
  * kprobes: Prohibit probing on bsearch()
      lib/bsearch.c
    ACPI / video: Refactor and fix dmi_is_desktop()
    iwlwifi: pcie: fix emergency path
    leds: lp55xx: fix null deref on firmware load failure
    HID: intel-ish-hid: avoid binding wrong ishtp_cl_device
  * vfs: fix preadv64v2 and pwritev64v2 compat syscalls with offset == -1
      fs/read_write.c
    media: mx2_emmaprp: Correct return type for mem2mem buffer helpers
    media: s5p-g2d: Correct return type for mem2mem buffer helpers
    media: s5p-jpeg: Correct return type for mem2mem buffer helpers
    media: sh_veu: Correct return type for mem2mem buffer helpers
    SoC: imx-sgtl5000: add missing put_device()
    perf test: Fix failure of 'evsel-tp-sched' test on s390
    scsi: megaraid_sas: return error when create DMA pool failed
    IB/mlx4: Increase the timeout for CM cache
    mlxsw: spectrum: Avoid -Wformat-truncation warnings
    e1000e: Fix -Wformat-truncation warnings
    mmc: omap: fix the maximum timeout setting
    iommu/io-pgtable-arm-v7s: Only kmemleak_ignore L2 tables
    ARM: 8840/1: use a raw_spinlock_t in unwind
    coresight: etm4x: Add support to enable ETMv4.2
  * scsi: core: replace GFP_ATOMIC with GFP_KERNEL in scsi_scan.c
      drivers/scsi/scsi_scan.c
    usb: chipidea: Grab the (legacy) USB PHY by phandle first
    crypto: crypto4xx - add missing of_node_put after of_device_is_available
    wil6210: check null pointer in _wil_cfg80211_merge_extra_ies
    tools lib traceevent: Fix buffer overflow in arg_eval
  * fs: fix guard_bio_eod to check for real EOD errors
      fs/buffer.c
  * jbd2: fix invalid descriptor block checksum
      fs/jbd2/commit.c
    cifs: Fix NULL pointer dereference of devname
    dm thin: add sanity checks to thin-pool and external snapshot creation
    cifs: use correct format characters
  * fs/file.c: initialize init_files.resize_wait
      fs/file.c
    f2fs: do not use mutex lock in atomic context
    ocfs2: fix a panic problem caused by o2cb_ctl
    mm/slab.c: kmemleak no scan alien caches
  * mm/vmalloc.c: fix kernel BUG at mm/vmalloc.c:512!
      mm/vmalloc.c
    mm/page_ext.c: fix an imbalance with kmemleak
  * mm/cma.c: cma_declare_contiguous: correct err handling
      mm/cma.c
    scsi: hisi_sas: Set PHY linkrate when disconnected
    enic: fix build warning without CONFIG_CPUMASK_OFFSTACK
  * sysctl: handle overflow for file-max
      kernel/sysctl.c
  * include/linux/relay.h: fix percpu annotation in struct rchan
      include/linux/relay.h
    gpio: gpio-omap: fix level interrupt idling
  * tracing: kdb: Fix ftdump to not sleep
      include/linux/ring_buffer.h
      kernel/trace/ring_buffer.c
      kernel/trace/trace.c
    h8300: use cc-cross-prefix instead of hardcoding h8300-unknown-linux-
    CIFS: fix POSIX lock leak and invalid ptr deref
  * i2c: core-smbus: prevent stack corruption on read I2C_BLOCK_DATA
      drivers/i2c/i2c-core.c
    mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified
    tty/serial: atmel: RS485 HD w/DMA: enable RX after TX is stopped
    tty/serial: atmel: Add is_half_duplex helper
  * lib/int_sqrt: optimize initial value compute
      lib/int_sqrt.c
  * ext4: cleanup bh release code in ext4_ind_remove_space()
      fs/ext4/indirect.c
  * arm64: debug: Ensure debug handlers check triggering exception level
      arch/arm64/kernel/probes/kprobes.c
  * arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals
      arch/arm64/mm/fault.c
  * ext4: switch to fscrypt_prepare_setattr()
      fs/ext4/inode.c
  * ext4: switch to fscrypt_prepare_rename()
      fs/ext4/namei.c
  * ext4: switch to fscrypt_prepare_link()
      fs/ext4/namei.c
  * ext4: switch to fscrypt_file_open()
      fs/ext4/file.c
  * ext4, dax: set ext4_dax_aops for dax files
      fs/ext4/inode.c
    ANDROID: cuttlefish_defconfig: Enable CONFIG_OVERLAY_FS
    ANDROID: cuttlefish: enable CONFIG_NET_SCH_INGRESS=y
    Merge 4.9.167 into android-4.9
Linux 4.9.167
  * arm64: support keyctl() system call in 32-bit mode
      arch/arm64/Kconfig
  * Revert "USB: core: only clean up what we allocated"
      drivers/usb/core/config.c
  * xhci: Fix port resume done detection for SS ports with LPM enabled
      drivers/usb/host/xhci-ring.c
      drivers/usb/host/xhci.h
  * USB: gadget: f_hid: fix deadlock in f_hidg_write()
      drivers/usb/gadget/function/f_hid.c
    KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
    KVM: Reject device ioctls from processes other than the VM's creator
    x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y
  * cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n
      kernel/cpu.c
    perf intel-pt: Fix TSC slip
    usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
  * usb: common: Consider only available nodes for dr_mode
      drivers/usb/common/common.c
    gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input
  * fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links
      fs/proc/proc_sysctl.c
    Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc
    USB: serial: option: add Olicard 600
    USB: serial: option: set driver_info for SIM5218 and compatibles
    USB: serial: mos7720: fix mos_parport refcount imbalance on error path
    USB: serial: ftdi_sio: add additional NovaTech products
    USB: serial: cp210x: add new device id
    serial: sh-sci: Fix setting SCSCR_TIE while transferring data
    serial: max310x: Fix to avoid potential NULL pointer dereference
    staging: vt6655: Fix interrupt race condition on device start up.
    staging: vt6655: Remove vif check from vnt_interrupt
    staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest
    tty: atmel_serial: fix a potential NULL pointer dereference
    scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices
    scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host
  * scsi: sd: Quiesce warning if device does not report optimal I/O size
      drivers/scsi/sd.c
  * scsi: sd: Fix a race between closing an sd device and sd I/O
      drivers/scsi/sd.c
  * fs/open.c: allow opening only regular files during execve()
      fs/open.c
  * ALSA: pcm: Don't suspend stream in unrecoverable PCM state
      sound/core/pcm_native.c
    ALSA: pcm: Fix possible OOB access in PCM oss plugins
    ALSA: seq: oss: Fix Spectre v1 vulnerability
  * ALSA: rawmidi: Fix potential Spectre v1 vulnerability
      sound/core/rawmidi.c
    net: dsa: qca8k: remove leftover phy accessors
    NFSv4.1 don't free interrupted slot on open
    powerpc: bpf: Fix generation of load/store DW instructions
    ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time
    btrfs: raid56: properly unmap parity page in finish_parity_scrub()
    btrfs: remove WARN_ON in log_dir_items
  * tun: add a missing rcu_read_unlock() in error path
      drivers/net/tun.c
  * tun: properly test for IFF_UP
      drivers/net/tun.c
    mac8390: Fix mmio access size probe
  * sctp: get sctphdr by offset in sctp_compute_cksum
      include/net/sctp/checksum.h
    vxlan: Don't call gro_cells_destroy() before device is unregistered
  * tcp: do not use ipv6 header for ipv4 flow
      net/ipv6/tcp_ipv6.c
  * packets: Always register packet sk in the same order
      include/net/sock.h
      net/packet/af_packet.c
    net: rose: fix a possible stack overflow
  * net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec
      net/packet/af_packet.c
    mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S
    dccp: do not use ipv6 header for ipv4 flow
    stmmac: copy unicast mac address to MAC registers
  * cfg80211: size various nl80211 messages correctly
      net/wireless/nl80211.c
    video: fbdev: Set pixclock = 0 in goldfishfb
  * Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer
      net/bluetooth/l2cap_core.c
  * Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt
      net/bluetooth/l2cap_core.c
    UPSTREAM: virt_wifi: Remove REGULATORY_WIPHY_SELF_MANAGED
    Merge 4.9.166 into android-4.9
Linux 4.9.166
    ath10k: avoid possible string overflow
    power: supply: charger-manager: Fix incorrect return value
    pwm-backlight: Enable/disable the PWM before/after LCD enable toggle.
  * rtc: Fix overflow when converting time64_t to rtc_time
      drivers/rtc/rtc-lib.c
  * scsi: ufs: fix wrong command type of UTRD for UFSHCI v2.1
      drivers/scsi/ufs/ufshcd.c
  * USB: core: only clean up what we allocated
      drivers/usb/core/config.c
  * lib/int_sqrt: optimize small argument
      lib/int_sqrt.c
    serial: sprd: clear timeout interrupt only rather than all interrupts
  * arm64: traps: disable irq in die()
      arch/arm64/kernel/traps.c
  * Hang/soft lockup in d_invalidate with simultaneous calls
      fs/dcache.c
    serial: sprd: adjust TIMEOUT to a big value
  * tcp/dccp: drop SYN packets if accept queue is full
      include/net/inet_connection_sock.h
      net/ipv4/tcp_input.c
    ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec
    ALSA: hda - Record the current power state before suspend/resume calls
    locking/lockdep: Add debug_locks check in __lock_downgrade()
  * Bluetooth: Fix decrementing reference count twice in releasing socket
      net/bluetooth/hci_sock.c
  * media: v4l2-ctrls.c/uvc: zero v4l2_event
      drivers/media/v4l2-core/v4l2-ctrls.c
  * ext4: brelse all indirect buffer in ext4_ind_remove_space()
      fs/ext4/indirect.c
  * ext4: fix data corruption caused by unaligned direct AIO
      fs/ext4/file.c
  * ext4: fix NULL pointer dereference while journal is aborted
      fs/ext4/ext4_jbd2.h
    objtool: Move objtool_file struct off the stack
  * futex: Ensure that futex address is aligned in handle_futex_death()
      kernel/futex.c
    MIPS: Fix kernel crash for R6 in jump label branch function
    MIPS: Ensure ELF appended dtb is relocated
    mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction.
    udf: Fix crash on IO error during truncate
    libceph: wait for latest osdmap in ceph_monc_blacklist_add()
    iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE
    drm/vmwgfx: Don't double-free the mode stored in par->set_mode
    mmc: pxamci: fix enum type confusion

Change-Id: I240c51a5bde3c2c7a9ada58c87d5d0966f26cb78
Signed-off-by: Robin Peng <robinpeng@google.com>
2019-07-02 15:35:29 +08:00
Greg Kroah-Hartman
77161ce013 Merge 4.9.181 into android-4.9-q
Changes in 4.9.181
	ipv6: Consider sk_bound_dev_if when binding a raw socket to an address
	llc: fix skb leak in llc_build_and_send_ui_pkt()
	net: fec: fix the clk mismatch in failed_reset path
	net-gro: fix use-after-free read in napi_gro_frags()
	net: stmmac: fix reset gpio free missing
	usbnet: fix kernel crash after disconnect
	tipc: Avoid copying bytes beyond the supplied data
	bnxt_en: Fix aggregation buffer leak under OOM condition.
	ipv4/igmp: fix another memory leak in igmpv3_del_delrec()
	ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST
	net: dsa: mv88e6xxx: fix handling of upper half of STATS_TYPE_PORT
	net: mvneta: Fix err code path of probe
	net: mvpp2: fix bad MVPP2_TXQ_SCHED_TOKEN_CNTR_REG queue value
	crypto: vmx - ghash: do nosimd fallback manually
	xen/pciback: Don't disable PCI_COMMAND on PCI device reset.
	Revert "tipc: fix modprobe tipc failed after switch order of device registration"
	tipc: fix modprobe tipc failed after switch order of device registration
	sparc64: Fix regression in non-hypervisor TLB flush xcall
	include/linux/bitops.h: sanitize rotate primitives
	xhci: update bounce buffer with correct sg num
	xhci: Use %zu for printing size_t type
	xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()
	usb: xhci: avoid null pointer deref when bos field is NULL
	usbip: usbip_host: fix BUG: sleeping function called from invalid context
	usbip: usbip_host: fix stub_dev lock context imbalance regression
	USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
	USB: sisusbvga: fix oops in error path of sisusb_probe
	USB: Add LPM quirk for Surface Dock GigE adapter
	USB: rio500: refuse more than one device at a time
	USB: rio500: fix memory leak in close after disconnect
	media: usb: siano: Fix general protection fault in smsusb
	media: usb: siano: Fix false-positive "uninitialized variable" warning
	media: smsusb: better handle optional alignment
	scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove
	scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs)
	Btrfs: fix race updating log root item during fsync
	powerpc/perf: Fix MMCRA corruption by bhrb_filter
	ALSA: hda/realtek - Set default power save node to 0
	drm/nouveau/i2c: Disable i2c bus access after ->fini()
	tty: serial: msm_serial: Fix XON/XOFF
	tty: max310x: Fix external crystal register setup
	memcg: make it work on sparse non-0-node systems
	kernel/signal.c: trace_signal_deliver when signal_group_exit
	docs: Fix conf.py for Sphinx 2.0
	staging: vc04_services: prevent integer overflow in create_pagelist()
	CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
	gcc-plugins: Fix build failures under Darwin host
	drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set
	brcmfmac: add length checks in scheduled scan result handler
	brcmfmac: assure SSID length from firmware is limited
	brcmfmac: add subtype check for event handling in data path
	binder: Replace "%p" with "%pK" for stable
	binder: replace "%p" with "%pK"
	fs: prevent page refcount overflow in pipe_buf_get
	mm, gup: remove broken VM_BUG_ON_PAGE compound check for hugepages
	mm, gup: ensure real head page is ref-counted when using hugepages
	mm: prevent get_user_pages() from overflowing page refcount
	mm: make page ref count overflow check tighter and more explicit
	Revert "x86/build: Move _etext to actual end of .text"
	efi/libstub: Unify command line param parsing
	media: uvcvideo: Fix uvc_alloc_entity() allocation alignment
	ethtool: fix potential userspace buffer overflow
	neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit
	net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query
	net: rds: fix memory leak in rds_ib_flush_mr_pool
	pktgen: do not sleep with the thread lock held.
	ipv6: fix EFAULT on sendto with icmpv6 and hdrincl
	ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
	Revert "fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")"
	Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
	rcu: locking and unlocking need to always be at least barriers
	parisc: Use implicit space register selection for loading the coherence index of I/O pdirs
	fuse: fallocate: fix return with locked inode
	x86/power: Fix 'nosmt' vs hibernation triple fault during resume
	MIPS: pistachio: Build uImage.gz by default
	Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment"
	genwqe: Prevent an integer overflow in the ioctl
	drm/gma500/cdv: Check vbt config bits when detecting lvds panels
	drm/radeon: prefer lower reference dividers
	drm/i915: Fix I915_EXEC_RING_MASK
	TTY: serial_core, add ->install
	fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock
	fuse: Add FOPEN_STREAM to use stream_open()
	ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
	ethtool: check the return value of get_regs_len
	Linux 4.9.181

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-06-11 14:39:40 +02:00
Greg Kroah-Hartman
6ccab84548 Merge 4.9.181 into android-4.9
Changes in 4.9.181
	ipv6: Consider sk_bound_dev_if when binding a raw socket to an address
	llc: fix skb leak in llc_build_and_send_ui_pkt()
	net: fec: fix the clk mismatch in failed_reset path
	net-gro: fix use-after-free read in napi_gro_frags()
	net: stmmac: fix reset gpio free missing
	usbnet: fix kernel crash after disconnect
	tipc: Avoid copying bytes beyond the supplied data
	bnxt_en: Fix aggregation buffer leak under OOM condition.
	ipv4/igmp: fix another memory leak in igmpv3_del_delrec()
	ipv4/igmp: fix build error if !CONFIG_IP_MULTICAST
	net: dsa: mv88e6xxx: fix handling of upper half of STATS_TYPE_PORT
	net: mvneta: Fix err code path of probe
	net: mvpp2: fix bad MVPP2_TXQ_SCHED_TOKEN_CNTR_REG queue value
	crypto: vmx - ghash: do nosimd fallback manually
	xen/pciback: Don't disable PCI_COMMAND on PCI device reset.
	Revert "tipc: fix modprobe tipc failed after switch order of device registration"
	tipc: fix modprobe tipc failed after switch order of device registration
	sparc64: Fix regression in non-hypervisor TLB flush xcall
	include/linux/bitops.h: sanitize rotate primitives
	xhci: update bounce buffer with correct sg num
	xhci: Use %zu for printing size_t type
	xhci: Convert xhci_handshake() to use readl_poll_timeout_atomic()
	usb: xhci: avoid null pointer deref when bos field is NULL
	usbip: usbip_host: fix BUG: sleeping function called from invalid context
	usbip: usbip_host: fix stub_dev lock context imbalance regression
	USB: Fix slab-out-of-bounds write in usb_get_bos_descriptor
	USB: sisusbvga: fix oops in error path of sisusb_probe
	USB: Add LPM quirk for Surface Dock GigE adapter
	USB: rio500: refuse more than one device at a time
	USB: rio500: fix memory leak in close after disconnect
	media: usb: siano: Fix general protection fault in smsusb
	media: usb: siano: Fix false-positive "uninitialized variable" warning
	media: smsusb: better handle optional alignment
	scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove
	scsi: zfcp: fix to prevent port_remove with pure auto scan LUNs (only sdevs)
	Btrfs: fix race updating log root item during fsync
	powerpc/perf: Fix MMCRA corruption by bhrb_filter
	ALSA: hda/realtek - Set default power save node to 0
	drm/nouveau/i2c: Disable i2c bus access after ->fini()
	tty: serial: msm_serial: Fix XON/XOFF
	tty: max310x: Fix external crystal register setup
	memcg: make it work on sparse non-0-node systems
	kernel/signal.c: trace_signal_deliver when signal_group_exit
	docs: Fix conf.py for Sphinx 2.0
	staging: vc04_services: prevent integer overflow in create_pagelist()
	CIFS: cifs_read_allocate_pages: don't iterate through whole page array on ENOMEM
	gcc-plugins: Fix build failures under Darwin host
	drm/vmwgfx: Don't send drm sysfs hotplug events on initial master set
	brcmfmac: add length checks in scheduled scan result handler
	brcmfmac: assure SSID length from firmware is limited
	brcmfmac: add subtype check for event handling in data path
	binder: Replace "%p" with "%pK" for stable
	binder: replace "%p" with "%pK"
	fs: prevent page refcount overflow in pipe_buf_get
	mm, gup: remove broken VM_BUG_ON_PAGE compound check for hugepages
	mm, gup: ensure real head page is ref-counted when using hugepages
	mm: prevent get_user_pages() from overflowing page refcount
	mm: make page ref count overflow check tighter and more explicit
	Revert "x86/build: Move _etext to actual end of .text"
	efi/libstub: Unify command line param parsing
	media: uvcvideo: Fix uvc_alloc_entity() allocation alignment
	ethtool: fix potential userspace buffer overflow
	neighbor: Call __ipv4_neigh_lookup_noref in neigh_xmit
	net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages query
	net: rds: fix memory leak in rds_ib_flush_mr_pool
	pktgen: do not sleep with the thread lock held.
	ipv6: fix EFAULT on sendto with icmpv6 and hdrincl
	ipv6: use READ_ONCE() for inet->hdrincl as in ipv4
	Revert "fib_rules: fix error in backport of e9919a24d302 ("fib_rules: return 0...")"
	Revert "fib_rules: return 0 directly if an exactly same rule exists when NLM_F_EXCL not supplied"
	rcu: locking and unlocking need to always be at least barriers
	parisc: Use implicit space register selection for loading the coherence index of I/O pdirs
	fuse: fallocate: fix return with locked inode
	x86/power: Fix 'nosmt' vs hibernation triple fault during resume
	MIPS: pistachio: Build uImage.gz by default
	Revert "MIPS: perf: ath79: Fix perfcount IRQ assignment"
	genwqe: Prevent an integer overflow in the ioctl
	drm/gma500/cdv: Check vbt config bits when detecting lvds panels
	drm/radeon: prefer lower reference dividers
	drm/i915: Fix I915_EXEC_RING_MASK
	TTY: serial_core, add ->install
	fs: stream_open - opener for stream-like files so that read and write can run simultaneously without deadlock
	fuse: Add FOPEN_STREAM to use stream_open()
	ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
	ethtool: check the return value of get_regs_len
	Linux 4.9.181

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-06-11 13:54:30 +02:00
Jiri Kosina
5bdc536ce6 x86/power: Fix 'nosmt' vs hibernation triple fault during resume
commit ec527c318036a65a083ef68d8ba95789d2212246 upstream.

As explained in

	0cc3cd21657b ("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: 0cc3cd21657b ("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:22:48 +02:00
Greg Kroah-Hartman
ef4a576d4b Merge 4.9.176 into android-4.9-q
Changes in 4.9.176
	x86/MCE: Save microcode revision in machine check records
	x86/cpufeatures: Hide AMD-specific speculation flags
	x86/bugs: Add AMD's variant of SSB_NO
	x86/bugs: Add AMD's SPEC_CTRL MSR usage
	x86/bugs: Switch the selection of mitigation from CPU vendor to CPU features
	x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
	x86/microcode/intel: Add a helper which gives the microcode revision
	x86/microcode/intel: Check microcode revision before updating sibling threads
	x86/microcode: Make sure boot_cpu_data.microcode is up-to-date
	x86/microcode: Update the new microcode revision unconditionally
	x86/mm: Use WRITE_ONCE() when setting PTEs
	bitops: avoid integer overflow in GENMASK(_ULL)
	x86/speculation: Simplify the CPU bug detection logic
	locking/atomics, asm-generic: Move some macros from <linux/bitops.h> to a new <linux/bits.h> file
	x86/speculation: Remove SPECTRE_V2_IBRS in enum spectre_v2_mitigation
	x86/cpu: Sanitize FAM6_ATOM naming
	Documentation/l1tf: Fix small spelling typo
	x86/speculation: Apply IBPB more strictly to avoid cross-process data leak
	x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
	x86/speculation: Propagate information about RSB filling mitigation to sysfs
	x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
	x86/speculation: Update the TIF_SSBD comment
	x86/speculation: Clean up spectre_v2_parse_cmdline()
	x86/speculation: Remove unnecessary ret variable in cpu_show_common()
	x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common()
	x86/speculation: Disable STIBP when enhanced IBRS is in use
	x86/speculation: Rename SSBD update functions
	x86/speculation: Reorganize speculation control MSRs update
	x86/Kconfig: Select SCHED_SMT if SMP enabled
	sched: Add sched_smt_active()
	x86/speculation: Rework SMT state change
	x86/l1tf: Show actual SMT state
	x86/speculation: Reorder the spec_v2 code
	x86/speculation: Mark string arrays const correctly
	x86/speculataion: Mark command line parser data __initdata
	x86/speculation: Unify conditional spectre v2 print functions
	x86/speculation: Add command line control for indirect branch speculation
	x86/speculation: Prepare for per task indirect branch speculation control
	x86/process: Consolidate and simplify switch_to_xtra() code
	x86/speculation: Avoid __switch_to_xtra() calls
	x86/speculation: Prepare for conditional IBPB in switch_mm()
	x86/speculation: Split out TIF update
	x86/speculation: Prepare arch_smt_update() for PRCTL mode
	x86/speculation: Prevent stale SPEC_CTRL msr content
	x86/speculation: Add prctl() control for indirect branch speculation
	x86/speculation: Enable prctl mode for spectre_v2_user
	x86/speculation: Add seccomp Spectre v2 user space protection mode
	x86/speculation: Provide IBPB always command line options
	kvm: x86: Report STIBP on GET_SUPPORTED_CPUID
	x86/msr-index: Cleanup bit defines
	x86/speculation: Consolidate CPU whitelists
	x86/speculation/mds: Add basic bug infrastructure for MDS
	x86/speculation/mds: Add BUG_MSBDS_ONLY
	x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests
	x86/speculation/mds: Add mds_clear_cpu_buffers()
	x86/speculation/mds: Clear CPU buffers on exit to user
	x86/kvm/vmx: Add MDS protection when L1D Flush is not active
	x86/speculation/mds: Conditionally clear CPU buffers on idle entry
	x86/speculation/mds: Add mitigation control for MDS
	x86/speculation/mds: Add sysfs reporting for MDS
	x86/speculation/mds: Add mitigation mode VMWERV
	Documentation: Move L1TF to separate directory
	Documentation: Add MDS vulnerability documentation
	x86/speculation/mds: Add mds=full,nosmt cmdline option
	x86/speculation: Move arch_smt_update() call to after mitigation decisions
	x86/speculation/mds: Add SMT warning message
	x86/speculation/mds: Fix comment
	x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off
	cpu/speculation: Add 'mitigations=' cmdline option
	x86/speculation: Support 'mitigations=' cmdline option
	x86/speculation/mds: Add 'mitigations=' support for MDS
	x86/mds: Add MDSUM variant to the MDS documentation
	Documentation: Correct the possible MDS sysfs values
	x86/speculation/mds: Fix documentation typo
	x86: stop exporting msr-index.h to userland
	x86/cpu/bugs: Use __initconst for 'const' init data
	Linux 4.9.176

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-05-14 21:04:42 +02:00
Greg Kroah-Hartman
e0625b31fd Merge 4.9.176 into android-4.9
Changes in 4.9.176
	x86/MCE: Save microcode revision in machine check records
	x86/cpufeatures: Hide AMD-specific speculation flags
	x86/bugs: Add AMD's variant of SSB_NO
	x86/bugs: Add AMD's SPEC_CTRL MSR usage
	x86/bugs: Switch the selection of mitigation from CPU vendor to CPU features
	x86/bugs: Fix the AMD SSBD usage of the SPEC_CTRL MSR
	x86/microcode/intel: Add a helper which gives the microcode revision
	x86/microcode/intel: Check microcode revision before updating sibling threads
	x86/microcode: Make sure boot_cpu_data.microcode is up-to-date
	x86/microcode: Update the new microcode revision unconditionally
	x86/mm: Use WRITE_ONCE() when setting PTEs
	bitops: avoid integer overflow in GENMASK(_ULL)
	x86/speculation: Simplify the CPU bug detection logic
	locking/atomics, asm-generic: Move some macros from <linux/bitops.h> to a new <linux/bits.h> file
	x86/speculation: Remove SPECTRE_V2_IBRS in enum spectre_v2_mitigation
	x86/cpu: Sanitize FAM6_ATOM naming
	Documentation/l1tf: Fix small spelling typo
	x86/speculation: Apply IBPB more strictly to avoid cross-process data leak
	x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
	x86/speculation: Propagate information about RSB filling mitigation to sysfs
	x86/speculation/l1tf: Drop the swap storage limit restriction when l1tf=off
	x86/speculation: Update the TIF_SSBD comment
	x86/speculation: Clean up spectre_v2_parse_cmdline()
	x86/speculation: Remove unnecessary ret variable in cpu_show_common()
	x86/speculation: Move STIPB/IBPB string conditionals out of cpu_show_common()
	x86/speculation: Disable STIBP when enhanced IBRS is in use
	x86/speculation: Rename SSBD update functions
	x86/speculation: Reorganize speculation control MSRs update
	x86/Kconfig: Select SCHED_SMT if SMP enabled
	sched: Add sched_smt_active()
	x86/speculation: Rework SMT state change
	x86/l1tf: Show actual SMT state
	x86/speculation: Reorder the spec_v2 code
	x86/speculation: Mark string arrays const correctly
	x86/speculataion: Mark command line parser data __initdata
	x86/speculation: Unify conditional spectre v2 print functions
	x86/speculation: Add command line control for indirect branch speculation
	x86/speculation: Prepare for per task indirect branch speculation control
	x86/process: Consolidate and simplify switch_to_xtra() code
	x86/speculation: Avoid __switch_to_xtra() calls
	x86/speculation: Prepare for conditional IBPB in switch_mm()
	x86/speculation: Split out TIF update
	x86/speculation: Prepare arch_smt_update() for PRCTL mode
	x86/speculation: Prevent stale SPEC_CTRL msr content
	x86/speculation: Add prctl() control for indirect branch speculation
	x86/speculation: Enable prctl mode for spectre_v2_user
	x86/speculation: Add seccomp Spectre v2 user space protection mode
	x86/speculation: Provide IBPB always command line options
	kvm: x86: Report STIBP on GET_SUPPORTED_CPUID
	x86/msr-index: Cleanup bit defines
	x86/speculation: Consolidate CPU whitelists
	x86/speculation/mds: Add basic bug infrastructure for MDS
	x86/speculation/mds: Add BUG_MSBDS_ONLY
	x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests
	x86/speculation/mds: Add mds_clear_cpu_buffers()
	x86/speculation/mds: Clear CPU buffers on exit to user
	x86/kvm/vmx: Add MDS protection when L1D Flush is not active
	x86/speculation/mds: Conditionally clear CPU buffers on idle entry
	x86/speculation/mds: Add mitigation control for MDS
	x86/speculation/mds: Add sysfs reporting for MDS
	x86/speculation/mds: Add mitigation mode VMWERV
	Documentation: Move L1TF to separate directory
	Documentation: Add MDS vulnerability documentation
	x86/speculation/mds: Add mds=full,nosmt cmdline option
	x86/speculation: Move arch_smt_update() call to after mitigation decisions
	x86/speculation/mds: Add SMT warning message
	x86/speculation/mds: Fix comment
	x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off
	cpu/speculation: Add 'mitigations=' cmdline option
	x86/speculation: Support 'mitigations=' cmdline option
	x86/speculation/mds: Add 'mitigations=' support for MDS
	x86/mds: Add MDSUM variant to the MDS documentation
	Documentation: Correct the possible MDS sysfs values
	x86/speculation/mds: Fix documentation typo
	x86: stop exporting msr-index.h to userland
	x86/cpu/bugs: Use __initconst for 'const' init data
	Linux 4.9.176

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-05-14 20:43:04 +02:00
Josh Poimboeuf
edda9c3893 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
[bwh: Backported to 4.9: adjust filename]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-14 19:19:41 +02:00
Thomas Gleixner
a3c901bfdb x86/speculation: Rework SMT state change
commit a74cfffb03b73d41e08f84c2e5c87dec0ce3db9f upstream.

arch_smt_update() is only called when the sysfs SMT control knob is
changed. This means that when SMT is enabled in the sysfs control knob the
system is considered to have SMT active even if all siblings are offline.

To allow finegrained control of the speculation mitigations, the actual SMT
state is more interesting than the fact that siblings could be enabled.

Rework the code, so arch_smt_update() is invoked from each individual CPU
hotplug function, and simplify the update function while at it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: David Woodhouse <dwmw@amazon.co.uk>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Casey Schaufler <casey.schaufler@intel.com>
Cc: Asit Mallick <asit.k.mallick@intel.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jon Masters <jcm@redhat.com>
Cc: Waiman Long <longman9394@gmail.com>
Cc: Greg KH <gregkh@linuxfoundation.org>
Cc: Dave Stewart <david.c.stewart@intel.com>
Cc: Kees Cook <keescook@chromium.org>
Link: https://lkml.kernel.org/r/20181125185004.521974984@linutronix.de
[bwh: Backported to 4.9: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-14 19:19:36 +02:00
Jiri Kosina
b410c57f49 x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
commit 53c613fe6349994f023245519265999eed75957f upstream.

STIBP is a feature provided by certain Intel ucodes / CPUs. This feature
(once enabled) prevents cross-hyperthread control of decisions made by
indirect branch predictors.

Enable this feature if

- the CPU is vulnerable to spectre v2
- the CPU supports SMT and has SMT siblings online
- spectre_v2 mitigation autoselection is enabled (default)

After some previous discussion, this leaves STIBP on all the time, as wrmsr
on crossing kernel boundary is a no-no. This could perhaps later be a bit
more optimized (like disabling it in NOHZ, experiment with disabling it in
idle, etc) if needed.

Note that the synchronization of the mask manipulation via newly added
spec_ctrl_mutex is currently not strictly needed, as the only updater is
already being serialized by cpu_add_remove_lock, but let's make this a
little bit more future-proof.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc:  "WoodhouseDavid" <dwmw@amazon.co.uk>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc:  "SchauflerCasey" <casey.schaufler@intel.com>
Link: https://lkml.kernel.org/r/nycvar.YFH.7.76.1809251438240.15880@cbobk.fhfr.pm
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-05-14 19:19:34 +02:00
Greg Kroah-Hartman
6947310120 Merge 4.9.167 into android-4.9-q
Changes in 4.9.167
	Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt
	Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer
	video: fbdev: Set pixclock = 0 in goldfishfb
	cfg80211: size various nl80211 messages correctly
	stmmac: copy unicast mac address to MAC registers
	dccp: do not use ipv6 header for ipv4 flow
	mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S
	net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec
	net: rose: fix a possible stack overflow
	packets: Always register packet sk in the same order
	tcp: do not use ipv6 header for ipv4 flow
	vxlan: Don't call gro_cells_destroy() before device is unregistered
	sctp: get sctphdr by offset in sctp_compute_cksum
	mac8390: Fix mmio access size probe
	tun: properly test for IFF_UP
	tun: add a missing rcu_read_unlock() in error path
	btrfs: remove WARN_ON in log_dir_items
	btrfs: raid56: properly unmap parity page in finish_parity_scrub()
	ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time
	powerpc: bpf: Fix generation of load/store DW instructions
	NFSv4.1 don't free interrupted slot on open
	net: dsa: qca8k: remove leftover phy accessors
	ALSA: rawmidi: Fix potential Spectre v1 vulnerability
	ALSA: seq: oss: Fix Spectre v1 vulnerability
	ALSA: pcm: Fix possible OOB access in PCM oss plugins
	ALSA: pcm: Don't suspend stream in unrecoverable PCM state
	fs/open.c: allow opening only regular files during execve()
	scsi: sd: Fix a race between closing an sd device and sd I/O
	scsi: sd: Quiesce warning if device does not report optimal I/O size
	scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host
	scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices
	tty: atmel_serial: fix a potential NULL pointer dereference
	staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest
	staging: vt6655: Remove vif check from vnt_interrupt
	staging: vt6655: Fix interrupt race condition on device start up.
	serial: max310x: Fix to avoid potential NULL pointer dereference
	serial: sh-sci: Fix setting SCSCR_TIE while transferring data
	USB: serial: cp210x: add new device id
	USB: serial: ftdi_sio: add additional NovaTech products
	USB: serial: mos7720: fix mos_parport refcount imbalance on error path
	USB: serial: option: set driver_info for SIM5218 and compatibles
	USB: serial: option: add Olicard 600
	Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc
	fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links
	gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input
	usb: common: Consider only available nodes for dr_mode
	usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
	perf intel-pt: Fix TSC slip
	cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n
	x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y
	KVM: Reject device ioctls from processes other than the VM's creator
	KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
	USB: gadget: f_hid: fix deadlock in f_hidg_write()
	xhci: Fix port resume done detection for SS ports with LPM enabled
	Revert "USB: core: only clean up what we allocated"
	arm64: support keyctl() system call in 32-bit mode
	Linux 4.9.167

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-04-03 07:33:30 +02:00
Greg Kroah-Hartman
e1a8babe92 Merge 4.9.167 into android-4.9
Changes in 4.9.167
	Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt
	Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer
	video: fbdev: Set pixclock = 0 in goldfishfb
	cfg80211: size various nl80211 messages correctly
	stmmac: copy unicast mac address to MAC registers
	dccp: do not use ipv6 header for ipv4 flow
	mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S
	net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec
	net: rose: fix a possible stack overflow
	packets: Always register packet sk in the same order
	tcp: do not use ipv6 header for ipv4 flow
	vxlan: Don't call gro_cells_destroy() before device is unregistered
	sctp: get sctphdr by offset in sctp_compute_cksum
	mac8390: Fix mmio access size probe
	tun: properly test for IFF_UP
	tun: add a missing rcu_read_unlock() in error path
	btrfs: remove WARN_ON in log_dir_items
	btrfs: raid56: properly unmap parity page in finish_parity_scrub()
	ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time
	powerpc: bpf: Fix generation of load/store DW instructions
	NFSv4.1 don't free interrupted slot on open
	net: dsa: qca8k: remove leftover phy accessors
	ALSA: rawmidi: Fix potential Spectre v1 vulnerability
	ALSA: seq: oss: Fix Spectre v1 vulnerability
	ALSA: pcm: Fix possible OOB access in PCM oss plugins
	ALSA: pcm: Don't suspend stream in unrecoverable PCM state
	fs/open.c: allow opening only regular files during execve()
	scsi: sd: Fix a race between closing an sd device and sd I/O
	scsi: sd: Quiesce warning if device does not report optimal I/O size
	scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host
	scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices
	tty: atmel_serial: fix a potential NULL pointer dereference
	staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest
	staging: vt6655: Remove vif check from vnt_interrupt
	staging: vt6655: Fix interrupt race condition on device start up.
	serial: max310x: Fix to avoid potential NULL pointer dereference
	serial: sh-sci: Fix setting SCSCR_TIE while transferring data
	USB: serial: cp210x: add new device id
	USB: serial: ftdi_sio: add additional NovaTech products
	USB: serial: mos7720: fix mos_parport refcount imbalance on error path
	USB: serial: option: set driver_info for SIM5218 and compatibles
	USB: serial: option: add Olicard 600
	Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc
	fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links
	gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input
	usb: common: Consider only available nodes for dr_mode
	usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk
	perf intel-pt: Fix TSC slip
	cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n
	x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y
	KVM: Reject device ioctls from processes other than the VM's creator
	KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
	USB: gadget: f_hid: fix deadlock in f_hidg_write()
	xhci: Fix port resume done detection for SS ports with LPM enabled
	Revert "USB: core: only clean up what we allocated"
	arm64: support keyctl() system call in 32-bit mode
	Linux 4.9.167

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-04-03 07:29:40 +02:00
Thomas Gleixner
ce4fbb9f4e cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n
commit 206b92353c839c0b27a0b9bec24195f93fd6cf7a upstream.

Tianyu reported a crash in a CPU hotplug teardown callback when booting a
kernel which has CONFIG_HOTPLUG_CPU disabled with the 'nosmt' boot
parameter.

It turns out that the SMP=y CONFIG_HOTPLUG_CPU=n case has been broken
forever in case that a bringup callback fails. Unfortunately this issue was
not recognized when the CPU hotplug code was reworked, so the shortcoming
just stayed in place.

When a bringup callback fails, the CPU hotplug code rolls back the
operation and takes the CPU offline.

The 'nosmt' command line argument uses a bringup failure to abort the
bringup of SMT sibling CPUs. This partial bringup is required due to the
MCE misdesign on Intel CPUs.

With CONFIG_HOTPLUG_CPU=y the rollback works perfectly fine, but
CONFIG_HOTPLUG_CPU=n lacks essential mechanisms to exercise the low level
teardown of a CPU including the synchronizations in various facilities like
RCU, NOHZ and others.

As a consequence the teardown callbacks which must be executed on the
outgoing CPU within stop machine with interrupts disabled are executed on
the control CPU in interrupt enabled and preemptible context causing the
kernel to crash and burn. The pre state machine code has a different
failure mode which is more subtle and resulting in a less obvious use after
free crash because the control side frees resources which are still in use
by the undead CPU.

But this is not a x86 only problem. Any architecture which supports the
SMP=y HOTPLUG_CPU=n combination suffers from the same issue. It's just less
likely to be triggered because in 99.99999% of the cases all bringup
callbacks succeed.

The easy solution of making HOTPLUG_CPU mandatory for SMP is not working on
all architectures as the following architectures have either no hotplug
support at all or not all subarchitectures support it:

 alpha, arc, hexagon, openrisc, riscv, sparc (32bit), mips (partial).

Crashing the kernel in such a situation is not an acceptable state
either.

Implement a minimal rollback variant by limiting the teardown to the point
where all regular teardown callbacks have been invoked and leave the CPU in
the 'dead' idle state. This has the following consequences:

 - the CPU is brought down to the point where the stop_machine takedown
   would happen.

 - the CPU stays there forever and is idle

 - The CPU is cleared in the CPU active mask, but not in the CPU online
   mask which is a legit state.

 - Interrupts are not forced away from the CPU

 - All facilities which only look at online mask would still see it, but
   that is the case during normal hotplug/unplug operations as well. It's
   just a (way) longer time frame.

This will expose issues, which haven't been exposed before or only seldom,
because now the normally transient state of being non active but online is
a permanent state. In testing this exposed already an issue vs. work queues
where the vmstat code schedules work on the almost dead CPU which ends up
in an unbound workqueue and triggers 'preemtible context' warnings. This is
not a problem of this change, it merily exposes an already existing issue.
Still this is better than crashing fully without a chance to debug it.

This is mainly thought as workaround for those architectures which do not
support HOTPLUG_CPU. All others should enforce HOTPLUG_CPU for SMP.

Fixes: 2e1a3483ce ("cpu/hotplug: Split out the state walk into functions")
Reported-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Tianyu Lan <Tianyu.Lan@microsoft.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Konrad Wilk <konrad.wilk@oracle.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Mukesh Ojha <mojha@codeaurora.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Rik van Riel <riel@surriel.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Micheal Kelley <michael.h.kelley@microsoft.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20190326163811.503390616@linutronix.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-04-03 06:24:19 +02:00
Raghavendra Rao Ananta
2395a31b4f perf: Manage CPU hotplug events at core level
Currently, the perf's hotplug management is split between the
core and the PMU driver. That is, the PMU driver is responsible
for starting and stopping the perf-event counter in the cases
where the CPU is coming up and going down, respectively. However,
this approach is not scalable for the growing number of PMU drivers.
Moreover, due to partial cleanup at the perf-core, currently the
perf-events are prone to race conditions, for example between the
CPU hotplug teardown callback (perf_event_exit_cpu()) and the hrtimer
handler (perf_mux_hrtimer_handler()) that's used for multiplexing
the events.

Hence, the approach here is to achieve the hotplug management
at the perf-core level. The idea is to detach the event from the
context (perf_remove_from_context()), when the CPU is about to come
down and re-attach it back (perf_install_in_context()), when the CPU
comes back online.

The approach involves removing the logic for maintaining zombie
events (PERF_EVENT_STATE_ZOMBIE) and let the dormant list itself
carry the events whose CPUs are offline.

Change-Id: I39503d1f4b0b3937920b666a4f04875162fad3b3
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2019-03-08 03:07:55 -08:00
Raghavendra Rao Ananta
8557c9bf3d perf: Fix warning during perf core init
The warning was generated due to the cpu hotplug state
conflict for CPUHP_AP_PERF_ONLINE. The original idea was
to replace the perf_event_init_cpu with perf_event_start_swevents.
The fix replaces the callback in cpu.c and removes the registration
in the perf core.

Change-Id: I5cb20de38b39f3035fa98977b9c280bb20521d28
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2019-03-08 03:07:12 -08:00
Minchan Kim
7412cdb7b4 cpuset: fix hotplug lock
While I play with lockdep, I encountered below warning message.

The patch[1] removed [get|put]_online_cpus in rebuild_sched_domains_locked
but introduced cpu_hotplug_mutex_held check. I assume the author wanted to
rely on cpu_hotplug.lock through get_onlline_cpus to protect *some race*.
However, cpu_hotplug_mutex is already released before get_online_cpus
returning so it seems to be bug.
Thus, this patch removes the pointless assertion.

Please check this with the owner what he want to *do* to protect *something*.

[    5.564220] WARNING: CPU: 7 PID: 592 at /usr/local/google/home/minchan/nvme/kernel/crosshatch-kernel/private/msm-google/kernel/cpu.c:252 cpu_hotplug_mutex_held+0x30/0x3c
[    5.564227] Modules linked in:
[    5.564240] CPU: 7 PID: 592 Comm: init Tainted: G        W       4.9.140-ge3e51f4d9b5b-dirty_audio-g3dce958 #12
[    5.564246] Hardware name: Google Inc. MSM sdm845 C1 Proto v1.0 (DT)
[    5.564253] task: fffffff967a99b00 task.stack: fffffff9665a0000
[    5.564260] PC is at cpu_hotplug_mutex_held+0x30/0x3c
[    5.564267] LR is at cpu_hotplug_mutex_held+0x2c/0x3c
[    5.564273] pc : [<ffffff98366ade64>] lr : [<ffffff98366ade60>] pstate: 60400145
[    5.564279] sp : fffffff9665a3c80
[    5.564285] x29: fffffff9665a3c80 x28: ffffff5d80a853a0
..
..
[    5.565118] [<ffffff98366ade64>] cpu_hotplug_mutex_held+0x30/0x3c
[    5.565126] [<ffffff9836784e60>] rebuild_sched_domains_unlocked+0x20/0x4dc
[    5.565133] [<ffffff9836785fc8>] cpuset_write_resmask+0x918/0xcb4
[    5.565140] [<ffffff9836778578>] cgroup_file_write+0x44/0x144
[    5.565148] [<ffffff98368e998c>] kernfs_fop_write+0xcc/0x1d8
[    5.565155] [<ffffff9836856aec>] vfs_write+0xb8/0x1d4
[    5.565161] [<ffffff9836857eb0>] SyS_write+0x50/0xb0
[    5.565168] [<ffffff9836683a00>] el0_svc_naked+0x34/0x38

[1] e9e7b7541a,  cgroup/cpuset: remove circular dependency deadlock
Bug: 122098329
Change-Id: I00a68c403e261545a07bc13343ef4e7e2ed218b0
Signed-off-by: Minchan Kim <minchan@google.com>
2019-01-09 10:41:19 +09:00
Greg Kroah-Hartman
f44ed2c923 Merge 4.9.140 into android-4.9
Changes in 4.9.140
	Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation"
	Revert "ipv6: set rt6i_protocol properly in the route when it is installed"
	Linux 4.9.140

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-11-23 14:12:57 +01:00
Greg Kroah-Hartman
0afb423b1d Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation"
This reverts commit 66fe51cb35 which is
commit 53c613fe6349994f023245519265999eed75957f upstream.

It's not ready for the stable trees as there are major slowdowns
involved with this patch.

Reported-by: Jiri Kosina <jkosina@suse.cz>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc:  "WoodhouseDavid" <dwmw@amazon.co.uk>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc:  "SchauflerCasey" <casey.schaufler@intel.com>
Cc: Rainer Fiebig <jrf@mailbox.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-23 12:57:41 +01:00
Greg Kroah-Hartman
e1260beb70 Merge 4.9.137 into android-4.9
Changes in 4.9.137
	bcache: fix miss key refill->end in writeback
	hwmon: (pmbus) Fix page count auto-detection.
	jffs2: free jffs2_sb_info through jffs2_kill_sb()
	pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges
	ipmi: Fix timer race with module unload
	parisc: Fix address in HPMC IVA
	parisc: Fix map_pages() to not overwrite existing pte entries
	ALSA: hda - Add quirk for ASUS G751 laptop
	ALSA: hda - Fix headphone pin config for ASUS G751
	ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905)
	ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops
	x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
	x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided
	x86/speculation: Support Enhanced IBRS on future CPUs
	bpf: do not blindly change rlimit in reuseport net selftest
	Revert "perf tools: Fix PMU term format max value calculation"
	xfrm: policy: use hlist rcu variants on insert
	sparc: Fix single-pcr perf event counter management.
	sparc64: Make proc_id signed.
	sched/fair: Fix the min_vruntime update logic in dequeue_entity()
	perf cpu_map: Align cpu map synthesized events properly.
	x86/fpu: Remove second definition of fpu in __fpu__restore_sig()
	net: qla3xxx: Remove overflowing shift statement
	selftests: ftrace: Add synthetic event syntax testcase
	i2c: rcar: cleanup DMA for all kinds of failure
	locking/lockdep: Fix debug_locks off performance problem
	ataflop: fix error handling during setup
	swim: fix cleanup on setup error
	tun: Consistently configure generic netdev params via rtnetlink
	s390/sthyi: Fix machine name validity indication
	hwmon: (pwm-fan) Set fan speed to 0 on suspend
	perf tools: Free temporary 'sys' string in read_event_files()
	perf tools: Cleanup trace-event-info 'tdata' leak
	perf strbuf: Match va_{add,copy} with va_end
	mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01
	iwlwifi: pcie: avoid empty free RB queue
	x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC
	cpufreq: dt: Try freeing static OPPs only if we have added them
	Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth
	x86: boot: Fix EFI stub alignment
	pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux
	brcmfmac: fix for proper support of 160MHz bandwidth
	kprobes: Return error if we fail to reuse kprobe instead of BUG_ON()
	ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers
	pinctrl: qcom: spmi-mpp: Fix drive strength setting
	pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant
	pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant
	ixgbevf: VF2VF TCP RSS
	ath10k: schedule hardware restart if WMI command times out
	cgroup, netclassid: add a preemption point to write_classid
	scsi: esp_scsi: Track residual for PIO transfers
	scsi: megaraid_sas: fix a missing-check bug
	RDMA/core: Do not expose unsupported counters
	IB/ipoib: Clear IPCB before icmp_send
	tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated
	VMCI: Resource wildcard match fixed
	usb: gadget: udc: atmel: handle at91sam9rl PMC
	ext4: fix argument checking in EXT4_IOC_MOVE_EXT
	MD: fix invalid stored role for a disk
	PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice
	coresight: etb10: Fix handling of perf mode
	crypto: caam - fix implicit casts in endianness helpers
	usb: chipidea: Prevent unbalanced IRQ disable
	driver/dma/ioat: Call del_timer_sync() without holding prep_lock
	uio: ensure class is registered before devices
	scsi: lpfc: Correct soft lockup when running mds diagnostics
	signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init
	dmaengine: dma-jz4780: Return error if not probed from DT
	ALSA: hda: Check the non-cached stream buffers more explicitly
	ARM: dts: exynos: Remove "cooling-{min|max}-level" for CPU nodes
	arm: dts: exynos: Add missing cooling device properties for CPUs
	ARM: dts: exynos: Convert exynos5250.dtsi to opp-v2 bindings
	ARM: dts: exynos: Mark 1 GHz CPU OPP as suspend OPP on Exynos5250
	xen-swiotlb: use actually allocated size on check physical continuous
	tpm: Restore functionality to xen vtpm driver.
	xen/blkfront: avoid NULL blkfront_info dereference on device removal
	xen: fix race in xen_qlock_wait()
	xen: make xen_qlock_wait() nestable
	libertas: don't set URB_ZERO_PACKET on IN USB transfer
	usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten
	iwlwifi: mvm: check return value of rs_rate_from_ucode_rate()
	net/ipv4: defensive cipso option parsing
	libnvdimm: Hold reference on parent while scheduling async init
	ASoC: intel: skylake: Add missing break in skl_tplg_get_token()
	jbd2: fix use after free in jbd2_log_do_checkpoint()
	gfs2_meta: ->mount() can get NULL dev_name
	ext4: initialize retries variable in ext4_da_write_inline_data_begin()
	ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR
	HID: hiddev: fix potential Spectre v1
	EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting
	EDAC, skx_edac: Fix logical channel intermediate decoding
	PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk
	signal/GenWQE: Fix sending of SIGKILL
	crypto: lrw - Fix out-of bounds access on counter overflow
	crypto: tcrypt - fix ghash-generic speed test
	ima: fix showing large 'violations' or 'runtime_measurements_count'
	hugetlbfs: dirty pages as they are added to pagecache
	kbuild: fix kernel/bounds.c 'W=1' warning
	iio: ad5064: Fix regulator handling
	iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs()
	iio: adc: at91: fix acking DRDY irq on simple conversions
	iio: adc: at91: fix wrong channel number in triggered buffer mode
	w1: omap-hdq: fix missing bus unregister at removal
	smb3: allow stats which track session and share reconnects to be reset
	smb3: do not attempt cifs operation in smb3 query info error path
	smb3: on kerberos mount if server doesn't specify auth type use krb5
	printk: Fix panic caused by passing log_buf_len to command line
	genirq: Fix race on spurious interrupt detection
	NFSv4.1: Fix the r/wsize checking
	nfsd: Fix an Oops in free_session()
	lockd: fix access beyond unterminated strings in prints
	dm ioctl: harden copy_params()'s copy_from_user() from malicious users
	powerpc/msi: Fix compile error on mpc83xx
	MIPS: OCTEON: fix out of bounds array access on CN68XX
	TC: Set DMA masks for devices
	media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD
	kgdboc: Passing ekgdboc to command line causes panic
	xen: fix xen_qlock_wait()
	media: em28xx: use a default format if TRY_FMT fails
	media: tvp5150: avoid going past array on v4l2_querymenu()
	media: em28xx: fix input name for Terratec AV 350
	media: em28xx: make v4l2-compliance happier by starting sequence on zero
	arm64: lse: remove -fcall-used-x0 flag
	rpmsg: smd: fix memory leak on channel create
	Cramfs: fix abad comparison when wrap-arounds occur
	arm64: dts: stratix10: Correct System Manager register size
	soc/tegra: pmc: Fix child-node lookup
	btrfs: Handle owner mismatch gracefully when walking up tree
	btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock
	btrfs: fix error handling in free_log_tree
	btrfs: iterate all devices during trim, instead of fs_devices::alloc_list
	btrfs: don't attempt to trim devices that don't support it
	btrfs: wait on caching when putting the bg cache
	btrfs: reset max_extent_size on clear in a bitmap
	btrfs: make sure we create all new block groups
	Btrfs: fix wrong dentries after fsync of file that got its parent replaced
	btrfs: qgroup: Dirty all qgroups before rescan
	Btrfs: fix null pointer dereference on compressed write path error
	btrfs: set max_extent_size properly
	MD: fix invalid stored role for a disk - try2
	Linux 4.9.137

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-11-23 11:11:43 +01:00
Jiri Kosina
66fe51cb35 x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
commit 53c613fe6349994f023245519265999eed75957f upstream.

STIBP is a feature provided by certain Intel ucodes / CPUs. This feature
(once enabled) prevents cross-hyperthread control of decisions made by
indirect branch predictors.

Enable this feature if

- the CPU is vulnerable to spectre v2
- the CPU supports SMT and has SMT siblings online
- spectre_v2 mitigation autoselection is enabled (default)

After some previous discussion, this leaves STIBP on all the time, as wrmsr
on crossing kernel boundary is a no-no. This could perhaps later be a bit
more optimized (like disabling it in NOHZ, experiment with disabling it in
idle, etc) if needed.

Note that the synchronization of the mask manipulation via newly added
spec_ctrl_mutex is currently not strictly needed, as the only updater is
already being serialized by cpu_add_remove_lock, but let's make this a
little bit more future-proof.

Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc:  "WoodhouseDavid" <dwmw@amazon.co.uk>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Tim Chen <tim.c.chen@linux.intel.com>
Cc:  "SchauflerCasey" <casey.schaufler@intel.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/nycvar.YFH.7.76.1809251438240.15880@cbobk.fhfr.pm
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-13 11:16:47 -08:00
Petri Gynther
f512ef7dda Merge 4.9.120 into android-msm-bluecross-4.9-lts
Linux 4.9.120
    x86/CPU/AMD: Have smp_num_siblings and cpu_llc_id always be present
    x86/cpu/amd: Limit cpu_core_id fixup to families older than F17h
  * x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures
      include/asm-generic/pgtable.h
    x86/init: fix build with CONFIG_SWAP=n
  * cpu/hotplug: Non-SMP machines do not make use of booted_once
      kernel/cpu.c
    x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread
    x86/microcode: Allow late microcode loading with SMT disabled
    x86/microcode: Do not upload microcode if CPUs are offline
    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
      include/linux/cpu.h
      kernel/cpu.c
      kernel/smp.c
    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
    KVM: VMX: support MSR_IA32_ARCH_CAPABILITIES as a feature MSR
    KVM: X86: Allow userspace to define the microcode version
    KVM: X86: Introduce kvm_get_msr_feature()
    KVM: SVM: Add MSR-based feature support for serializing LFENCE
  * KVM: x86: Add a framework for supporting MSR-based features
      include/uapi/linux/kvm.h
    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
      kernel/cpu.c
    Documentation/l1tf: Fix typos
    x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content
    Documentation: Add section about CPU vulnerabilities
    x86/bugs, kvm: Introduce boot-time control of L1TF mitigations
  * cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early
      include/linux/cpu.h
      kernel/cpu.c
  * cpu/hotplug: Expose SMT control init function
      include/linux/cpu.h
      kernel/cpu.c
    x86/kvm: Allow runtime control of L1D flush
    x86/kvm: Serialize L1D flush parameter setter
    x86/kvm: Add static key for flush always
    x86/kvm: Move l1tf setup function
    x86/l1tf: Handle EPT disabled state proper
    x86/kvm: Drop L1TF MSR list approach
    x86/litf: Introduce vmx status variable
  * cpu/hotplug: Online siblings when SMT control is turned on
      kernel/cpu.c
    x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required
    x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs
    x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting
    x86/KVM/VMX: Add find_msr() helper function
    x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers
    kvm: nVMX: Update MSR load counts on a VMCS switch
    x86/KVM/VMX: Add L1D flush logic
    x86/KVM/VMX: Add L1D MSR based flush
    x86/KVM/VMX: Add L1D flush algorithm
    x86/KVM/VMX: Add module argument for L1TF mitigation
  * x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present
      kernel/cpu.c
  * cpu/hotplug: Boot HT siblings at least once
      kernel/cpu.c
    Revert "x86/apic: Ignore secondary threads if nosmt=force"
    x86/speculation/l1tf: Fix up pte->pfn conversion for PAE
    x86/speculation/l1tf: Protect PAE swap entries against L1TF
    x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings
    x86/cpufeatures: Add detection of L1D cache flush support.
    x86/speculation/l1tf: Extend 64bit swap file size limit
    x86/apic: Ignore secondary threads if nosmt=force
    x86/cpu/AMD: Evaluate smp_num_siblings early
    x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info
    x86/cpu/intel: Evaluate smp_num_siblings early
    x86/cpu/topology: Provide detect_extended_topology_early()
    x86/cpu/common: Provide detect_ht_early()
    x86/cpu/AMD: Remove the pointless detect_ht() call
    x86/cpu: Remove the pointless CPU printout
  * cpu/hotplug: Provide knobs to control SMT
      arch/Kconfig
      include/linux/cpu.h
      kernel/cpu.c
  * cpu/hotplug: Split do_cpu_down()
      kernel/cpu.c
  * cpu/hotplug: Make bringup/teardown of smp threads symmetric
      kernel/cpu.c
    x86/topology: Provide topology_smt_supported()
    x86/smp: Provide topology_is_primary_thread()
    x86/bugs: Move the l1tf function and define pr_fmt properly
  * x86/speculation/l1tf: Limit swap file size to MAX_PA/2
      include/linux/swapfile.h
      mm/swapfile.c
  * x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
      include/asm-generic/pgtable.h
      mm/memory.c
      mm/mprotect.c
  * x86/speculation/l1tf: Add sysfs reporting for l1tf
      drivers/base/cpu.c
      include/linux/cpu.h
    x86/speculation/l1tf: Make sure the first page is always reserved
    x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation
    x86/speculation/l1tf: Protect swap entries against L1TF
    x86/speculation/l1tf: Change order of offset/type in swap entry
    mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1
    x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT
    x86/irqflags: Provide a declaration for native_save_fl
    kprobes/x86: Fix %p uses in error messages
    x86/speculation: Protect against userspace-userspace spectreRSB
    x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
    ARM: dts: imx6sx: fix irq for pcie bridge
    IB/ocrdma: fix out of bounds access to local buffer
    mtd: nand: qcom: Add a NULL check for devm_kasprintf()
    IB/mlx4: Mark user MR as writable if actual virtual memory is writable
    IB/core: Make testing MR flags for writability a static inline function
  * proc: Fix proc_sys_prune_dcache to hold a sb reference
      fs/proc/internal.h
      fs/proc/proc_sysctl.c
      include/linux/sysctl.h
  * proc/sysctl: Don't grab i_lock under sysctl_lock.
      fs/proc/proc_sysctl.c
  * proc/sysctl: prune stale dentries during unregistering
      fs/proc/inode.c
      fs/proc/internal.h
      fs/proc/proc_sysctl.c
      include/linux/sysctl.h
  * fix __legitimize_mnt()/mntput() race
      fs/namespace.c
  * fix mntput/mntput race
      fs/namespace.c
  * make sure that __dentry_kill() always invalidates d_seq, unhashed or not
      fs/dcache.c
  * root dentries need RCU-delayed freeing
      fs/dcache.c
  * init: rename and re-order boot_cpu_state_init()
      include/linux/cpu.h
      init/main.c
      kernel/cpu.c
    scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled
    ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
    xen/netfront: don't cache skb_shinfo()
  * Mark HI and TASKLET softirq synchronous
      kernel/softirq.c
  * kasan: add no_sanitize attribute for clang builds
      include/linux/compiler-clang.h
    parisc: Define mb() and add memory barriers to assembler unlock sequences
    parisc: Enable CONFIG_MLONGCALLS by default
    tpm: fix race condition in tpm_common_write()
  * ext4: fix check to prevent initializing reserved inodes
      fs/ext4/ialloc.c
      fs/ext4/super.c

Change-Id: I44617ccbb51a9a46de5341ae2b71af65e2265580
Signed-off-by: Petri Gynther <pgynther@google.com>
2018-09-27 15:02:48 -07:00
Greg Kroah-Hartman
f85543ba3c Merge 4.9.120 into android-4.9
Changes in 4.9.120
	ext4: fix check to prevent initializing reserved inodes
	tpm: fix race condition in tpm_common_write()
	parisc: Enable CONFIG_MLONGCALLS by default
	parisc: Define mb() and add memory barriers to assembler unlock sequences
	kasan: add no_sanitize attribute for clang builds
	Mark HI and TASKLET softirq synchronous
	xen/netfront: don't cache skb_shinfo()
	ACPI / LPSS: Add missing prv_offset setting for byt/cht PWM devices
	scsi: sr: Avoid that opening a CD-ROM hangs with runtime power management enabled
	init: rename and re-order boot_cpu_state_init()
	root dentries need RCU-delayed freeing
	make sure that __dentry_kill() always invalidates d_seq, unhashed or not
	fix mntput/mntput race
	fix __legitimize_mnt()/mntput() race
	proc/sysctl: prune stale dentries during unregistering
	proc/sysctl: Don't grab i_lock under sysctl_lock.
	proc: Fix proc_sys_prune_dcache to hold a sb reference
	IB/core: Make testing MR flags for writability a static inline function
	IB/mlx4: Mark user MR as writable if actual virtual memory is writable
	mtd: nand: qcom: Add a NULL check for devm_kasprintf()
	IB/ocrdma: fix out of bounds access to local buffer
	ARM: dts: imx6sx: fix irq for pcie bridge
	x86/paravirt: Fix spectre-v2 mitigations for paravirt guests
	x86/speculation: Protect against userspace-userspace spectreRSB
	kprobes/x86: Fix %p uses in error messages
	x86/irqflags: Provide a declaration for native_save_fl
	x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT
	mm: x86: move _PAGE_SWP_SOFT_DIRTY from bit 7 to bit 1
	x86/speculation/l1tf: Change order of offset/type in swap entry
	x86/speculation/l1tf: Protect swap entries against L1TF
	x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation
	x86/speculation/l1tf: Make sure the first page is always reserved
	x86/speculation/l1tf: Add sysfs reporting for l1tf
	x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings
	x86/speculation/l1tf: Limit swap file size to MAX_PA/2
	x86/bugs: Move the l1tf function and define pr_fmt properly
	x86/smp: Provide topology_is_primary_thread()
	x86/topology: Provide topology_smt_supported()
	cpu/hotplug: Make bringup/teardown of smp threads symmetric
	cpu/hotplug: Split do_cpu_down()
	cpu/hotplug: Provide knobs to control SMT
	x86/cpu: Remove the pointless CPU printout
	x86/cpu/AMD: Remove the pointless detect_ht() call
	x86/cpu/common: Provide detect_ht_early()
	x86/cpu/topology: Provide detect_extended_topology_early()
	x86/cpu/intel: Evaluate smp_num_siblings early
	x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info
	x86/cpu/AMD: Evaluate smp_num_siblings early
	x86/apic: Ignore secondary threads if nosmt=force
	x86/speculation/l1tf: Extend 64bit swap file size limit
	x86/cpufeatures: Add detection of L1D cache flush support.
	x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings
	x86/speculation/l1tf: Protect PAE swap entries against L1TF
	x86/speculation/l1tf: Fix up pte->pfn conversion for PAE
	Revert "x86/apic: Ignore secondary threads if nosmt=force"
	cpu/hotplug: Boot HT siblings at least once
	x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present
	x86/KVM/VMX: Add module argument for L1TF mitigation
	x86/KVM/VMX: Add L1D flush algorithm
	x86/KVM/VMX: Add L1D MSR based flush
	x86/KVM/VMX: Add L1D flush logic
	kvm: nVMX: Update MSR load counts on a VMCS switch
	x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers
	x86/KVM/VMX: Add find_msr() helper function
	x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting
	x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs
	x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required
	cpu/hotplug: Online siblings when SMT control is turned on
	x86/litf: Introduce vmx status variable
	x86/kvm: Drop L1TF MSR list approach
	x86/l1tf: Handle EPT disabled state proper
	x86/kvm: Move l1tf setup function
	x86/kvm: Add static key for flush always
	x86/kvm: Serialize L1D flush parameter setter
	x86/kvm: Allow runtime control of L1D flush
	cpu/hotplug: Expose SMT control init function
	cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early
	x86/bugs, kvm: Introduce boot-time control of L1TF mitigations
	Documentation: Add section about CPU vulnerabilities
	x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content
	Documentation/l1tf: Fix typos
	cpu/hotplug: detect SMT disabled by BIOS
	x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush()
	x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond'
	x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush()
	x86/irq: Demote irq_cpustat_t::__softirq_pending to u16
	x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d
	x86: Don't include linux/irq.h from asm/hardirq.h
	x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d
	x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()
	Documentation/l1tf: Remove Yonah processors from not vulnerable list
	KVM: x86: Add a framework for supporting MSR-based features
	KVM: SVM: Add MSR-based feature support for serializing LFENCE
	KVM: X86: Introduce kvm_get_msr_feature()
	KVM: X86: Allow userspace to define the microcode version
	KVM: VMX: support MSR_IA32_ARCH_CAPABILITIES as a feature MSR
	x86/speculation: Simplify sysfs report of VMX L1TF vulnerability
	x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry
	KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
	cpu/hotplug: Fix SMT supported evaluation
	x86/speculation/l1tf: Invert all not present mappings
	x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
	x86/mm/pat: Make set_memory_np() L1TF safe
	x86/mm/kmmio: Make the tracer robust against L1TF
	tools headers: Synchronise x86 cpufeatures.h for L1TF additions
	x86/microcode: Do not upload microcode if CPUs are offline
	x86/microcode: Allow late microcode loading with SMT disabled
	x86/smp: fix non-SMP broken build due to redefinition of apic_id_is_primary_thread
	cpu/hotplug: Non-SMP machines do not make use of booted_once
	x86/init: fix build with CONFIG_SWAP=n
	x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures
	x86/cpu/amd: Limit cpu_core_id fixup to families older than F17h
	x86/CPU/AMD: Have smp_num_siblings and cpu_llc_id always be present
	Linux 4.9.120

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-08-15 18:30:15 +02:00
Abel Vesa
aee0861fbe cpu/hotplug: Non-SMP machines do not make use of booted_once
commit 269777aa530f3438ec1781586cdac0b5fe47b061 upstream.

Commit 0cc3cd21657b ("cpu/hotplug: Boot HT siblings at least once")
breaks non-SMP builds.

[ I suspect the 'bool' fields should just be made to be bitfields and be
  exposed regardless of configuration, but that's a separate cleanup
  that I'll leave to the owners of this file for later.   - Linus ]

Fixes: 0cc3cd21657b ("cpu/hotplug: Boot HT siblings at least once")
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
Signed-off-by: Abel Vesa <abelvesa@linux.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 18:14:55 +02:00
Thomas Gleixner
c504b9fce7 cpu/hotplug: Fix SMT supported evaluation
commit bc2d8d262cba5736332cbc866acb11b1c5748aa9 upstream

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: 73d5e2b47264 ("cpu/hotplug: detect SMT disabled by BIOS")
Reported-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 18:14:53 +02:00
Josh Poimboeuf
8b1969db55 cpu/hotplug: detect SMT disabled by BIOS
commit 73d5e2b472640b1fcdb61ae8be389912ef211bda upstream

If SMT is disabled in BIOS, the CPU code doesn't properly detect it.
The /sys/devices/system/cpu/smt/control file shows 'on', and the 'l1tf'
vulnerabilities file shows SMT as vulnerable.

Fix it by forcing 'cpu_smt_control' to CPU_SMT_NOT_SUPPORTED in such a
case.  Unfortunately the detection can only be done after bringing all
the CPUs online, so we have to overwrite any previous writes to the
variable.

Reported-by: Joe Mario <jmario@redhat.com>
Tested-by: Jiri Kosina <jkosina@suse.cz>
Fixes: f048c399e0f7 ("x86/topology: Provide topology_smt_supported()")
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 18:14:51 +02:00
Thomas Gleixner
929d3b2e9b cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early
commit fee0aede6f4739c87179eca76136f83210953b86 upstream

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
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 18:14:50 +02:00
Jiri Kosina
a69c5e0706 cpu/hotplug: Expose SMT control init function
commit 8e1b706b6e819bed215c0db16345568864660393 upstream

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
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 18:14:50 +02:00
Thomas Gleixner
e7cda2ffe1 cpu/hotplug: Online siblings when SMT control is turned on
commit 215af5499d9e2b55f111d2431ea20218115f29b3 upstream

Writing 'off' to /sys/devices/system/cpu/smt/control offlines all SMT
siblings. Writing 'on' merily enables the abilify to online them, but does
not online them automatically.

Make 'on' more useful by onlining all offline siblings.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-08-15 18:14:49 +02:00