Commit Graph

616 Commits

Author SHA1 Message Date
kdrag0n
410795b91f block: Disable random pool contribution by default
Signed-off-by: kdrag0n <dragon@khronodragon.com>
Change-Id: I439c24fb625a19a8b76c1660507027c7a58f68ef
Signed-off-by: Lau <laststandrighthere@gmail.com>
2024-08-13 23:21:37 +05:30
kdrag0n
a40ef35a7a block: disable I/O stats accounting by default
While Android userspace (e.g. storaged) does use iostats via
/proc/diskstats, init will explicitly enable iostats for the devices on
which it is primarily used - sda and sdf. Avoid the 0.5-1% overhead for
block devices that do not need it.

Signed-off-by: kdrag0n <dragon@khronodragon.com>
2024-08-13 23:08:15 +05:30
Michael Bestas
43cdebbc57 Merge remote-tracking branch 'common/android-4.9-q' into android-msm-pixel-4.9
* common/android-4.9-q:
  Linux 4.9.312
  block/compat_ioctl: fix range check in BLKGETSIZE
  ext4: force overhead calculation if the s_overhead_cluster makes no sense
  ext4: fix overhead calculation to account for the reserved gdt blocks
  ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
  ARC: entry: fix syscall_trace_exit argument
  e1000e: Fix possible overflow in LTR decoding
  ASoC: soc-dapm: fix two incorrect uses of list iterator
  openvswitch: fix OOB access in reserve_sfa_size()
  dma: at_xdmac: fix a missing check on list iterator
  ata: pata_marvell: Check the 'bmdma_addr' beforing reading
  drm/msm/mdp5: check the return of kzalloc()
  brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant
  cifs: Check the IOCB_DIRECT flag, not O_DIRECT
  vxlan: fix error return code in vxlan_fdb_append
  ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant
  platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative
  ARM: vexpress/spc: Avoid negative array index when !SMP
  netlink: reset network and mac headers in netlink_dump()
  net/packet: fix packet_sock xmit return value checking
  dmaengine: imx-sdma: Fix error checking in sdma_event_remap
  ALSA: usb-audio: Clear MIDI port active flag after draining
  gfs2: assign rgrp glock before compute_bitstructs
  mm: page_alloc: fix building error on -Werror=array-compare
  etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead
  Linux 4.9.311
  gcc-plugins: latent_entropy: use /dev/urandom
  i2c: pasemi: Wait for write xfers to finish
  smp: Fix offline cpu check in flush_smp_call_function_queue()
  ARM: davinci: da850-evm: Avoid NULL pointer dereference
  ALSA: pcm: Test for "silence" field in struct "pcm_format_data"
  mm: kmemleak: take a full lowmem check in kmemleak_*_phys()
  mm, page_alloc: fix build_zonerefs_node()
  drivers: net: slip: fix NPD bug in sl_tx_timeout()
  scsi: mvsas: Add PCI ID of RocketRaid 2640
  gpu: ipu-v3: Fix dev_dbg frequency output
  net: micrel: fix KS8851_MLL Kconfig
  scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024
  drm/amdkfd: Check for potential null return of kmalloc_array()
  cifs: potential buffer overflow in handling symlinks
  nfc: nci: add flush_workqueue to prevent uaf
  net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link
  veth: Ensure eth header is in skb's linear part
  xfrm: policy: match with both mark and mask on user interfaces
  arm64: module: remove (NOLOAD) from linker script
  mm: don't skip swap entry even if zap_details specified
  dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"
  tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
  arm64: patch_text: Fixup last cpu should be master
  x86/speculation: Restore speculation related MSRs during S3 resume
  x86/pm: Save the MSR validity status at context setup
  mm/mempolicy: fix mpol_new leak in shared_policy_replace
  mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
  drbd: Fix five use after free bugs in get_initial_state
  drm/imx: Fix memory leak in imx_pd_connector_get_modes
  net: stmmac: Fix unset max_speed difference between DT and non-DT platforms
  scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()
  mm: fix race between MADV_FREE reclaim and blkdev direct IO read
  jfs: prevent NULL deref in diFree
  virtio_console: eliminate anonymous module_init & module_exit
  serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()
  SUNRPC/call_alloc: async tasks mustn't block waiting for memory
  w1: w1_therm: fixes w1_seq for ds28ea00 sensors
  init/main.c: return 1 from handled __setup() functions
  Bluetooth: Fix use after free in hci_send_acl
  xtensa: fix DTC warning unit_address_format
  usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm
  scsi: libfc: Fix use after free in fc_exch_abts_resp()
  MIPS: fix fortify panic when copying asm exception handlers
  bnxt_en: Eliminate unintended link toggle during FW reset
  scsi: aha152x: Fix aha152x_setup() __setup handler return value
  scsi: pm8001: Fix pm8001_mpi_task_abort_resp()
  dm ioctl: prevent potential spectre v1 gadget
  iommu/arm-smmu-v3: fix event handling soft lockup
  scsi: bfa: Replace snprintf() with sysfs_emit()
  scsi: mvsas: Replace snprintf() with sysfs_emit()
  powerpc: dts: t104xrdb: fix phy type for FMAN 4/5
  ptp: replace snprintf with sysfs_emit
  ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111
  KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs
  ARM: 9187/1: JIVE: fix return value of __setup handler
  rtc: wm8350: Handle error for wm8350_register_irq
  KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
  openvswitch: Fixed nd target mask field in the flow dump.
  ARM: dts: spear13xx: Update SPI dma properties
  ARM: dts: spear1340: Update serial node properties
  ASoC: topology: Allow TLV control to be either read or write
  ubi: fastmap: Return error code if memory allocation fails in add_aeb()
  mm/memcontrol: return 1 from cgroup.memory __setup() handler
  mm/mmap: return 1 from stack_guard_gap __setup() handler
  ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
  pinctrl: pinconf-generic: Print arguments for bias-pull-*
  gfs2: Make sure FITRIM minlen is rounded up to fs block size
  ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
  ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
  KVM: Prevent module exit until all VMs are freed
  scsi: qla2xxx: Fix incorrect reporting of task management failure
  mmc: host: Return an error when ->enable_sdio_irq() ops is missing
  media: hdpvr: initialize dev->worker at hdpvr_register_videodev
  video: fbdev: sm712fb: Fix crash in smtcfb_write()
  ARM: mmp: Fix failure to remove sram device
  ARM: tegra: tamonten: Fix I2C3 pad setting
  media: cx88-mpeg: clear interrupt status register before streaming video
  ASoC: soc-core: skip zero num_dai component in searching dai name
  video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
  video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
  ARM: dts: bcm2837: Add the missing L1/L2 cache information
  ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
  video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
  video: fbdev: cirrusfb: check pixclock to avoid divide by zero
  video: fbdev: w100fb: Reset global state
  video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
  ntfs: add sanity check on allocation size
  ext4: don't BUG if someone dirty pages without asking ext4 first
  spi: tegra20: Use of_device_get_match_data()
  PM: core: keep irq flags in device_pm_check_callbacks()
  ACPI/APEI: Limit printable size of BERT table data
  ACPICA: Avoid walking the ACPI Namespace if it is not there
  irqchip/nvic: Release nvic_base upon failure
  Fix incorrect type in assignment of ipv6 port for audit
  loop: use sysfs_emit() in the sysfs xxx show()
  selinux: use correct type for context length
  net/x25: Fix null-ptr-deref caused by x25_disconnect
  qlcnic: dcb: default to returning -EOPNOTSUPP
  net: phy: broadcom: Fix brcm_fet_config_init()
  netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
  jfs: fix divide error in dbNextAG
  kgdbts: fix return value of __setup handler
  kgdboc: fix return value of __setup handler
  tty: hvc: fix return value of __setup handler
  pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
  pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
  pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
  NFS: remove unneeded check in decode_devicenotify_args()
  clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
  clk: clps711x: Terminate clk_div_table with sentinel element
  clk: loongson1: Terminate clk_div_table with sentinel element
  remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
  clk: qcom: clk-rcg2: Update the frac table for pixel clock
  iio: adc: Add check for devm_request_threaded_irq
  pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
  mxser: fix xmit_buf leak in activate when LSR == 0xff
  mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
  i2c: mux: demux-pinctrl: do not deactivate a master that is not active
  af_netlink: Fix shift out of bounds in group mask calculation
  USB: storage: ums-realtek: fix error code in rts51x_read_mem()
  MIPS: RB532: fix return value of __setup handler
  mfd: mc13xxx: Add check for mc13xxx_irq_request
  powerpc/sysdev: fix incorrect use to determine if list is empty
  power: supply: wm8350-power: Add missing free in free_charger_irq
  power: supply: wm8350-power: Handle error for wm8350_register_irq
  i2c: xiic: Make bus names unique
  KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
  KVM: x86: Fix emulation in writing cr8
  drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
  ext2: correct max file size computing
  TOMOYO: fix __setup handlers return values
  scsi: pm8001: Fix abort all task initialization
  scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
  scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
  scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
  iwlwifi: Fix -EIO error code that is never returned
  HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
  power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
  ray_cs: Check ioremap return value
  ath9k_htc: fix uninit value bugs
  drm/edid: Don't clear formats if using deep color
  mtd: onenand: Check for error irq
  ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
  ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
  ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
  video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
  ASoC: fsi: Add check for clk_enable
  ASoC: wm8350: Handle error for wm8350_register_irq
  ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
  ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
  memory: emif: check the pointer temp in get_device_details()
  memory: emif: Add check for setup_interrupts
  ASoC: atmel_ssc_dai: Handle errors for clk_enable
  ASoC: mxs-saif: Handle errors for clk_enable
  printk: fix return value of printk.devkmsg __setup handler
  arm64: dts: broadcom: Fix sata nodename
  arm64: dts: ns2: Fix spi-cpol and spi-cpha property
  ALSA: spi: Add check for clk_enable()
  ASoC: ti: davinci-i2s: Add check for clk_enable()
  media: usb: go7007: s2250-board: fix leak in probe()
  soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
  ARM: dts: qcom: ipq4019: fix sleep clock
  video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
  video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
  perf/x86/intel/pt: Fix address filter config for 32-bit kernel
  perf/core: Fix address filter parser for multiple filters
  sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
  clocksource: acpi_pm: fix return value of __setup handler
  hwmon: (pmbus) Add Vin unit off handling
  crypto: ccp - ccp_dmaengine_unregister release dma channels
  crypto: vmx - add missing dependencies
  PM: suspend: fix return value of __setup handler
  PM: hibernate: fix __setup handler error handling
  hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
  hwmon: (pmbus) Add mutex to regulator ops
  selftests/x86: Add validity check and allow field splitting
  spi: tegra114: Add missing IRQ check in tegra_spi_probe
  crypto: mxs-dcp - Fix scatterlist processing
  crypto: authenc - Fix sleep in atomic context in decrypt_tail
  PCI: pciehp: Clear cmd_busy bit in polling mode
  brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
  brcmfmac: firmware: Allocate space for default boardrev in nvram
  media: davinci: vpif: fix unbalanced runtime PM get
  DEC: Limit PMAX memory probing to R3k systems
  lib/raid6/test: fix multiple definition linking error
  thermal: int340x: Increase bitmap size
  carl9170: fix missing bit-wise or operator for tx_params
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250
  ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
  video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
  video: fbdev: sm712fb: Fix crash in smtcfb_read()
  drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
  ALSA: cs4236: fix an incorrect NULL check on list iterator
  Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
  scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
  mempolicy: mbind_range() set_policy() after vma_merge()
  mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
  jffs2: fix memory leak in jffs2_scan_medium
  jffs2: fix memory leak in jffs2_do_mount_fs
  jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
  can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
  NFSD: prevent underflow in nfssvc_decode_writeargs()
  SUNRPC: avoid race between mod_timer() and del_timer_sync()
  ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
  clk: uniphier: Fix fixed-rate initialization
  iio: inkern: make a best effort on offset calculation
  iio: inkern: apply consumer scale on IIO_VAL_INT cases
  coresight: Fix TRCCONFIGR.QE sysfs interface
  USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
  virtio-blk: Use blk_validate_block_size() to validate block size
  block: Add a helper to validate the block size
  af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
  ethernet: sun: Free the coherent when failing in probing
  virtio_console: break out of buf poll on remove
  netdevice: add the case if dev is NULL
  USB: serial: simple: add Nokia phone driver
  USB: serial: pl2303: add IBM device IDs
  Linux 4.9.310
  arm64: Use the clearbhb instruction in mitigations
  arm64: add ID_AA64ISAR2_EL1 sys register
  KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
  arm64: Mitigate spectre style branch history side channels
  KVM: arm64: Add templates for BHB mitigation sequences
  arm64: Add percpu vectors for EL1
  arm64: entry: Add macro for reading symbol addresses from the trampoline
  arm64: entry: Add vectors that have the bhb mitigation sequences
  arm64: Move arm64_update_smccc_conduit() out of SSBD ifdef
  arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
  arm64: entry: Allow the trampoline text to occupy multiple pages
  arm64: entry: Make the kpti trampoline's kpti sequence optional
  arm64: entry: Move trampoline macros out of ifdef'd section
  arm64: entry: Don't assume tramp_vectors is the start of the vectors
  arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
  arm64: entry: Move the trampoline data page before the text page
  arm64: entry: Free up another register on kpti's tramp_exit path
  arm64: entry: Make the trampoline cleanup optional
  arm64: entry.S: Add ventry overflow sanity checks
  arm64: Add helper to decode register from instruction
  arm64: Add Cortex-X2 CPU part definition
  arm64: Add Neoverse-N2, Cortex-A710 CPU part definition
  arm64: Add part number for Arm Cortex-A77
  arm64: Add part number for Neoverse N1
  arm64: Make ARM64_ERRATUM_1188873 depend on COMPAT
  arm64: Add silicon-errata.txt entry for ARM erratum 1188873
  arm64: arch_timer: avoid unused function warning
  arm64: arch_timer: Add workaround for ARM erratum 1188873
  arm64: arch_timer: Add erratum handler for CPU-specific capability
  arm64: arch_timer: Add infrastructure for multiple erratum detection methods
  clocksource/drivers/arm_arch_timer: Introduce generic errata handling infrastructure
  clocksource/drivers/arm_arch_timer: Remove fsl-a008585 parameter
  arm64: capabilities: Add support for checks based on a list of MIDRs
  arm64: Add helpers for checking CPU MIDR against a range
  arm64: capabilities: Clean up midr range helpers
  arm64: capabilities: Add flags to handle the conflicts on late CPU
  arm64: capabilities: Prepare for fine grained capabilities
  arm64: capabilities: Move errata processing code
  arm64: capabilities: Move errata work around check on boot CPU
  arm64: capabilities: Update prototype for enable call back
  arm64: Add MIDR encoding for Arm Cortex-A55 and Cortex-A35
  arm64: Remove useless UAO IPI and describe how this gets enabled
  arm64: errata: Provide macro for major and minor cpu revisions
  Linux 4.9.309
  llc: only change llc->dev when bind() succeeds
  mac80211: fix potential double free on mesh join
  crypto: qat - disable registration of algorithms
  ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU
  ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3
  ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board
  netfilter: nf_tables: initialize registers in nft_do_chain()
  ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec
  ALSA: cmipci: Restore aux vol on suspend/resume
  ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB
  ALSA: pcm: Add stream lock during PCM reset ioctl operations
  llc: fix netdevice reference leaks in llc_ui_bind()
  staging: fbtft: fb_st7789v: reset display before initialization
  net: ipv6: fix skb_over_panic in __ip6_append_data
  nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION
  Linux 4.9.308
  Input: aiptek - properly check endpoint type
  usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
  usb: gadget: rndis: prevent integer overflow in rndis_set_response()
  atm: eni: Add check for dma_map_single
  net/packet: fix slab-out-of-bounds access in packet_recvmsg()
  fs: sysfs_emit: Remove PAGE_SIZE alignment check
  kselftest/vm: fix tests build with old libc
  sfc: extend the locking on mcdi->seqno
  tcp: make tcp_read_sock() more robust
  nl80211: Update bss channel on channel switch for P2P_CLIENT
  atm: firestream: check the return value of ioremap() in fs_init()
  can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when fully ready
  ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE
  MIPS: smp: fill in sibling and core maps earlier
  ARM: dts: rockchip: fix a typo on rk3288 crypto-controller
  xfrm: Fix xfrm migrate issues when address family changes
  Linux 4.9.307
  btrfs: unlock newly allocated extent buffer after error
  ARM: fix Thumb2 regression with Spectre BHB
  batman-adv: Don't expect inter-netns unique iflink indices
  batman-adv: Request iflink once in batadv-on-batadv check
  staging: gdm724x: fix use after free in gdm_lte_rx()
  ARM: Spectre-BHB: provide empty stub for non-config
  selftests/memfd: clean up mapping in mfd_fail_write
  tracing: Ensure trace buffer is at least 4096 bytes large
  Revert "xen-netback: Check for hotplug-status existence before watching"
  net-sysfs: add check for netdevice being present to speed_show
  sctp: fix kernel-infoleak for SCTP sockets
  gpio: ts4900: Do not set DAT and OE together
  NFC: port100: fix use-after-free in port100_send_complete
  net/mlx5: Fix size field in bufferx_reg struct
  ax25: Fix NULL pointer dereference in ax25_kill_by_device
  net: ethernet: lpc_eth: Handle error for clk_enable
  ethernet: Fix error handling in xemaclite_of_probe
  qed: return status of qed_iov_get_link
  net: qlogic: check the return value of dma_alloc_coherent() in qed_vf_hw_prepare()
  Linux 4.9.306
  xen/netfront: react properly to failing gnttab_end_foreign_access_ref()
  xen/gnttab: fix gnttab_end_foreign_access() without page specified
  xen: remove gnttab_query_foreign_access()
  xen/gntalloc: don't use gnttab_query_foreign_access()
  xen/scsifront: don't use gnttab_query_foreign_access() for mapped status
  xen/netfront: don't use gnttab_query_foreign_access() for mapped status
  xen/blkfront: don't use gnttab_query_foreign_access() for mapped status
  xen/grant-table: add gnttab_try_end_foreign_access()
  xen/xenbus: don't let xenbus_grant_ring() remove grants in error case
  ARM: fix build warning in proc-v7-bugs.c
  x86, modpost: Replace last remnants of RETPOLINE with CONFIG_RETPOLINE
  x86/build: Fix compiler support check for CONFIG_RETPOLINE
  ARM: Do not use NOCROSSREFS directive with ld.lld
  ARM: fix co-processor register typo
  ARM: fix build error when BPF_SYSCALL is disabled
  ARM: include unprivileged BPF status in Spectre V2 reporting
  ARM: Spectre-BHB workaround
  ARM: use LOADADDR() to get load address of sections
  ARM: early traps initialisation
  ARM: report Spectre v2 status through sysfs
  arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit()
  arm/arm64: Provide a wrapper for SMCCC 1.1 calls
  x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT
  x86/speculation: Warn about Spectre v2 LFENCE mitigation
  x86/speculation: Update link to AMD speculation whitepaper
  x86/speculation: Use generic retpoline by default on AMD
  x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation reporting
  Documentation/hw-vuln: Update spectre doc
  x86/speculation: Add eIBRS + Retpoline options
  x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE
  x86,bugs: Unconditionally allow spectre_v2=retpoline,amd
  x86/speculation: Merge one test in spectre_v2_user_select_mitigation()
  Documentation: refer to config RANDOMIZE_BASE for kernel address-space randomization
  Documentation: Add swapgs description to the Spectre v1 documentation
  Documentation: Add section about CPU vulnerabilities for Spectre
  x86/retpoline: Remove minimal retpoline support
  x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support
  x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variant
  Linux 4.9.305
  hamradio: fix macro redefine warning
  net: dcb: disable softirqs in dcbnl_flush_dev()
  memfd: fix F_SEAL_WRITE after shmem huge page allocated
  HID: add mapping for KEY_ALL_APPLICATIONS
  Input: elan_i2c - fix regulator enable count imbalance after suspend/resume
  Input: elan_i2c - move regulator_[en|dis]able() out of elan_[en|dis]able_power()
  net: chelsio: cxgb3: check the return value of pci_find_capability()
  soc: fsl: qe: Check of ioremap return value
  ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions
  can: gs_usb: change active_channels's type from atomic_t to u8
  efivars: Respect "block" flag in efivar_entry_set_safe()
  net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe()
  net: sxgbe: fix return value of __setup handler
  net: stmmac: fix return value of __setup handler
  mac80211: fix forwarded mesh frames AC & queue selection
  firmware: qemu_fw_cfg: fix kobject leak in probe error path
  firmware: Fix a reference count leak.
  net: dcb: flush lingering app table entries for unregistered devices
  netfilter: nf_queue: fix possible use-after-free
  netfilter: nf_queue: don't assume sk is full socket
  xfrm: fix MTU regression
  ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min
  ata: pata_hpt37x: fix PCI clock detection
  usb: gadget: clear related members when goto fail
  usb: gadget: don't release an existing dev->buf
  net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990
  i2c: qup: allow COMPILE_TEST
  dmaengine: shdma: Fix runtime PM imbalance on error
  cifs: fix double free race when mount fails in cifs_get_root()
  Input: clear BTN_RIGHT/MIDDLE on buttonpads
  i2c: bcm2835: Avoid clock stretching timeouts
  mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work
  mac80211_hwsim: report NOACK frames in tx_status
  Linux 4.9.304
  fget: clarify and improve __fget_files() implementation
  memblock: use kfree() to release kmalloced memblock regions
  tty: n_gsm: fix proper link termination after failed open
  tty: n_gsm: fix encoding of control signal octet bit DV
  xhci: Prevent futile URB re-submissions due to incorrect return value.
  usb: dwc3: gadget: Let the interrupt handler disable bottom halves.
  USB: serial: option: add Telit LE910R1 compositions
  USB: serial: option: add support for DW5829e
  tracefs: Set the group ownership in apply_options() not parse_options()
  USB: gadget: validate endpoint index for xilinx udc
  usb: gadget: rndis: add spinlock for rndis response list
  Revert "USB: serial: ch341: add new Product ID for CH341A"
  ata: pata_hpt37x: disable primary channel on HPT371
  iio: adc: men_z188_adc: Fix a resource leak in an error handling path
  RDMA/ib_srp: Fix a deadlock
  configfs: fix a race in configfs_{,un}register_subsystem()
  net/mlx5e: Fix wrong return value on ioctl EEPROM query failure
  drm/edid: Always set RGB444
  openvswitch: Fix setting ipv6 fields causing hw csum failure
  gso: do not skip outer ip header in case of ipip and net_failover
  net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends
  serial: 8250: of: Fix mapped region size when using reg-offset property
  serial: 8250: fix error handling in of_platform_serial_probe()
  USB: zaurus: support another broken Zaurus
  sr9700: sanity check for packet length
  parisc/unaligned: Fix ldw() and stw() unalignment handlers
  parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel
  vhost/vsock: don't check owner in vhost_vsock_stop() while releasing
  mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status
  Linux 4.9.303
  net: usb: qmi_wwan: Add support for Dell DW5829e
  tracing: Fix tp_printk option related with tp_printk_stop_on_boot
  ata: libata-core: Disable TRIM on M88V29
  NFS: Do not report writeback errors in nfs_getattr()
  KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW
  lib/iov_iter: initialize "flags" in new pipe_buffer
  i2c: brcmstb: fix support for DSL and CM variants
  EDAC: Fix calculation of returned address and next offset in edac_align_ptr()
  NFS: LOOKUP_DIRECTORY is also ok with symlinks
  ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range()
  ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw()
  ALSA: hda: Fix missing codec probe on Shenker Dock 15
  ALSA: hda: Fix regression on forced probe mask option
  libsubcmd: Fix use-after-free for realloc(..., 0)
  drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit
  iwlwifi: pcie: fix locking when "HW not ready"
  vsock: remove vsock from connected table when connect is interrupted by a signal
  vsock: correct removal of socket from the list
  taskstats: Cleanup the use of task->exit_code
  xfrm: Don't accidentally set RTO_ONLINK in decode_session4()
  drm/radeon: Fix backlight control on iMac 12,1
  quota: make dquot_quota_sync return errors from ->sync_fs
  vfs: make freeze_super abort when sync_filesystem returns error
  ax25: improve the incomplete fix to avoid UAF and NPD bugs
  selftests/zram: Adapt the situation that /dev/zram0 is being used
  selftests/zram01.sh: Fix compression ratio calculation
  selftests/zram: Skip max_comp_streams interface on newer kernel
  net: ieee802154: at86rf230: Stop leaking skb's
  btrfs: send: in case of IO error log it
  parisc: Fix sglist access in ccio-dma.c
  parisc: Fix data TLB miss in sba_unmap_sg
  serial: parisc: GSC: fix build when IOSAPIC is not set
  net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup
  Makefile.extrawarn: Move -Wunaligned-access to W=1
  UPSTREAM: net: fix skb_panic to output real address
  UPSTREAM: xfrm: Make function xfrmi_get_link_net() static
  UPSTREAM: xfrm: fix gro_cells leak when remove virtual xfrm interfaces
  UPSTREAM: xfrm interface: fix memory leak on creation
  UPSTREAM: xfrm: clone XFRMA_SET_MARK in xfrm_do_migrate
  UPSTREAM: xfrm/compat: Translate by copying XFRMA_UNSPEC attribute
  UPSTREAM: xfrm/compat: memset(0) 64-bit padding at right place
  UPSTREAM: xfrm/compat: Don't allocate memory with __GFP_ZERO
  UPSTREAM: xfrm/compat: Cleanup WARN()s that can be user-triggered
  UPSTREAM: net: xfrm: fix memory leak in xfrm_user_rcv_msg
  UPSTREAM: arm64/vdso: don't leak kernel addresses
  UPSTREAM: tracing: make PREEMPTIRQ_EVENTS depend on TRACING
  UPSTREAM: trace_uprobe: Use %lx to display offset
  UPSTREAM: kprobes: Fix random address output of blacklist file
  UPSTREAM: mm/huge_memory.c: __split_huge_page() use atomic ClearPageDirty()
  UPSTREAM: x86/realmode: Don't leak the trampoline kernel address
  UPSTREAM: bpf: bpf_prog_array_alloc() should return a generic non-rcu pointer
  UPSTREAM: bpf: fix rcu annotations in compute_effective_progs()
  UPSTREAM: optee: add writeback to valid memory type
  UPSTREAM: lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests
  UPSTREAM: kdb: use correct pointer when 'btc' calls 'btt'
  UPSTREAM: kdb: print real address of pointers instead of hashed addresses
  UPSTREAM: powerpc/traps: Fix the message printed when stack overflows
  UPSTREAM: f2fs: should use GFP_NOFS for directory inodes
  UPSTREAM: zram: off by one in read_block_state()
  UPSTREAM: tee: fix put order in teedev_close_context()
  UPSTREAM: vsprintf: Replace memory barrier with static_key for random_ptr_key update
  UPSTREAM: ARM: 8896/1: VDSO: Don't leak kernel addresses
  UPSTREAM: parisc: Show unhashed hardware inventory
  UPSTREAM: parisc: Show initial kernel memory layout unhashed
  UPSTREAM: parisc: Show unhashed HPA of Dino chip
  UPSTREAM: parisc: Show unhashed EISA EEPROM address
  UPSTREAM: HID: input: throttle battery uevents
  UPSTREAM: HID: steam: select CONFIG_POWER_SUPPLY
  UPSTREAM: HID: sony: Fix for broken buttons on DS3 USB dongles
  UPSTREAM: HID: input: do not report stylus battery state as "full"
  Linux 4.9.302
  HID: wacom: add USB_HID dependency
  hwmon: (dell-smm) Speed up setting of fan speed
  USB: serial: cp210x: add CPI Bulk Coin Recycler id
  USB: serial: cp210x: add NCR Retail IO box id
  USB: serial: ch341: add support for GW Instek USB2.0-Serial devices
  USB: serial: option: add ZTE MF286D modem
  USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320
  usb: gadget: rndis: check size of RNDIS_MSG_SET command
  USB: gadget: validate interface OS descriptor requests
  usb: dwc3: gadget: Prevent core from processing stale TRBs
  n_tty: wake up poll(POLLRDNORM) on receiving data
  bpf: Add kconfig knob for disabling unpriv bpf by default
  vt_ioctl: add array_index_nospec to VT_ACTIVATE
  vt_ioctl: fix array_index_nospec in vt_setactivate
  tipc: rate limit warning for received illegal binding update
  net: fix a memleak when uncloning an skb dst and its metadata
  net: do not keep the dst cache when uncloning an skb dst and its metadata
  ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path
  bonding: pair enable_port with slave_arr_updates
  ARM: dts: imx6qdl-udoo: Properly describe the SD card detect
  staging: fbtft: Fix error path in fbtft_driver_module_init()
  ARM: dts: imx23-evk: Remove MX23_PAD_SSP1_DETECT from hog group
  usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend
  scsi: target: iscsi: Make sure the np under each tpg is unique
  NFSv4 remove zero number of fs_locations entries error check
  nfs: nfs4clinet: check the return value of kstrdup()
  NFSv4 only print the label when its queried
  Revert "net: axienet: Wait for PhyRstCmplt after core reset"
  ALSA: line6: Fix misplaced backport of "Fix wrong altsetting for LINE6_PODHD500_1"
  serial: sh-sci: Fix misplaced backport of "Fix late enablement of AUTORTS"
  Input: i8042 - Fix misplaced backport of "add ASUS Zenbook Flip to noselftest list"
  NFSD: Clamp WRITE offsets
  NFS: Fix initialisation of nfs_client cl_flags field
  ima: Remove ima_policy file before directory
  integrity: check the return value of audit_log_start()
  Revert "tracefs: Have tracefs directories not set OTH permission bits by default"
  Linux 4.9.301
  tipc: improve size validations for received domain records
  moxart: fix potential use-after-free on remove path
  cgroup-v1: Require capabilities to set release_agent
  Linux 4.9.300
  ext4: fix error handling in ext4_restore_inline_data()
  EDAC/xgene: Fix deferred probing
  EDAC/altera: Fix deferred probing
  rtc: cmos: Evaluate century appropriate
  nfsd: nfsd4_setclientid_confirm mistakenly expires confirmed client.
  scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe
  ASoC: fsl: Add missing error handling in pcm030_fabric_probe
  net: macsec: Verify that send_sci is on when setting Tx sci explicitly
  net: ieee802154: Return meaningful error codes from the netlink helpers
  spi: mediatek: Avoid NULL pointer crash in interrupt
  spi: bcm-qspi: check for valid cs before applying chip select
  iommu/amd: Fix loop timeout issue in iommu_ga_log_enable()
  drm/nouveau: fix off by one in BIOS boundary checking
  ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx()
  ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx()
  ASoC: ops: Reject out of bounds values in snd_soc_put_volsw()
  af_packet: fix data-race in packet_setsockopt / packet_setsockopt
  rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink()
  net: amd-xgbe: Fix skb data length underflow
  net: amd-xgbe: ensure to reset the tx_timer_active flag
  ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback
  netfilter: nat: limit port clash resolution attempts
  netfilter: nat: remove l4 protocol port rovers
  ipv4: tcp: send zero IPID in SYNACK messages
  ipv4: raw: lock the socket in raw_bind()
  hwmon: (lm90) Reduce maximum conversion rate for G781
  drm/msm: Fix wrong size calculation
  net-procfs: show net devices bound packet types
  NFSv4: nfs_atomic_open() can race when looking up a non-regular file
  NFSv4: Handle case where the lookup of a directory fails
  ipv4: avoid using shared IP generator for connected sockets
  net: fix information leakage in /proc/net/ptype
  ipv6_tunnel: Rate limit warning messages
  scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put()
  powerpc/32: Fix boot failure with GCC latent entropy plugin
  USB: core: Fix hang in usb_kill_urb by adding memory barriers
  usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS
  usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge
  tty: Add support for Brainboxes UC cards.
  tty: n_gsm: fix SW flow control encoding/handling
  serial: stm32: fix software flow control transfer
  PM: wakeup: simplify the output logic of pm_show_wakelocks()
  udf: Fix NULL ptr deref when converting from inline format
  udf: Restore i_lenAlloc when inode expansion fails
  scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices
  s390/hypfs: include z/VM guests with access control group set
  Bluetooth: refactor malicious adv data check
  can: bcm: fix UAF of bcm op
  BACKPORT: ipv6: Implement draft-ietf-6man-rfc4941bis
  Linux 4.9.299
  ion: Do not 'put' ION handle until after its final use
  ion: Protect kref from userspace manipulation
  ion: Fix use after free during ION_IOC_ALLOC
  ARM: 8800/1: use choice for kernel unwinders
  KVM: X86: MMU: Use the correct inherited permissions to get shadow page
  KVM: nVMX: fix EPT permissions as reported in exit qualification
  NFSv4: Initialise connection to the server in nfs4_alloc_client()
  media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt()
  drm/i915: Flush TLBs before releasing backing store
  Linux 4.9.298
  KVM: do not allow mapping valid but non-reference-counted pages
  KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped()
  KVM: do not assume PTE is writable after follow_pfn
  mm: add follow_pte_pmd()
  lib/timerqueue: Rely on rbtree semantics for next timer
  rbtree: cache leftmost node internally
  cipso,calipso: resolve a number of problems with the DOI refcounts
  gianfar: fix jumbo packets+napi+rx overrun crash
  gianfar: simplify FCS handling and fix memory leak
  drm/ttm/nouveau: don't call tt destroy callback on alloc failure.
  gup: document and work around "COW can break either way" issue
  Revert "gup: document and work around "COW can break either way" issue"
  lib82596: Fix IRQ check in sni_82596_probe
  scripts/dtc: dtx_diff: remove broken example from help text
  bcmgenet: add WOL IRQ check
  net_sched: restore "mpu xxx" handling
  dmaengine: at_xdmac: Fix at_xdmac_lld struct definition
  dmaengine: at_xdmac: Fix lld view setting
  dmaengine: at_xdmac: Print debug message after realeasing the lock
  dmaengine: at_xdmac: Don't start transactions at tx_submit level
  libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route()
  netns: add schedule point in ops_exit_list()
  net: axienet: fix number of TX ring slots for available check
  net: axienet: Wait for PhyRstCmplt after core reset
  af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress
  parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries
  net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module
  powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses
  RDMA/rxe: Fix a typo in opcode name
  RDMA/hns: Modify the mapping attribute of doorbell to device
  drm/radeon: fix error handling in radeon_driver_open_kms
  fuse: fix live lock in fuse_iget()
  fuse: fix bad inode
  ext4: don't use the orphan list when migrating an inode
  ext4: Fix BUG_ON in ext4_bread when write quota data
  ext4: set csum seed in tmp inode while migrating to extents
  iwlwifi: mvm: Increase the scan timeout guard to 30 seconds
  ubifs: Error path in ubifs_remount_rw() seems to wrongly free write buffers
  power: bq25890: Enable continuous conversion for ADC at charging
  ASoC: mediatek: mt8173: fix device_node leak
  scsi: sr: Don't use GFP_DMA
  MIPS: Octeon: Fix build errors using clang
  i2c: designware-pci: Fix to change data types of hcnt and lcnt parameters
  ALSA: seq: Set upper limit of processed events
  w1: Misuse of get_user()/put_user() reported by sparse
  i2c: mpc: Correct I2C reset procedure
  powerpc/smp: Move setup_profiling_timer() under CONFIG_PROFILING
  i2c: i801: Don't silently correct invalid transfer size
  powerpc/btext: add missing of_node_put
  powerpc/cell: add missing of_node_put
  powerpc/powernv: add missing of_node_put
  powerpc/6xx: add missing of_node_put
  parisc: Avoid calling faulthandler_disabled() twice
  serial: core: Keep mctrl register state and cached copy in sync
  serial: pl010: Drop CR register reset on set_termios
  dm space map common: add bounds check to sm_ll_lookup_bitmap()
  dm btree: add a defensive bounds check to insert_at()
  net: mdio: Demote probed message to debug print
  btrfs: remove BUG_ON(!eie) in find_parent_nodes
  btrfs: remove BUG_ON() in find_parent_nodes()
  ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R()
  ACPICA: Utilities: Avoid deleting the same object twice in a row
  jffs2: GC deadlock reading a page that is used in jffs2_write_begin()
  um: registers: Rename function names to avoid conflicts and build problems
  ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream
  usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0
  media: saa7146: hexium_gemini: Fix a NULL pointer dereference in hexium_attach()
  media: igorplugusb: receiver overflow should be reported
  net: bonding: debug: avoid printing debug logs when bond is not notifying peers
  ath10k: Fix tx hanging
  iwlwifi: mvm: synchronize with FW after multicast commands
  media: m920x: don't use stack on USB reads
  media: saa7146: hexium_orion: Fix a NULL pointer dereference in hexium_attach()
  floppy: Add max size check for user space request
  mwifiex: Fix skb_over_panic in mwifiex_usb_recv()
  HSI: core: Fix return freed object in hsi_new_client
  gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use
  media: b2c2: Add missing check in flexcop_pci_isr:
  HID: apple: Do not reset quirks when the Fn key is not found
  usb: gadget: f_fs: Use stream_open() for endpoint files
  ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply
  fs: dlm: filter user dlm messages for kernel locks
  Bluetooth: Fix debugfs entry leak in hci_register_dev()
  RDMA/cxgb4: Set queue pair state when being queried
  mips: bcm63xx: add support for clk_set_parent()
  mips: lantiq: add support for clk_set_parent()
  misc: lattice-ecp3-config: Fix task hung when firmware load failed
  ASoC: samsung: idma: Check of ioremap return value
  dmaengine: pxa/mmp: stop referencing config->slave_id
  RDMA/core: Let ib_find_gid() continue search even after empty entry
  scsi: ufs: Fix race conditions related to driver data
  char/mwave: Adjust io port register size
  ALSA: oss: fix compile error when OSS_DEBUG is enabled
  powerpc/prom_init: Fix improper check of prom_getprop()
  RDMA/hns: Validate the pkey index
  ALSA: hda: Add missing rwsem around snd_ctl_remove() calls
  ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls
  ALSA: jack: Add missing rwsem around snd_ctl_remove() calls
  ext4: avoid trim error on fs with small groups
  net: mcs7830: handle usb read errors properly
  pcmcia: fix setting of kthread task states
  can: xilinx_can: xcan_probe(): check for error irq
  can: softing: softing_startstop(): fix set but not used variable warning
  spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe
  fsl/fman: Check for null pointer after calling devm_ioremap
  ppp: ensure minimum packet size in ppp_write()
  pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in nonstatic_find_mem_region()
  pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in __nonstatic_find_io_region()
  usb: ftdi-elan: fix memory leak on device disconnect
  media: msi001: fix possible null-ptr-deref in msi001_probe()
  media: si2157: Fix "warm" tuner state detection
  media: saa7146: mxb: Fix a NULL pointer dereference in mxb_attach()
  media: dib8000: Fix a memleak in dib8000_init()
  floppy: Fix hang in watchdog when disk is ejected
  serial: amba-pl011: do not request memory region twice
  drm/radeon/radeon_kms: Fix a NULL pointer dereference in radeon_driver_open_kms()
  drm/amdgpu: Fix a NULL pointer dereference in amdgpu_connector_lcd_native_mode()
  arm64: dts: qcom: msm8916: fix MMC controller aliases
  netfilter: bridge: add support for pppoe filtering
  tty: serial: atmel: Call dma_async_issue_pending()
  tty: serial: atmel: Check return code of dmaengine_submit()
  crypto: qce - fix uaf on qce_ahash_register_one
  media: dmxdev: fix UAF when dvb_register_device() fails
  Bluetooth: stop proccessing malicious adv data
  wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND
  Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails
  shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode
  PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller
  can: softing_cs: softingcs_probe(): fix memleak on registration failure
  media: stk1160: fix control-message timeouts
  media: pvrusb2: fix control-message timeouts
  media: redrat3: fix control-message timeouts
  media: dib0700: fix undefined behavior in tuner shutdown
  media: s2255: fix control-message timeouts
  media: cpia2: fix control-message timeouts
  media: em28xx: fix control-message timeouts
  media: mceusb: fix control-message timeouts
  media: flexcop-usb: fix control-message timeouts
  rtc: cmos: take rtc_lock while reading from CMOS
  nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed bind()
  HID: wacom: Avoid using stale array indicies to read contact count
  HID: uhid: Fix worker destroying device without any protection
  rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with interrupts enabled
  media: uvcvideo: fix division by zero at stream start
  drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk()
  staging: wlan-ng: Avoid bitwise vs logical OR warning in hfa384x_usb_throttlefn()
  random: fix data race on crng init time
  random: fix data race on crng_node_pool
  can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved}
  can: gs_usb: fix use of uninitialized variable, detach device on reception of invalid USB data
  mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
  USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status
  USB: core: Fix bug in resuming hub's handling of wakeup requests
  Bluetooth: bfusb: fix division by zero in send path
  Linux 4.9.297
  power: reset: ltc2952: Fix use of floating point literals
  mISDN: change function names to avoid conflicts
  net: udp: fix alignment problem in udp4_seq_show()
  ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate
  scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown()
  phonet: refcount leak in pep_sock_accep
  arm64: sysreg: Move to use definitions for all the SCTLR bits
  arm64: move !VHE work to end of el2_setup
  arm64: reduce el2_setup branching
  arm64: Remove a redundancy in sysreg.h
  bug: split BUILD_BUG stuff out into <linux/build_bug.h>
  rndis_host: support Hytera digital radios
  xfs: map unwritten blocks in XFS_IOC_{ALLOC,FREE}SP just like fallocate
  sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc
  i40e: Fix incorrect netdev's real number of RX/TX queues
  mac80211: initialize variable have_higher_than_11mbit
  ieee802154: atusb: fix uninit value in atusb_set_extended_addr
  virtio_pci: Support surprise removal of virtio pci device
  tracing: Tag trace_percpu_buffer as a percpu pointer
  tracing: Fix check for trace_percpu_buffer validity in get_trace_buf()
  Bluetooth: btusb: Apply QCA Rome patches for some ATH3012 models
  Linux 4.9.296
  net: fix use-after-free in tw_timer_handler
  Input: spaceball - fix parsing of movement data packets
  Input: appletouch - initialize work before device registration
  scsi: vmw_pvscsi: Set residual data length conditionally
  usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear.
  xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set.
  uapi: fix linux/nfc.h userspace compilation errors
  nfc: uapi: use kernel size_t to fix user-space builds
  fsl/fman: Fix missing put_device() call in fman_port_probe
  selinux: initialize proto variable in selinux_ip_postroute_compat()
  recordmcount.pl: fix typo in s390 mcount regex
  platform/x86: apple-gmux: use resource_size() with res
  HID: asus: Add depends on USB_HID to HID_ASUS Kconfig option
  Linux 4.9.295
  phonet/pep: refuse to enable an unbound pipe
  hamradio: improve the incomplete fix to avoid NPD
  hamradio: defer ax25 kfree after unregister_netdev
  ax25: NPD bug when detaching AX25 device
  hwmon: (lm90) Do not report 'busy' status bit as alarm
  ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling
  x86/pkey: Fix undefined behaviour with PKRU_WD_BIT
  ALSA: drivers: opl3: Fix incorrect use of vp->state
  ALSA: jack: Check the return value of kstrdup()
  hwmon: (lm90) Fix usage of CONFIG2 register in detect function
  drivers: net: smc911x: Check for error irq
  fjes: Check for error irq
  bonding: fix ad_actor_system option setting to default
  qlcnic: potential dereference null pointer of rx_queue->page_ring
  IB/qib: Fix memory leak in qib_user_sdma_queue_pkts()
  HID: holtek: fix mouse probing
  can: kvaser_usb: get CAN clock frequency from device
  net: usb: lan78xx: add Allied Telesis AT29M2-AF
  Linux 4.9.294
  xen/netback: don't queue unlimited number of packages
  xen/netback: fix rx queue stall detection
  xen/console: harden hvc_xen against event channel storms
  xen/netfront: harden netfront against event channel storms
  xen/blkfront: harden blkfront against event channel storms
  Input: touchscreen - avoid bitwise vs logical OR warning
  mwifiex: Remove unnecessary braces from HostCmd_SET_SEQ_NO_BSS_INFO
  ARM: 8805/2: remove unneeded naked function usage
  net: lan78xx: Avoid unnecessary self assignment
  scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select()
  fuse: annotate lock in fuse_reverse_inval_entry()
  firmware: arm_scpi: Fix string overflow in SCPI genpd driver
  net: systemport: Add global locking for descriptor lifecycle
  timekeeping: Really make sure wall_to_monotonic isn't positive
  USB: serial: option: add Telit FN990 compositions
  PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error
  USB: gadget: bRequestType is a bitfield, not a enum
  ixgbe: set X550 MDIO speed before talking to PHY
  igbvf: fix double free in `igbvf_probe`
  soc/tegra: fuse: Fix bitwise vs. logical OR warning
  nfsd: fix use-after-free due to delegation race
  dm btree remove: fix use after free in rebalance_children()
  recordmcount.pl: look for jgnop instruction as well as bcrl on s390
  mac80211: send ADDBA requests using the tid/queue of the aggregation session
  hwmon: (dell-smm) Fix warning on /proc/i8k creation error
  tracing: Fix a kmemleak false positive in tracing_map
  net: netlink: af_netlink: Prevent empty skb by adding a check on len.
  i2c: rk3x: Handle a spurious start completion interrupt flag
  parisc/agp: Annotate parisc agp init functions with __init
  net/mlx4_en: Update reported link modes for 1/10G
  nfc: fix segfault in nfc_genl_dump_devices_done
  FROMGIT: USB: gadget: bRequestType is a bitfield, not a enum
  Linux 4.9.293
  irqchip: nvic: Fix offset for Interrupt Priority Offsets
  irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
  irqchip/armada-370-xp: Fix support for Multi-MSI interrupts
  irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()
  iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove
  iio: itg3200: Call iio_trigger_notify_done() on error
  iio: kxsd9: Don't return error code in trigger handler
  iio: ltr501: Don't return error code in trigger handler
  iio: mma8452: Fix trigger reference couting
  iio: stk3310: Don't return error code in interrupt handler
  usb: core: config: using bit mask instead of individual bits
  usb: core: config: fix validation of wMaxPacketValue entries
  USB: gadget: zero allocate endpoint 0 buffers
  USB: gadget: detect too-big endpoint 0 requests
  net/qla3xxx: fix an error code in ql_adapter_up()
  net, neigh: clear whole pneigh_entry at alloc time
  net: fec: only clear interrupt of handling queue in fec_enet_rx_queue()
  net: altera: set a couple error code in probe()
  net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero
  block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2)
  tracefs: Set all files to the same group ownership as the mount option
  signalfd: use wake_up_pollfree()
  binder: use wake_up_pollfree()
  wait: add wake_up_pollfree()
  libata: add horkage for ASMedia 1092
  can: pch_can: pch_can_rx_normal: fix use after free
  tracefs: Have new files inherit the ownership of their parent
  ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*()
  ALSA: pcm: oss: Limit the period size to 16MB
  ALSA: pcm: oss: Fix negative period/buffer sizes
  ALSA: ctl: Fix copy of updated id with element read/write
  mm: bdi: initialize bdi_min_ratio when bdi is unregistered
  IB/hfi1: Correct guard on eager buffer deallocation
  nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done
  can: sja1000: fix use after free in ems_pcmcia_add_card()
  HID: check for valid USB device for many HID drivers
  HID: wacom: fix problems when device is not a valid USB device
  HID: add USB_HID dependancy on some USB HID drivers
  HID: add USB_HID dependancy to hid-chicony
  HID: add USB_HID dependancy to hid-prodikeys
  HID: add hid_is_usb() function to make it simpler for USB detection
  HID: introduce hid_is_using_ll_driver
  UPSTREAM: USB: gadget: zero allocate endpoint 0 buffers
  UPSTREAM: USB: gadget: detect too-big endpoint 0 requests

 Conflicts:
	arch/arm64/include/asm/cputype.h
	arch/arm64/kernel/bpi.S
	arch/arm64/kernel/cpu_errata.c
	arch/arm64/kernel/vdso.c
	drivers/clk/qcom/clk-rcg2.c
	drivers/media/dvb-core/dmxdev.c
	drivers/mmc/core/host.c
	drivers/net/usb/lan78xx.c
	drivers/staging/android/ion/ion-ioctl.c
	drivers/staging/android/ion/ion.c
	drivers/staging/android/ion/ion_priv.h
	drivers/usb/gadget/composite.c
	drivers/usb/gadget/function/rndis.c
	drivers/usb/gadget/function/rndis.h
	lib/vsprintf.c
	mm/memory.c
	net/ipv6/ip6_output.c

Change-Id: Ie8bf6aa5dac3ae822cef90decbba577cefedcb31
2022-05-09 16:57:36 +03:00
Greg Kroah-Hartman
f5c4d2614c Merge 4.9.311 into android-4.9-q
Changes in 4.9.311
	USB: serial: pl2303: add IBM device IDs
	USB: serial: simple: add Nokia phone driver
	netdevice: add the case if dev is NULL
	virtio_console: break out of buf poll on remove
	ethernet: sun: Free the coherent when failing in probing
	af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
	block: Add a helper to validate the block size
	virtio-blk: Use blk_validate_block_size() to validate block size
	USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
	coresight: Fix TRCCONFIGR.QE sysfs interface
	iio: inkern: apply consumer scale on IIO_VAL_INT cases
	iio: inkern: make a best effort on offset calculation
	clk: uniphier: Fix fixed-rate initialization
	ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
	SUNRPC: avoid race between mod_timer() and del_timer_sync()
	NFSD: prevent underflow in nfssvc_decode_writeargs()
	can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
	jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
	jffs2: fix memory leak in jffs2_do_mount_fs
	jffs2: fix memory leak in jffs2_scan_medium
	mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
	mempolicy: mbind_range() set_policy() after vma_merge()
	scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
	Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
	ALSA: cs4236: fix an incorrect NULL check on list iterator
	drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
	video: fbdev: sm712fb: Fix crash in smtcfb_read()
	video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
	ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
	ARM: dts: exynos: add missing HDMI supplies on SMDK5250
	ARM: dts: exynos: add missing HDMI supplies on SMDK5420
	carl9170: fix missing bit-wise or operator for tx_params
	thermal: int340x: Increase bitmap size
	lib/raid6/test: fix multiple definition linking error
	DEC: Limit PMAX memory probing to R3k systems
	media: davinci: vpif: fix unbalanced runtime PM get
	brcmfmac: firmware: Allocate space for default boardrev in nvram
	brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
	PCI: pciehp: Clear cmd_busy bit in polling mode
	crypto: authenc - Fix sleep in atomic context in decrypt_tail
	crypto: mxs-dcp - Fix scatterlist processing
	spi: tegra114: Add missing IRQ check in tegra_spi_probe
	selftests/x86: Add validity check and allow field splitting
	hwmon: (pmbus) Add mutex to regulator ops
	hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
	PM: hibernate: fix __setup handler error handling
	PM: suspend: fix return value of __setup handler
	crypto: vmx - add missing dependencies
	crypto: ccp - ccp_dmaengine_unregister release dma channels
	hwmon: (pmbus) Add Vin unit off handling
	clocksource: acpi_pm: fix return value of __setup handler
	sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
	perf/core: Fix address filter parser for multiple filters
	perf/x86/intel/pt: Fix address filter config for 32-bit kernel
	video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
	video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
	ARM: dts: qcom: ipq4019: fix sleep clock
	soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
	media: usb: go7007: s2250-board: fix leak in probe()
	ASoC: ti: davinci-i2s: Add check for clk_enable()
	ALSA: spi: Add check for clk_enable()
	arm64: dts: ns2: Fix spi-cpol and spi-cpha property
	arm64: dts: broadcom: Fix sata nodename
	printk: fix return value of printk.devkmsg __setup handler
	ASoC: mxs-saif: Handle errors for clk_enable
	ASoC: atmel_ssc_dai: Handle errors for clk_enable
	memory: emif: Add check for setup_interrupts
	memory: emif: check the pointer temp in get_device_details()
	ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
	ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
	ASoC: wm8350: Handle error for wm8350_register_irq
	ASoC: fsi: Add check for clk_enable
	video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
	ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
	ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
	ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
	mtd: onenand: Check for error irq
	drm/edid: Don't clear formats if using deep color
	ath9k_htc: fix uninit value bugs
	ray_cs: Check ioremap return value
	power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
	HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
	iwlwifi: Fix -EIO error code that is never returned
	scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
	scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
	scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
	scsi: pm8001: Fix abort all task initialization
	TOMOYO: fix __setup handlers return values
	ext2: correct max file size computing
	drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
	KVM: x86: Fix emulation in writing cr8
	KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
	i2c: xiic: Make bus names unique
	power: supply: wm8350-power: Handle error for wm8350_register_irq
	power: supply: wm8350-power: Add missing free in free_charger_irq
	powerpc/sysdev: fix incorrect use to determine if list is empty
	mfd: mc13xxx: Add check for mc13xxx_irq_request
	MIPS: RB532: fix return value of __setup handler
	USB: storage: ums-realtek: fix error code in rts51x_read_mem()
	af_netlink: Fix shift out of bounds in group mask calculation
	i2c: mux: demux-pinctrl: do not deactivate a master that is not active
	mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
	mxser: fix xmit_buf leak in activate when LSR == 0xff
	pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
	iio: adc: Add check for devm_request_threaded_irq
	clk: qcom: clk-rcg2: Update the frac table for pixel clock
	remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
	clk: loongson1: Terminate clk_div_table with sentinel element
	clk: clps711x: Terminate clk_div_table with sentinel element
	clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
	NFS: remove unneeded check in decode_devicenotify_args()
	pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
	pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
	pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
	tty: hvc: fix return value of __setup handler
	kgdboc: fix return value of __setup handler
	kgdbts: fix return value of __setup handler
	jfs: fix divide error in dbNextAG
	netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
	net: phy: broadcom: Fix brcm_fet_config_init()
	qlcnic: dcb: default to returning -EOPNOTSUPP
	net/x25: Fix null-ptr-deref caused by x25_disconnect
	selinux: use correct type for context length
	loop: use sysfs_emit() in the sysfs xxx show()
	Fix incorrect type in assignment of ipv6 port for audit
	irqchip/nvic: Release nvic_base upon failure
	ACPICA: Avoid walking the ACPI Namespace if it is not there
	ACPI/APEI: Limit printable size of BERT table data
	PM: core: keep irq flags in device_pm_check_callbacks()
	spi: tegra20: Use of_device_get_match_data()
	ext4: don't BUG if someone dirty pages without asking ext4 first
	ntfs: add sanity check on allocation size
	video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
	video: fbdev: w100fb: Reset global state
	video: fbdev: cirrusfb: check pixclock to avoid divide by zero
	video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
	ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
	ARM: dts: bcm2837: Add the missing L1/L2 cache information
	video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
	video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
	ASoC: soc-core: skip zero num_dai component in searching dai name
	media: cx88-mpeg: clear interrupt status register before streaming video
	ARM: tegra: tamonten: Fix I2C3 pad setting
	ARM: mmp: Fix failure to remove sram device
	video: fbdev: sm712fb: Fix crash in smtcfb_write()
	media: hdpvr: initialize dev->worker at hdpvr_register_videodev
	mmc: host: Return an error when ->enable_sdio_irq() ops is missing
	scsi: qla2xxx: Fix incorrect reporting of task management failure
	KVM: Prevent module exit until all VMs are freed
	ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
	ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
	gfs2: Make sure FITRIM minlen is rounded up to fs block size
	pinctrl: pinconf-generic: Print arguments for bias-pull-*
	ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
	mm/mmap: return 1 from stack_guard_gap __setup() handler
	mm/memcontrol: return 1 from cgroup.memory __setup() handler
	ubi: fastmap: Return error code if memory allocation fails in add_aeb()
	ASoC: topology: Allow TLV control to be either read or write
	ARM: dts: spear1340: Update serial node properties
	ARM: dts: spear13xx: Update SPI dma properties
	openvswitch: Fixed nd target mask field in the flow dump.
	KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
	rtc: wm8350: Handle error for wm8350_register_irq
	ARM: 9187/1: JIVE: fix return value of __setup handler
	KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs
	ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111
	ptp: replace snprintf with sysfs_emit
	powerpc: dts: t104xrdb: fix phy type for FMAN 4/5
	scsi: mvsas: Replace snprintf() with sysfs_emit()
	scsi: bfa: Replace snprintf() with sysfs_emit()
	iommu/arm-smmu-v3: fix event handling soft lockup
	dm ioctl: prevent potential spectre v1 gadget
	scsi: pm8001: Fix pm8001_mpi_task_abort_resp()
	scsi: aha152x: Fix aha152x_setup() __setup handler return value
	bnxt_en: Eliminate unintended link toggle during FW reset
	MIPS: fix fortify panic when copying asm exception handlers
	scsi: libfc: Fix use after free in fc_exch_abts_resp()
	usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm
	xtensa: fix DTC warning unit_address_format
	Bluetooth: Fix use after free in hci_send_acl
	init/main.c: return 1 from handled __setup() functions
	w1: w1_therm: fixes w1_seq for ds28ea00 sensors
	SUNRPC/call_alloc: async tasks mustn't block waiting for memory
	serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()
	virtio_console: eliminate anonymous module_init & module_exit
	jfs: prevent NULL deref in diFree
	mm: fix race between MADV_FREE reclaim and blkdev direct IO read
	scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()
	net: stmmac: Fix unset max_speed difference between DT and non-DT platforms
	drm/imx: Fix memory leak in imx_pd_connector_get_modes
	drbd: Fix five use after free bugs in get_initial_state
	mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
	mm/mempolicy: fix mpol_new leak in shared_policy_replace
	x86/pm: Save the MSR validity status at context setup
	x86/speculation: Restore speculation related MSRs during S3 resume
	arm64: patch_text: Fixup last cpu should be master
	tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
	dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"
	mm: don't skip swap entry even if zap_details specified
	arm64: module: remove (NOLOAD) from linker script
	xfrm: policy: match with both mark and mask on user interfaces
	veth: Ensure eth header is in skb's linear part
	net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link
	nfc: nci: add flush_workqueue to prevent uaf
	cifs: potential buffer overflow in handling symlinks
	drm/amdkfd: Check for potential null return of kmalloc_array()
	scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024
	net: micrel: fix KS8851_MLL Kconfig
	gpu: ipu-v3: Fix dev_dbg frequency output
	scsi: mvsas: Add PCI ID of RocketRaid 2640
	drivers: net: slip: fix NPD bug in sl_tx_timeout()
	mm, page_alloc: fix build_zonerefs_node()
	mm: kmemleak: take a full lowmem check in kmemleak_*_phys()
	ALSA: pcm: Test for "silence" field in struct "pcm_format_data"
	ARM: davinci: da850-evm: Avoid NULL pointer dereference
	smp: Fix offline cpu check in flush_smp_call_function_queue()
	i2c: pasemi: Wait for write xfers to finish
	gcc-plugins: latent_entropy: use /dev/urandom
	Linux 4.9.311

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia8f55c5ae2f0eb71b0893d8271a10dfd3c78b3b8
2022-04-21 14:01:02 +02:00
Xie Yongji
35076e0847 block: Add a helper to validate the block size
commit 570b1cac477643cbf01a45fa5d018430a1fddbce upstream.

There are some duplicated codes to validate the block
size in block drivers. This limitation actually comes
from block layer, so this patch tries to add a new block
layer helper for that.

Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Link: https://lore.kernel.org/r/20211026144015.188-2-xieyongji@bytedance.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-20 09:06:28 +02:00
lucaswei
bac74c1ae4 Merge android-4.9-q (4.9.237) into android-msm-pixel-4.9-lts
Merge 4.9.237 into android-4.9-q
Linux 4.9.237
    x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
    powerpc/dma: Fix dma_map_ops::get_required_mask
    ehci-hcd: Move include to keep CRC stable
    serial: 8250_pci: Add Realtek 816a and 816b
    Input: i8042 - add Entroware Proteus EL07R4 to nomux and reset lists
    usblp: fix race between disconnect() and read()
    USB: UAS: fix disconnect by unplugging a hub
  * USB: quirks: Add USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk for BYD zhaoxin notebook
      drivers/usb/core/quirks.c
    drm/mediatek: Add exception handing in mtk_drm_probe() if component init fail
    MIPS: SNI: Fix spurious interrupts
    fbcon: Fix user font detection test at fbcon_resize().
    perf test: Free formats for perf pmu parse test
    MIPS: SNI: Fix MIPS_L1_CACHE_SHIFT
    Drivers: hv: vmbus: Add timeout to vmbus_wait_for_unload
    clk: rockchip: Fix initialization of mux_pll_src_4plls_p
    i2c: algo: pca: Reapply i2c bus settings after reset
    rapidio: Replace 'select' DMAENGINES 'with depends on'
    SUNRPC: stop printk reading past end of string
    spi: spi-loopback-test: Fix out-of-bounds read
    scsi: lpfc: Fix FLOGI/PLOGI receive race condition in pt2pt discovery
    scsi: pm8001: Fix memleak in pm8001_exec_internal_task_abort
    NFSv4.1 handle ERR_DELAY error reclaiming locking state on delegation recall
  * net: handle the return value of pskb_carve_frag_list() correctly
      net/core/skbuff.c
  * gcov: add support for GCC 10.1
      kernel/gcov/Kconfig
    RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars
    IB/rxe: Remove a pointless indirection layer
  * usb: Fix out of sync data toggle if a configured device is reconfigured
      drivers/usb/core/message.c
    USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules
    USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter
  * usb: core: fix slab-out-of-bounds Read in read_descriptors
      drivers/usb/core/sysfs.c
    staging: greybus: audio: fix uninitialized value issue
    video: fbdev: fix OOB read in vga_8planes_imageblit()
    KVM: VMX: Don't freeze guest when event delivery causes an APIC-access exit
  * vgacon: remove software scrollback support
      drivers/video/console/Kconfig
    fbcon: remove now unusued 'softback_lines' cursor() argument
    fbcon: remove soft scrollback code
    rbd: require global CAP_SYS_ADMIN for mapping and unmapping
    scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem
    scsi: target: iscsi: Fix data digest calculation
  * regulator: push allocation in set_consumer_device_supply() out of lock
      drivers/regulator/core.c
    btrfs: fix wrong address when faulting in pages in the search ioctl
    staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb()
  * USB: core: add helpers to retrieve endpoints
      drivers/usb/core/usb.c
      include/linux/usb.h
    iio:accel:mma8452: Fix timestamp alignment and prevent data leak.
    iio:accel:mma7455: Fix timestamp alignment and prevent data leak.
    iio: accel: kxsd9: Fix alignment of local buffer.
    iio:light:max44000 Fix timestamp alignment and prevent data leak.
    iio:magnetometer:ak8975 Fix alignment and data leak issues.
    drivers: iio: magnetometer: Fix sparse endianness warnings cast to restricted __be16
    iio:adc:ti-adc081c Fix alignment and data leak issues
    iio:adc:ina2xx Fix timestamp alignment issue.
    iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak.
    iio:light:ltr501 Fix timestamp alignment issue.
    iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set
    iio: adc: mcp3422: fix locking on error path
    iio: adc: mcp3422: fix locking scope
  * gcov: Disable gcov build with GCC 10
      kernel/gcov/Kconfig
    ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled
    drivers/net/wan/hdlc_cisco: Add hard_header_len
    irqchip/eznps: Fix build error for !ARC700 builds
    xfs: initialize the shortform attr header padding entry
    drivers/net/wan/lapbether: Set network_header before transmitting
    ALSA: hda: Fix 2 channel swapping for Tegra
    firestream: Fix memleak in fs_open
    NFC: st95hf: Fix memleak in st95hf_in_send_cmd
    drivers/net/wan/lapbether: Added needed_tailroom
    scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA
    RDMA/rxe: Drop pointless checks in rxe_init_ports
    RDMA/rxe: Fix memleak in rxe_mem_init_user
    ARM: dts: socfpga: fix register entry for timer3 on Arria10
    Merge 4.9.236 into android-4.9-q
Linux 4.9.236
  * net: disable netpoll on fresh napis
      net/core/dev.c
    sctp: not disable bh in the whole sctp_get_port_local()
    net: usb: dm9601: Add USB ID of Keenetic Plus DSL
  * netlabel: fix problems with mapping removal
      net/netlabel/netlabel_domainhash.c
    bnxt: don't enable NAPI until rings are ready
    net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
    affs: fix basic permission bits to actually work
    fs/affs: use octal for permissions
    ALSA; firewire-tascam: exclude Tascam FE-8 from detection
  * net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
      drivers/net/usb/asix_common.c
  * cfg80211: regulatory: reject invalid hints
      net/wireless/reg.c
    mm/hugetlb: fix a race between hugetlb sysctl handlers
    checkpatch: fix the usage of capture group ( ... )
    vfio/pci: Fix SR-IOV VF handling with MMIO blocking
  * net: initialize fastreuse on inet_inherit_port
      net/ipv4/inet_hashtables.c
  * net: refactor bind_bucket fastreuse into helper
      include/net/inet_connection_sock.h
      net/ipv4/inet_connection_sock.c
  * KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
      arch/arm64/include/asm/kvm_arm.h
  * KVM: arm64: Survive synchronous exceptions caused by AT instructions
      arch/arm64/include/asm/kvm_asm.h
    KVM: arm64: Defer guest entry when an asynchronous exception is pending
  * KVM: arm64: Add kvm_extable for vaxorcism code
      arch/arm64/include/asm/kvm_asm.h
      arch/arm64/kernel/vmlinux.lds.S
    vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
    vfio-pci: Fault mmaps to enable vma tracking
    vfio/type1: Support faulting PFNMAP vmas
  * mm: slub: fix conversion of freelist_corrupted()
      mm/slub.c
    dm thin metadata: Avoid returning cmd->bm wild pointer on error
    dm cache metadata: Avoid returning cmd->bm wild pointer on error
    libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
  * block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
      drivers/block/brd.c
      drivers/block/zram/zram_drv.h
      include/linux/blkdev.h
      include/linux/device-mapper.h
      include/uapi/linux/msdos_fs.h
  * block: allow for_each_bvec to support zero len bvec
      include/linux/bvec.h
    ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
    ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
    ALSA: ca0106: fix error code handling
    usb: qmi_wwan: add D-Link DWM-222 A2 device ID
    qmi_wwan: new Telewell and Sierra device IDs
    drivers: net: usb: qmi_wwan: add QMI_QUIRK_SET_DTR for Telit PID 0x1201
    net: usb: qmi_wwan: add Telit 0x1050 composition
    btrfs: fix potential deadlock in the search ioctl
  * uaccess: Add non-pagefault user-space write function
      include/linux/uaccess.h
      mm/maccess.c
  * uaccess: Add non-pagefault user-space read functions
      include/linux/uaccess.h
      mm/maccess.c
    btrfs: set the lockdep class for log tree extent buffers
    btrfs: Remove extraneous extent_buffer_get from tree_mod_log_rewind
    btrfs: Remove redundant extent_buffer_get in get_old_root
    btrfs: drop path before adding new uuid tree entry
  * include/linux/log2.h: add missing () around n in roundup_pow_of_two()
      include/linux/log2.h
    thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
    iommu/vt-d: Serialize IOMMU GCMD register modifications
    tg3: Fix soft lockup when tg3_reset_task() fails.
  * fix regression in "epoll: Keep a reference on files added to the check list"
      fs/eventpoll.c
    bnxt_en: Fix PCI AER error recovery flow
    bnxt_en: Check for zero dir entries in NVRAM.
    dmaengine: pl330: Fix burst length if burst size is smaller than bus width
    net: arc_emac: Fix memleak in arc_mdio_probe
    ravb: Fixed to be able to unload modules
    net: hns: Fix memleak in hns_nic_dev_probe
    netfilter: nf_tables: fix destination register zeroing
    netfilter: nf_tables: incorrect enum nft_list_attributes definition
    netfilter: nf_tables: add NFTA_SET_USERDATA if not null
    MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
    MIPS: mm: BMIPS5000 has inclusive physical caches
    dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()
    batman-adv: bla: use netif_rx_ni when not in interrupt context
    batman-adv: Avoid uninitialized chaddr when handling DHCP
  * dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
      drivers/dma/of-dma.c
    xen/xenbus: Fix granting of vmalloc'd memory
    s390: don't trace preemption in percpu macros
    ceph: don't allow setlease on cephfs
    nvmet: Disable keep-alive timer when kato is cleared to 0h
    hwmon: (applesmc) check status earlier.
    perf record/stat: Explicitly call out event modifiers in the documentation
  * HID: core: Sanitize event code and type when mapping input
      drivers/hid/hid-input.c
      drivers/hid/hid-multitouch.c
      include/linux/hid.h
  * HID: core: Correctly handle ReportSize being zero
      drivers/hid/hid-core.c
  * ANDROID: overflow.h: fix merge issue with 4.9.235
      include/linux/overflow.h
    Merge 4.9.235 into android-4.9-q
Linux 4.9.235
  * ALSA: usb-audio: Update documentation comment for MS2109 quirk
      sound/usb/quirks-table.h
  * HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
      drivers/hid/usbhid/hiddev.c
    btrfs: check the right error variable in btrfs_del_dir_entries_in_log
    usb: storage: Add unusual_uas entry for Sony PSZ drives
  * USB: gadget: u_f: Unbreak offset calculation in VLAs
      drivers/usb/gadget/u_f.h
    USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
  * USB: gadget: u_f: add overflow checks to VLA macros
      drivers/usb/gadget/u_f.h
  * overflow.h: Add allocation size calculation helpers
      drivers/md/dm-table.c
      include/linux/overflow.h
    usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
  * USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
      drivers/usb/storage/unusual_devs.h
  * USB: quirks: Add no-lpm quirk for another Raydium touchscreen
      drivers/usb/core/quirks.c
    usb: uas: Add quirk for PNY Pro Elite
    USB: yurex: Fix bad gfp argument
  * device property: Fix the secondary firmware node handling in set_primary_fwnode()
      drivers/base/core.c
  * PM: sleep: core: Fix the handling of pending runtime resume requests
      drivers/base/power/main.c
  * xhci: Do warm-reset when both CAS and XDEV_RESUME are set
      drivers/usb/host/xhci-hub.c
    XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
  * writeback: Fix sync livelock due to b_dirty_time processing
      fs/fs-writeback.c
      include/trace/events/writeback.h
  * writeback: Avoid skipping inode writeback
      fs/fs-writeback.c
      include/linux/fs.h
  * writeback: Protect inode->i_io_list with inode->i_lock
      fs/fs-writeback.c
    serial: 8250: change lock order in serial8250_do_startup()
    serial: pl011: Don't leak amba_ports entry on driver register error
    serial: pl011: Fix oops on -EPROBE_DEFER
    serial: samsung: Removes the IRQ not found warning
  * vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
      drivers/tty/vt/vt_ioctl.c
  * vt: defer kfree() of vc_screenbuf in vc_do_resize()
      drivers/tty/vt/vt.c
  * USB: lvtest: return proper error code in probe
      drivers/usb/misc/lvstest.c
    fbcon: prevent user font height or width change from causing potential out-of-bounds access
    btrfs: fix space cache memory leak after transaction abort
    HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
    powerpc/perf: Fix soft lockups due to missed interrupt accounting
    net: gianfar: Add of_node_put() before goto statement
  * scsi: ufs: Improve interrupt handling for shared interrupts
      drivers/scsi/ufs/ufshcd.c
  * scsi: ufs: Fix possible infinite loop in ufshcd_hold
      drivers/scsi/ufs/ufshcd.c
    s390/cio: add cond_resched() in the slow_eval_known_fn() loop
  * fs: prevent BUG_ON in submit_bh_wbc()
      fs/buffer.c
      fs/ext4/super.c
  * jbd2: abort journal if free a async write error metadata buffer
      fs/jbd2/transaction.c
  * jbd2: make sure jh have b_transaction set in refile/unfile_buffer
      fs/jbd2/transaction.c
    usb: gadget: f_tcm: Fix some resource leaks in some error paths
    i2c: rcar: in slave mode, clear NACK earlier
    Revert "ath10k: fix DMA related firmware crashes on multiple devices"
  * efi: provide empty efi_enter_virtual_mode implementation
      include/linux/efi.h
    USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
    powerpc/spufs: add CONFIG_COREDUMP dependency
    KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
    media: davinci: vpif_capture: fix potential double free
    EDAC/ie31200: Fallback if host bridge device is already initialized
    scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
    ceph: fix potential mdsc use-after-free crash
    scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
    locking/lockdep: Fix overflow in presentation of average lock-time
    drm/nouveau: Fix reference count leak in nouveau_connector_detect
    drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
    cec-api: prevent leaking memory through hole in structure
    mips/vdso: Fix resource leaks in genvdso.c
    rtlwifi: rtl8192cu: Prevent leaking urb
  * PCI: Fix pci_create_slot() reference count leak
      drivers/pci/slot.c
    omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
    selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
    scsi: lpfc: Fix shost refcount mismatch when deleting vport
    drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
    drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
    drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
    drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
    drm/radeon: fix multiple reference count leak
    drm/amdkfd: Fix reference count leaks.
  * iommu/iova: Don't BUG on invalid PFNs
      drivers/iommu/iova.c
    scsi: target: tcmu: Fix crash on ARM during cmd completion
    media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
    arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
    ASoC: tegra: Fix reference count leaks.
    ALSA: pci: delete repeated words in comments
  * gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
      net/ipv6/ip6_tunnel.c
    ipvlan: fix device features
    tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
  * net: Fix potential wrong skb->protocol in skb_vlan_untag()
      net/core/skbuff.c
  * bonding: show saner speed for broadcast mode
      drivers/net/bonding/bond_main.c
  * bonding: fix a potential double-unregister
      drivers/net/bonding/bond_main.c

Change-Id: Ic5e975d213782585fedbf8a5869b9b0aaad0bf66
Signed-off-by: lucaswei <lucaswei@google.com>
2020-10-20 17:40:55 +08:00
Greg Kroah-Hartman
0e53dcf91d Merge 4.9.236 into android-4.9-q
Changes in 4.9.236
	HID: core: Correctly handle ReportSize being zero
	HID: core: Sanitize event code and type when mapping input
	perf record/stat: Explicitly call out event modifiers in the documentation
	hwmon: (applesmc) check status earlier.
	nvmet: Disable keep-alive timer when kato is cleared to 0h
	ceph: don't allow setlease on cephfs
	s390: don't trace preemption in percpu macros
	xen/xenbus: Fix granting of vmalloc'd memory
	dmaengine: of-dma: Fix of_dma_router_xlate's of_dma_xlate handling
	batman-adv: Avoid uninitialized chaddr when handling DHCP
	batman-adv: bla: use netif_rx_ni when not in interrupt context
	dmaengine: at_hdmac: check return value of of_find_device_by_node() in at_dma_xlate()
	MIPS: mm: BMIPS5000 has inclusive physical caches
	MIPS: BMIPS: Also call bmips_cpu_setup() for secondary cores
	netfilter: nf_tables: add NFTA_SET_USERDATA if not null
	netfilter: nf_tables: incorrect enum nft_list_attributes definition
	netfilter: nf_tables: fix destination register zeroing
	net: hns: Fix memleak in hns_nic_dev_probe
	ravb: Fixed to be able to unload modules
	net: arc_emac: Fix memleak in arc_mdio_probe
	dmaengine: pl330: Fix burst length if burst size is smaller than bus width
	bnxt_en: Check for zero dir entries in NVRAM.
	bnxt_en: Fix PCI AER error recovery flow
	fix regression in "epoll: Keep a reference on files added to the check list"
	tg3: Fix soft lockup when tg3_reset_task() fails.
	iommu/vt-d: Serialize IOMMU GCMD register modifications
	thermal: ti-soc-thermal: Fix bogus thermal shutdowns for omap4430
	include/linux/log2.h: add missing () around n in roundup_pow_of_two()
	btrfs: drop path before adding new uuid tree entry
	btrfs: Remove redundant extent_buffer_get in get_old_root
	btrfs: Remove extraneous extent_buffer_get from tree_mod_log_rewind
	btrfs: set the lockdep class for log tree extent buffers
	uaccess: Add non-pagefault user-space read functions
	uaccess: Add non-pagefault user-space write function
	btrfs: fix potential deadlock in the search ioctl
	net: usb: qmi_wwan: add Telit 0x1050 composition
	drivers: net: usb: qmi_wwan: add QMI_QUIRK_SET_DTR for Telit PID 0x1201
	qmi_wwan: new Telewell and Sierra device IDs
	usb: qmi_wwan: add D-Link DWM-222 A2 device ID
	ALSA: ca0106: fix error code handling
	ALSA: pcm: oss: Remove superfluous WARN_ON() for mulaw sanity check
	ALSA: firewire-digi00x: exclude Avid Adrenaline from detection
	block: allow for_each_bvec to support zero len bvec
	block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
	libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
	dm cache metadata: Avoid returning cmd->bm wild pointer on error
	dm thin metadata: Avoid returning cmd->bm wild pointer on error
	mm: slub: fix conversion of freelist_corrupted()
	vfio/type1: Support faulting PFNMAP vmas
	vfio-pci: Fault mmaps to enable vma tracking
	vfio-pci: Invalidate mmaps and block MMIO access on disabled memory
	KVM: arm64: Add kvm_extable for vaxorcism code
	KVM: arm64: Defer guest entry when an asynchronous exception is pending
	KVM: arm64: Survive synchronous exceptions caused by AT instructions
	KVM: arm64: Set HCR_EL2.PTW to prevent AT taking synchronous exception
	net: refactor bind_bucket fastreuse into helper
	net: initialize fastreuse on inet_inherit_port
	vfio/pci: Fix SR-IOV VF handling with MMIO blocking
	checkpatch: fix the usage of capture group ( ... )
	mm/hugetlb: fix a race between hugetlb sysctl handlers
	cfg80211: regulatory: reject invalid hints
	net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
	ALSA; firewire-tascam: exclude Tascam FE-8 from detection
	fs/affs: use octal for permissions
	affs: fix basic permission bits to actually work
	net: ethernet: mlx4: Fix memory allocation in mlx4_buddy_init()
	bnxt: don't enable NAPI until rings are ready
	netlabel: fix problems with mapping removal
	net: usb: dm9601: Add USB ID of Keenetic Plus DSL
	sctp: not disable bh in the whole sctp_get_port_local()
	net: disable netpoll on fresh napis
	Linux 4.9.236

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I707909fadc45a09f6ecdacb81a294421af163664
2020-09-12 14:07:40 +02:00
Bart Van Assche
d24c407b0f block: Move SECTOR_SIZE and SECTOR_SHIFT definitions into <linux/blkdev.h>
commit 233bde21aa43516baa013ef7ac33f3427056db3e upstream.

It happens often while I'm preparing a patch for a block driver that
I'm wondering: is a definition of SECTOR_SIZE and/or SECTOR_SHIFT
available for this driver? Do I have to introduce definitions of these
constants before I can use these constants? To avoid this confusion,
move the existing definitions of SECTOR_SIZE and SECTOR_SHIFT into the
<linux/blkdev.h> header file such that these become available for all
block drivers. Make the SECTOR_SIZE definition in the uapi msdos_fs.h
header file conditional to avoid that including that header file after
<linux/blkdev.h> causes the compiler to complain about a SECTOR_SIZE
redefinition.

Note: the SECTOR_SIZE / SECTOR_SHIFT / SECTOR_BITS definitions have
not been removed from uapi header files nor from NAND drivers in
which these constants are used for another purpose than converting
block layer offsets and sizes into a number of sectors.

Cc: David S. Miller <davem@davemloft.net>
Cc: Mike Snitzer <snitzer@redhat.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-09-12 11:47:36 +02:00
lucaswei
ec98b24735 Merge android-4.9-q (4.9.228) into android-msm-pixel-4.9-lts
Merge 4.9.228 into android-4.9-q
Linux 4.9.228
    perf symbols: Fix debuginfo search for Ubuntu
    perf probe: Do not show the skipped events
    w1: omap-hdq: cleanup to add missing newline for some dev_dbg
    mtd: rawnand: pasemi: Fix the probe error path
    mtd: rawnand: brcmnand: fix hamming oob layout
  * sunrpc: clean up properly in gss_mech_unregister()
      include/linux/sunrpc/gss_api.h
    sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
  * kbuild: force to build vmlinux if CONFIG_MODVERSION=y
      Makefile
    drivers/macintosh: Fix memleak in windfarm_pm112 driver
    ARM: tegra: Correct PL310 Auxiliary Control Register initialization
  * kernel/cpu_pm: Fix uninitted local in cpu_pm
      kernel/cpu_pm.c
    sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()
    sparc32: fix register window handling in genregs32_[gs]et()
    pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
    power: vexpress: add suppress_bind_attrs to true
    igb: Report speed and duplex as unknown when device is runtime suspended
    b43_legacy: Fix connection problem with WPA3
    b43: Fix connection problem with WPA3
    b43legacy: Fix case where channel status is corrupted
    media: go7007: fix a miss of snd_card_free
    carl9170: remove P2P_GO support
    e1000e: Relax condition to trigger reset for ME workaround
  * PCI: Program MPS for RCiEP devices
      drivers/pci/probe.c
  * blk-mq: move blk_mq_update_nr_hw_queues synchronize_rcu call
      block/blk-mq.c
    btrfs: fix error handling when submitting direct I/O bio
  * ext4: fix race between ext4_sync_parent() and rename()
      fs/ext4/fsync.c
  * ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max
      fs/ext4/ext4_extents.h
    evm: Fix possible memory leak in evm_calc_hmac_or_hash()
    ima: Directly assign the ima_default_policy pointer to ima_rules
    ima: Fix ima digest hash table key calculation
    mm: thp: make the THP mapcount atomic against __split_huge_pmd_locked()
    btrfs: send: emit file capabilities after chown
  * cpuidle: Fix three reference count leaks
      drivers/cpuidle/sysfs.c
    spi: dw: Return any value retrieved from the dma_transfer callback
    mmc: sdhci-esdhc-imx: fix the mask for tuning start point
    ixgbe: fix signed-integer-overflow warning
    staging: greybus: sdio: Respect the cmd->busy_timeout from the mmc core
    MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()
  * PCI: Don't disable decoding when mmio_always_on is set
      drivers/pci/probe.c
    macvlan: Skip loopback packets in RX handler
    m68k: mac: Don't call via_flush_cache() on Mac IIfx
    x86/mm: Stop printing BRK addresses
    mips: Add udelay lpj numbers adjustment
    x86/boot: Correct relocation destination on old linkers
    mwifiex: Fix memory corruption in dump_station
    rtlwifi: Fix a double free in _rtl_usb_tx_urb_setup()
    md: don't flush workqueue unconditionally in md_open
  * kgdb: Fix spurious true from in_dbg_master()
      include/linux/kgdb.h
    mips: cm: Fix an invalid error code of INTVN_*_ERR
    MIPS: Truncate link address into 32bit for 32bit kernel
    powerpc/spufs: fix copy_to_user while atomic
    net: allwinner: Fix use correct return type for ndo_start_xmit()
    net: lpc-enet: fix error return code in lpc_mii_init()
  * exit: Move preemption fixup up, move blocking operations down
      kernel/exit.c
  * lib/mpi: Fix 64-bit MIPS build with Clang
      lib/mpi/longlong.h
    netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported
    MIPS: Make sparse_init() using top-down allocation
    media: platform: fcp: Set appropriate DMA parameters
    media: dvb: return -EREMOTEIO on i2c transfer failure.
    dt-bindings: display: mediatek: control dpi pins mode to avoid leakage
    e1000: Distribute switch variables for initialization
  * staging: android: ion: use vmap instead of vm_map_ram
      drivers/staging/android/ion/ion_heap.c
    net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()
  * x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit
      include/uapi/linux/kvm.h
    ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE
    btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
    clocksource: dw_apb_timer_of: Fix missing clockevent timers
    spi: dw: Enable interrupts in accordance with DMA xfer mode
  * kgdb: Prevent infinite recursive entries to the debugger
      kernel/debug/debug_core.c
  * Bluetooth: Add SCO fallback for invalid LMP parameters error
      net/bluetooth/hci_event.c
    spi: dw: Zero DMA Tx and Rx configurations on stack
    net: ena: fix error returning in ena_com_get_hash_function()
    objtool: Ignore empty alternatives
    media: si2157: Better check for running tuner in init
    ACPI: GED: use correct trigger type field in _Exx / _Lxx handling
  * media: dvb_frontend: ensure that inital front end status initialized
      drivers/media/dvb-core/dvb_frontend.c
      include/uapi/linux/dvb/frontend.h
    can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices
    agp/intel: Reinforce the barrier after GTT updates
  * perf: Add cond_resched() to task_function_call()
      kernel/events/core.c
  * fat: don't allow to mount if the FAT length == 0
      fs/fat/inode.c
  * mm/slub: fix a memory leak in sysfs_slab_add()
      mm/slub.c
  * Smack: slab-out-of-bounds in vsscanf
      security/smack/smackfs.c
    ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
    ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
    ath9k: Fix use-after-free Write in ath9k_htc_rx_msg
    ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx
  * KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
      arch/arm64/include/asm/kvm_host.h
    KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
    KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
    KVM: nVMX: Consult only the "basic" exit reason when routing nested exit
    KVM: nSVM: leave ASID aside in copy_vmcb_control_area
    video: fbdev: w100fb: Fix a potential double free.
  * proc: Use new_inode not new_inode_pseudo
      fs/proc/inode.c
      fs/proc/self.c
      fs/proc/thread_self.c
  * ovl: initialize error in ovl_copy_xattr
      fs/overlayfs/copy_up.c
    spi: bcm2835: Fix controller unregister order
    spi: pxa2xx: Fix controller unregister order
  * spi: Fix controller unregister order
      drivers/spi/spi.c
  * spi: No need to assign dummy value in spi_unregister_controller()
      drivers/spi/spi.c
    spi: dw: Fix controller unregister order
    spi: dw: fix possible race condition
    x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.
    x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS.
    x86/speculation: Add support for STIBP always-on preferred mode
    x86/speculation: Change misspelled STIPB to STIBP
  * ALSA: pcm: disallow linking stream to itself
      sound/core/pcm_native.c
    spi: bcm-qspi: when tx/rx buffer is NULL set to 0
    spi: bcm2835aux: Fix controller unregister order
    nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()
  * cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages
      fs/fs-writeback.c
    ACPI: PM: Avoid using power resources if there are none for D0
    ACPI: GED: add support for _Exx / _Lxx handler methods
    ACPI: CPPC: Fix reference count leak in acpi_cppc_processor_probe()
    ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile()
  * ALSA: usb-audio: Fix inconsistent card PM state after resume
      sound/usb/card.c
      sound/usb/usbaudio.h
    ALSA: es1688: Add the missed snd_card_free()
    efi/efivars: Add missing kobject_put() in sysfs entry creation error path
    x86/reboot/quirks: Add MacBook6,1 reboot quirk
    x86/speculation: Prevent rogue cross-process SSBD shutdown
    x86/PCI: Mark Intel C620 MROMs as having non-compliant BARs
    x86_64: Fix jiffies ODR violation
    ath9k_htc: Silence undersized packet warnings
    drivers/net/ibmvnic: Update VNIC protocol version reporting
  * sched/fair: Don't NUMA balance for kthreads
      kernel/sched/fair.c
    ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
    crypto: talitos - fix ECB and CBC algs ivsize
  * scsi: return correct blkprep status code in case scsi_init_io() fails.
      drivers/scsi/scsi_lib.c
    vxlan: Avoid infinite loop when suppressing NS messages with invalid options
  * ipv6: fix IPV6_ADDRFORM operation logic
      net/ipv6/ipv6_sockglue.c
    Merge 4.9.227 into android-4.9-q
Linux 4.9.227
    uprobes: ensure that uprobe->offset and ->ref_ctr_offset are properly aligned
    iio: vcnl4000: Fix i2c swapped word reading.
    x86/speculation: Add Ivy Bridge to affected list
    x86/speculation: Add SRBDS vulnerability and mitigation documentation
  * x86/speculation: Add Special Register Buffer Data Sampling (SRBDS) mitigation
      drivers/base/cpu.c
    x86/cpu: Add 'table' argument to cpu_matches()
  * x86/cpu: Add a steppings field to struct x86_cpu_id
      include/linux/mod_devicetable.h
  * nvmem: qfprom: remove incorrect write support
      drivers/nvmem/qfprom.c
    staging: rtl8712: Fix IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK
    tty: hvc_console, fix crashes on parallel open/close
  * vt: keyboard: avoid signed integer overflow in k_ascii
      drivers/tty/vt/keyboard.c
    usb: musb: Fix runtime PM imbalance on error
    USB: serial: option: add Telit LE910C1-EUX compositions
    USB: serial: usb_wwan: do not resubmit rx urb on fatal errors
    USB: serial: qcserial: add DW5816e QDL support
  * l2tp: add sk_family checks to l2tp_validate_socket
      net/l2tp/l2tp_core.c
    vsock: fix timeout in vsock_accept()
    NFC: st21nfca: add missed kfree_skb() in an error path
    net: usb: qmi_wwan: add Telit LE910C1-EUX composition
  * l2tp: do not use inet_hash()/inet_unhash()
      net/l2tp/l2tp_ip.c
      net/l2tp/l2tp_ip6.c
  * devinet: fix memleak in inetdev_init()
      net/ipv4/devinet.c
    airo: Fix read overflows sending packets
  * scsi: ufs: Release clock if DMA map fails
      drivers/scsi/ufs/ufshcd.c
    slip: not call free_netdev before rtnl_unlock in slip_open
    slcan: Fix double-free on slcan_open() error path
  * mmc: fix compilation of user API
      include/uapi/linux/mmc/ioctl.h
    kernel/relay.c: handle alloc_percpu returning NULL in relay_open
    p54usb: add AirVasT USB stick device-id
    HID: i2c-hid: add Schneider SCL142ALM to descriptor override
  * mm: Fix mremap not considering huge pmd devmap
      mm/mremap.c
  * pppoe: only process PADT targeted at local interfaces
      drivers/net/ppp/pppoe.c
    net: smsc911x: Fix runtime PM imbalance on error
    net: ethernet: stmmac: Enable interface clocks on probe for IPQ806x
    net/ethernet/freescale: rework quiesce/activate for ucc_geth
    net: bmac: Fix read of MAC address from ROM
    x86/mmiotrace: Use cpumask_available() for cpumask_var_t variables
    ARC: Fix ICCM & DCCM runtime size checks
    s390/ftrace: save traced function caller
    spi: dw: use "smp_mb()" to avoid sending spi data error
  * esp6: fix memleak on error path in esp6_input
      net/ipv6/esp6.c
    usb: gadget: f_uac2: fix error handling in afunc_bind (again)
  * scsi: scsi_devinfo: fixup string compare
      drivers/scsi/scsi_devinfo.c
    Merge 4.9.226 into android-4.9-q
Linux 4.9.226
    scsi: zfcp: fix request object use-after-free in send path causing wrong traces
    net: hns: Fixes the missing put_device in positive leg for roce reset
    sc16is7xx: move label 'err_spi' to correct section
  * mm/vmalloc.c: don't dereference possible NULL pointer in __vunmap()
      mm/vmalloc.c
  * net: rtnl_configure_link: fix dev flags changes arg to __dev_notify_flags
      net/core/rtnetlink.c
    genirq/generic_pending: Do not lose pending affinity update
  * netfilter: nf_conntrack_pptp: fix compilation warning with W=1 build
      include/linux/netfilter/nf_conntrack_pptp.h
      net/netfilter/nf_conntrack_pptp.c
  * bonding: Fix reference count leak in bond_sysfs_slave_add.
      drivers/net/bonding/bond_sysfs_slave.c
    qlcnic: fix missing release in qlcnic_83xx_interrupt_test.
  * netfilter: nf_conntrack_pptp: prevent buffer overflows in debug code
      include/linux/netfilter/nf_conntrack_pptp.h
      net/ipv4/netfilter/nf_nat_pptp.c
      net/netfilter/nf_conntrack_pptp.c
    netfilter: ipset: Fix subcounter update skip
    netfilter: nft_reject_bridge: enable reject with bridge vlan
  * ip_vti: receive ipip packet by calling ip_tunnel_rcv
      net/ipv4/ip_vti.c
  * vti4: eliminated some duplicate code.
      net/ipv4/ip_vti.c
  * xfrm: fix a NULL-ptr deref in xfrm_local_error
      net/xfrm/xfrm_output.c
  * xfrm: fix a warning in xfrm_policy_insert_list
      net/xfrm/xfrm_policy.c
  * xfrm: allow to accept packets with ipv6 NEXTHDR_HOP in xfrm_input
      net/xfrm/xfrm_input.c
    x86/dma: Fix max PFN arithmetic overflow on 32 bit systems
    mac80211: mesh: fix discovery timer re-arming issue / crash
    parisc: Fix kernel panic in mem_init()
  * iommu: Fix reference count leak in iommu_group_alloc.
      drivers/iommu/iommu.c
  * include/asm-generic/topology.h: guard cpumask_of_node() macro argument
      include/asm-generic/topology.h
  * fs/binfmt_elf.c: allocate initialized memory in fill_thread_core_info()
      fs/binfmt_elf.c
  * mm: remove VM_BUG_ON(PageSlab()) from page_mapcount()
      include/linux/mm.h
    libceph: ignore pool overlay and cache logic on redirects
  * exec: Always set cap_ambient in cap_bprm_set_creds
      security/commoncap.c
  * ALSA: usb-audio: mixer: volume quirk for ESS Technology Asus USB DAC
      sound/usb/mixer.c
  * ALSA: hwdep: fix a left shifting 1 by 31 UB bug
      sound/core/hwdep.c
    ARM: dts/imx6q-bx50v3: Set display interface clock parents
    ARM: dts: imx6q-bx50v3: Add internal switch
    ARM: dts: imx: Correct B850v3 clock assignment
    IB/qib: Call kobject_put() when kobject_init_and_add() fails
    Input: synaptics-rmi4 - fix error return code in rmi_driver_probe()
    Input: i8042 - add ThinkPad S230u to i8042 reset list
  * Input: xpad - add custom init packet for Xbox One S controllers
      drivers/input/joystick/xpad.c
  * Input: evdev - call input_flush_device() on release(), not flush()
      drivers/input/evdev.c
    Input: usbtouchscreen - add support for BonXeon TP
    cifs: Fix null pointer check in cifs_read
    usb: gadget: legacy: fix redundant initialization warnings
    cachefiles: Fix race between read_waiter and read_copier involving op->to_do
    gfs2: move privileged user check to gfs2_quota_lock_check
    net: microchip: encx24j600: add missed kthread_stop
    gpio: tegra: mask GPIO IRQs during IRQ shutdown
    IB/cma: Fix reference count leak when no ipv4 addresses are set
  * uapi: fix linux/if_pppol2tp.h userspace compilation errors
      include/uapi/linux/l2tp.h
    net/mlx4_core: fix a memory leak bug.
    net: sun: fix missing release regions in cas_init_one().
    net/mlx5: Add command entry handling completion
    net: qrtr: Fix passing invalid reference to qrtr_local_enqueue()
    net/mlx5e: Update netdev txq on completions during closure
    sctp: Start shutdown on association restart if in SHUTDOWN-SENT state and socket is closed
  * net sched: fix reporting the first-time use timestamp
      include/net/act_api.h
  * net: revert "net: get rid of an signed integer overflow in ip_idents_reserve()"
      net/ipv4/route.c
    net: ipip: fix wrong address family in init error path
    ax25: fix setsockopt(SO_BINDTODEVICE)
    ANDROID: cuttlefish defconfig - enable mount/net/uts namespaces.
    Merge 4.9.225 into android-4.9-q
Linux 4.9.225
    iio: sca3000: Remove an erroneous 'get_device()'
    rapidio: fix an error in get_user_pages_fast() error handling
    mei: release me_cl object reference
    iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()'
    staging: greybus: Fix uninitialized scalar variable
    staging: iio: ad2s1210: Fix SPI reading
    Revert "gfs2: Don't demote a glock until its revokes are written"
    cxgb4/cxgb4vf: Fix mac_hlist initialization and free
    cxgb4: free mac_hlist properly
    libnvdimm/btt: Remove unnecessary code in btt_freelist_init
    platform/x86: alienware-wmi: fix kfree on potentially uninitialized pointer
  * ubsan: build ubsan.c more conservatively
      lib/Makefile
  * x86/uaccess, ubsan: Fix UBSAN vs. SMAP
      lib/Makefile
  * l2tp: device MTU setup, tunnel socket needs a lock
      include/linux/net.h
      net/l2tp/l2tp_eth.c
      net/socket.c
    dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()'
  * ALSA: pcm: fix incorrect hw_base increase
      sound/core/pcm_lib.c
  * l2tp: initialise PPP sessions before registering them
      net/l2tp/l2tp_ppp.c
  * l2tp: protect sock pointer of struct pppol2tp_session with RCU
      net/l2tp/l2tp_ppp.c
  * l2tp: initialise l2tp_eth sessions before registering them
      net/l2tp/l2tp_eth.c
  * l2tp: don't register sessions in l2tp_session_create()
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
      net/l2tp/l2tp_eth.c
      net/l2tp/l2tp_ppp.c
  * l2tp: fix l2tp_eth module loading
      net/l2tp/l2tp_eth.c
  * l2tp: pass tunnel pointer to ->session_create()
      net/l2tp/l2tp_core.h
      net/l2tp/l2tp_eth.c
      net/l2tp/l2tp_netlink.c
      net/l2tp/l2tp_ppp.c
  * l2tp: prevent creation of sessions on terminated tunnels
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
  * l2tp: hold tunnel used while creating sessions with netlink
      net/l2tp/l2tp_netlink.c
  * l2tp: hold tunnel while handling genl TUNNEL_GET commands
      net/l2tp/l2tp_netlink.c
  * l2tp: hold tunnel while handling genl tunnel updates
      net/l2tp/l2tp_netlink.c
  * l2tp: hold tunnel while processing genl delete command
      net/l2tp/l2tp_netlink.c
  * l2tp: hold tunnel while looking up sessions in l2tp_netlink
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
      net/l2tp/l2tp_netlink.c
  * l2tp: initialise session's refcount before making it reachable
      net/l2tp/l2tp_core.c
  * l2tp: define parameters of l2tp_tunnel_find*() as "const"
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
  * l2tp: define parameters of l2tp_session_get*() as "const"
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
  * l2tp: remove l2tp_session_find()
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
  * l2tp: remove useless duplicate session detection in l2tp_netlink
      net/l2tp/l2tp_netlink.c
  * L2TP:Adjust intf MTU, add underlay L3, L2 hdrs.
      net/l2tp/l2tp_eth.c
  * New kernel function to get IP overhead on a socket.
      include/linux/net.h
      net/socket.c
  * net: l2tp: ppp: change PPPOL2TP_MSG_* => L2TP_MSG_*
      net/l2tp/l2tp_ppp.c
  * net: l2tp: deprecate PPPOL2TP_MSG_* in favour of L2TP_MSG_*
      include/uapi/linux/if_pppol2tp.h
  * net: l2tp: export debug flags to UAPI
      include/uapi/linux/l2tp.h
      net/l2tp/l2tp_core.h
  * watchdog: Fix the race between the release of watchdog_core_data and cdev
      drivers/watchdog/watchdog_dev.c
    arm64: fix the flush_icache_range arguments in machine_kexec
    padata: purge get_cpu and reorder_via_wq from padata_do_serial
    padata: initialize pd->cpu with effective cpumask
    padata: Replace delayed timer with immediate workqueue in padata_reorder
    padata: set cpu_index of unused CPUs to -1
  * i2c: dev: Fix the race between the release of i2c_dev and cdev
      drivers/i2c/i2c-dev.c
    ARM: futex: Address build warning
    platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA
  * USB: core: Fix misleading driver bug report
      drivers/usb/core/message.c
    ceph: fix double unlock in handle_cap_export()
    gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp()
  * component: Silence bind error on -EPROBE_DEFER
      drivers/base/component.c
  * configfs: fix config_item refcnt leak in configfs_rmdir()
      fs/configfs/dir.c
  * HID: multitouch: add eGalaxTouch P80H84 support
      drivers/hid/hid-ids.h
      drivers/hid/hid-multitouch.c
  * gcc-common.h: Update for GCC 10
      scripts/gcc-plugins/Makefile
    i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()'
    iommu/amd: Fix over-read of ACPI UID from IVRS table
  * fix multiplication overflow in copy_fdtable()
      fs/file.c
    ima: Fix return value of ima_write_policy()
    evm: Check also if *tfm is an error pointer in init_desc()
    padata: ensure padata_do_serial() runs on the correct CPU
    padata: ensure the reorder timer callback runs on the correct CPU
    padata: get_next is never NULL
    padata: Remove unused but set variables
    igb: use igb_adapter->io_addr instead of e1000_hw->hw_addr
    Merge 4.9.224 into android-4.9-q
Linux 4.9.224
  * Makefile: disallow data races on gcc-10 as well
      Makefile
    KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce
    ARM: dts: r8a7740: Add missing extal2 to CPG node
    ARM: dts: r8a73a4: Add missing CMT1 interrupts
    Revert "ALSA: hda/realtek: Fix pop noise on ALC225"
    usb: gadget: legacy: fix error return code in cdc_bind()
    usb: gadget: legacy: fix error return code in gncm_bind()
    usb: gadget: audio: Fix a missing error return value in audio_bind()
    usb: gadget: net2272: Fix a memory leak in an error handling path in 'net2272_plat_probe()'
  * exec: Move would_dump into flush_old_exec
      fs/exec.c
  * x86: Fix early boot crash on gcc-10, third try
      include/linux/compiler.h
      init/main.c
    ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries
  * usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list
      drivers/usb/host/xhci-ring.c
  * USB: gadget: fix illegal array access in binding with UDC
      drivers/usb/gadget/configfs.c
  * ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset
      sound/usb/quirks.c
  * ALSA: rawmidi: Fix racy buffer resize under concurrent accesses
      include/sound/rawmidi.h
      sound/core/rawmidi.c
  * ALSA: rawmidi: Initialize allocated buffers
      sound/core/rawmidi.c
    ALSA: hda/realtek - Limit int mic boost for Thinkpad T530
    netprio_cgroup: Fix unlimited memory leak of v2 cgroups
  * net: ipv4: really enforce backoff for redirects
      net/ipv4/route.c
  * Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu"
      net/ipv6/route.c
  * netlabel: cope with NULL catmap
      net/ipv4/cipso_ipv4.c
      net/ipv6/calipso.c
      net/netlabel/netlabel_kapi.c
  * net: fix a potential recursive NETDEV_FEAT_CHANGE
      net/core/dev.c
  * gcc-10: disable 'restrict' warning for now
      Makefile
  * gcc-10: disable 'stringop-overflow' warning for now
      Makefile
  * gcc-10: disable 'array-bounds' warning for now
      Makefile
  * gcc-10: disable 'zero-length-bounds' warning for now
      Makefile
  * gcc-10: avoid shadowing standard library 'free()' in crypto
      crypto/xts.c
    net: phy: micrel: Use strlcpy() for ethtool::get_strings
  * Stop the ad-hoc games with -Wno-maybe-initialized
      Makefile
      init/Kconfig
      kernel/trace/Kconfig
  * kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig
      Makefile
      init/Kconfig
      kernel/trace/Kconfig
  * gcc-10 warnings: fix low-hanging fruit
      include/linux/fs.h
      include/linux/tty.h
    pnp: Use list_for_each_entry() instead of open coding
    IB/mlx4: Test return value of calls to ib_get_cached_pkey
  * netfilter: conntrack: avoid gcc-10 zero-length-bounds warning
      include/net/netfilter/nf_conntrack.h
      net/netfilter/nf_conntrack_core.c
    i40iw: Fix error handling in i40iw_manage_arp_cache()
    pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
    ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
    drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
    ALSA: hda/hdmi: fix race in monitor detection during probe
    dmaengine: mmp_tdma: Reset channel error on release
    dmaengine: pch_dma.c: Avoid data race between probe and irq handler
    cifs: Fix a race condition with cifs_echo_request
    cifs: Check for timeout on Negotiate stage
    spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls
  * scsi: sg: add sg_remove_request in sg_write
      drivers/scsi/sg.c
    drop_monitor: work around gcc-10 stringop-overflow warning
    net: moxa: Fix a potential double 'free_irq()'
    net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()'
  * shmem: fix possible deadlocks on shmlock_user_lock
      mm/shmem.c
    ptp: free ptp device pin descriptors properly
  * ptp: fix the race between the release of ptp_clock and cdev
      include/linux/posix-clock.h
      kernel/time/posix-clock.c
    ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
  * chardev: add helper function to register char devs with a struct device
      fs/char_dev.c
      include/linux/cdev.h
    ptp: create "pins" together with the rest of attributes
    ptp: use is_visible method to hide unused attributes
    ptp: do not explicitly set drvdata in ptp_clock_register()
  * blktrace: fix dereference after null check
      kernel/trace/blktrace.c
  * blktrace: Protect q->blk_trace with RCU
      include/linux/blkdev.h
      include/linux/blktrace_api.h
      kernel/trace/blktrace.c
  * blktrace: fix trace mutex deadlock
      kernel/trace/blktrace.c
  * blktrace: fix unlocked access to init/start-stop/teardown
      kernel/trace/blktrace.c
  * blktrace: Fix potential deadlock between delete & sysfs ops
      block/blk-core.c
      include/linux/blkdev.h
      kernel/trace/blktrace.c
  * net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup
      include/net/addrconf.h
      net/ipv6/addrconf_core.c
      net/ipv6/af_inet6.c
  * net: ipv6: add net argument to ip6_dst_lookup_flow
      include/net/ipv6.h
      net/ipv6/af_inet6.c
      net/ipv6/datagram.c
      net/ipv6/inet6_connection_sock.c
      net/ipv6/ip6_output.c
      net/ipv6/raw.c
      net/ipv6/tcp_ipv6.c
      net/l2tp/l2tp_ip6.c
  * ext4: add cond_resched() to ext4_protect_reserved_inode
      fs/ext4/block_validity.c
  * binfmt_elf: Do not move brk for INTERP-less ET_EXEC
      fs/binfmt_elf.c
    scripts/decodecode: fix trapping instruction formatting
    objtool: Fix stack offset tracking for indirect CFAs
    batman-adv: Fix refcnt leak in batadv_v_ogm_process
    batman-adv: Fix refcnt leak in batadv_store_throughput_override
    batman-adv: Fix refcnt leak in batadv_show_throughput_override
    batman-adv: fix batadv_nc_random_weight_tq
  * mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous()
      mm/page_alloc.c
  * tracing: Add a vmalloc_sync_mappings() for safe measure
      kernel/trace/trace.c
    USB: serial: garmin_gps: add sanity checking for data length
    USB: uas: add quirk for LaCie 2Big Quadra
  * binfmt_elf: move brk out of mmap when doing direct loader exec
      fs/binfmt_elf.c
    Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6"
    bnxt_en: Improve AER slot reset.
    net/mlx5: Fix command entry leak in Internal Error State
    net/mlx5: Fix forced completion access non initialized command entry
    bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features().
    sch_sfq: validate silly quantum values
    sch_choke: avoid potential panic in choke_reset()
    net: usb: qmi_wwan: add support for DW5816e
    net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc()
    net: macsec: preserve ingress frame ordering
  * fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks
      net/sched/sch_fq_codel.c
    dp83640: reverse arguments to list_add_tail
    USB: serial: qcserial: Add DW5816e support
  * ANDROID: hid: steam: remove BT controller matching
      drivers/hid/hid-core.c
      drivers/hid/hid-ids.h
  * UPSTREAM: HID: steam: Fix input device disappearing
      drivers/hid/hid-steam.c

Change-Id: I03104a17738ef3d28a296ca370185f58396c9262
Signed-off-by: lucaswei <lucaswei@google.com>
2020-07-10 11:45:18 +08:00
Greg Kroah-Hartman
5791e89d21 Merge 4.9.224 into android-4.9-q
Changes in 4.9.224
	USB: serial: qcserial: Add DW5816e support
	dp83640: reverse arguments to list_add_tail
	fq_codel: fix TCA_FQ_CODEL_DROP_BATCH_SIZE sanity checks
	net: macsec: preserve ingress frame ordering
	net/mlx4_core: Fix use of ENOSPC around mlx4_counter_alloc()
	net: usb: qmi_wwan: add support for DW5816e
	sch_choke: avoid potential panic in choke_reset()
	sch_sfq: validate silly quantum values
	bnxt_en: Fix VLAN acceleration handling in bnxt_fix_features().
	net/mlx5: Fix forced completion access non initialized command entry
	net/mlx5: Fix command entry leak in Internal Error State
	bnxt_en: Improve AER slot reset.
	Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6"
	binfmt_elf: move brk out of mmap when doing direct loader exec
	USB: uas: add quirk for LaCie 2Big Quadra
	USB: serial: garmin_gps: add sanity checking for data length
	tracing: Add a vmalloc_sync_mappings() for safe measure
	mm/page_alloc: fix watchdog soft lockups during set_zone_contiguous()
	batman-adv: fix batadv_nc_random_weight_tq
	batman-adv: Fix refcnt leak in batadv_show_throughput_override
	batman-adv: Fix refcnt leak in batadv_store_throughput_override
	batman-adv: Fix refcnt leak in batadv_v_ogm_process
	objtool: Fix stack offset tracking for indirect CFAs
	scripts/decodecode: fix trapping instruction formatting
	binfmt_elf: Do not move brk for INTERP-less ET_EXEC
	ext4: add cond_resched() to ext4_protect_reserved_inode
	net: ipv6: add net argument to ip6_dst_lookup_flow
	net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup
	blktrace: Fix potential deadlock between delete & sysfs ops
	blktrace: fix unlocked access to init/start-stop/teardown
	blktrace: fix trace mutex deadlock
	blktrace: Protect q->blk_trace with RCU
	blktrace: fix dereference after null check
	ptp: do not explicitly set drvdata in ptp_clock_register()
	ptp: use is_visible method to hide unused attributes
	ptp: create "pins" together with the rest of attributes
	chardev: add helper function to register char devs with a struct device
	ptp: Fix pass zero to ERR_PTR() in ptp_clock_register
	ptp: fix the race between the release of ptp_clock and cdev
	ptp: free ptp device pin descriptors properly
	shmem: fix possible deadlocks on shmlock_user_lock
	net/sonic: Fix a resource leak in an error handling path in 'jazz_sonic_probe()'
	net: moxa: Fix a potential double 'free_irq()'
	drop_monitor: work around gcc-10 stringop-overflow warning
	scsi: sg: add sg_remove_request in sg_write
	spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls
	cifs: Check for timeout on Negotiate stage
	cifs: Fix a race condition with cifs_echo_request
	dmaengine: pch_dma.c: Avoid data race between probe and irq handler
	dmaengine: mmp_tdma: Reset channel error on release
	ALSA: hda/hdmi: fix race in monitor detection during probe
	drm/qxl: lost qxl_bo_kunmap_atomic_page in qxl_image_init_helper()
	ipc/util.c: sysvipc_find_ipc() incorrectly updates position index
	pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler
	i40iw: Fix error handling in i40iw_manage_arp_cache()
	netfilter: conntrack: avoid gcc-10 zero-length-bounds warning
	IB/mlx4: Test return value of calls to ib_get_cached_pkey
	pnp: Use list_for_each_entry() instead of open coding
	gcc-10 warnings: fix low-hanging fruit
	kbuild: compute false-positive -Wmaybe-uninitialized cases in Kconfig
	Stop the ad-hoc games with -Wno-maybe-initialized
	net: phy: micrel: Use strlcpy() for ethtool::get_strings
	gcc-10: avoid shadowing standard library 'free()' in crypto
	gcc-10: disable 'zero-length-bounds' warning for now
	gcc-10: disable 'array-bounds' warning for now
	gcc-10: disable 'stringop-overflow' warning for now
	gcc-10: disable 'restrict' warning for now
	net: fix a potential recursive NETDEV_FEAT_CHANGE
	netlabel: cope with NULL catmap
	Revert "ipv6: add mtu lock check in __ip6_rt_update_pmtu"
	net: ipv4: really enforce backoff for redirects
	netprio_cgroup: Fix unlimited memory leak of v2 cgroups
	ALSA: hda/realtek - Limit int mic boost for Thinkpad T530
	ALSA: rawmidi: Initialize allocated buffers
	ALSA: rawmidi: Fix racy buffer resize under concurrent accesses
	ALSA: usb-audio: Add control message quirk delay for Kingston HyperX headset
	USB: gadget: fix illegal array access in binding with UDC
	usb: xhci: Fix NULL pointer dereference when enqueuing trbs from urb sg list
	ARM: dts: imx27-phytec-phycard-s-rdk: Fix the I2C1 pinctrl entries
	x86: Fix early boot crash on gcc-10, third try
	exec: Move would_dump into flush_old_exec
	usb: gadget: net2272: Fix a memory leak in an error handling path in 'net2272_plat_probe()'
	usb: gadget: audio: Fix a missing error return value in audio_bind()
	usb: gadget: legacy: fix error return code in gncm_bind()
	usb: gadget: legacy: fix error return code in cdc_bind()
	Revert "ALSA: hda/realtek: Fix pop noise on ALC225"
	ARM: dts: r8a73a4: Add missing CMT1 interrupts
	ARM: dts: r8a7740: Add missing extal2 to CPG node
	KVM: x86: Fix off-by-one error in kvm_vcpu_ioctl_x86_setup_mce
	Makefile: disallow data races on gcc-10 as well
	Linux 4.9.224

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib9fdff8dd9e9c92a2e750251b98eb0e4c9496fba
2020-05-20 11:46:34 +02:00
Jan Kara
284dba674c blktrace: Protect q->blk_trace with RCU
commit c780e86dd48ef6467a1146cf7d0fe1e05a635039 upstream.

KASAN is reporting that __blk_add_trace() has a use-after-free issue
when accessing q->blk_trace. Indeed the switching of block tracing (and
thus eventual freeing of q->blk_trace) is completely unsynchronized with
the currently running tracing and thus it can happen that the blk_trace
structure is being freed just while __blk_add_trace() works on it.
Protect accesses to q->blk_trace by RCU during tracing and make sure we
wait for the end of RCU grace period when shutting down tracing. Luckily
that is rare enough event that we can afford that. Note that postponing
the freeing of blk_trace to an RCU callback should better be avoided as
it could have unexpected user visible side-effects as debugfs files
would be still existing for a short while block tracing has been shut
down.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=205711
CC: stable@vger.kernel.org
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Tested-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Reported-by: Tristan Madani <tristmd@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
[bwh: Backported to 4.9: adjust context]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-20 08:15:31 +02:00
Waiman Long
b488092565 blktrace: Fix potential deadlock between delete & sysfs ops
commit 5acb3cc2c2e9d3020a4fee43763c6463767f1572 upstream.

The lockdep code had reported the following unsafe locking scenario:

       CPU0                    CPU1
       ----                    ----
  lock(s_active#228);
                               lock(&bdev->bd_mutex/1);
                               lock(s_active#228);
  lock(&bdev->bd_mutex);

 *** DEADLOCK ***

The deadlock may happen when one task (CPU1) is trying to delete a
partition in a block device and another task (CPU0) is accessing
tracing sysfs file (e.g. /sys/block/dm-1/trace/act_mask) in that
partition.

The s_active isn't an actual lock. It is a reference count (kn->count)
on the sysfs (kernfs) file. Removal of a sysfs file, however, require
a wait until all the references are gone. The reference count is
treated like a rwsem using lockdep instrumentation code.

The fact that a thread is in the sysfs callback method or in the
ioctl call means there is a reference to the opended sysfs or device
file. That should prevent the underlying block structure from being
removed.

Instead of using bd_mutex in the block_device structure, a new
blk_trace_mutex is now added to the request_queue structure to protect
access to the blk_trace structure.

Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Waiman Long <longman@redhat.com>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

Fix typo in patch subject line, and prune a comment detailing how
the code used to work.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-05-20 08:15:30 +02: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
5af9b7f917 Merge 4.9.211 into android-4.9-q
Changes in 4.9.211
	hidraw: Return EPOLLOUT from hidraw_poll
	HID: hidraw: Fix returning EPOLLOUT from hidraw_poll
	HID: hidraw, uhid: Always report EPOLLOUT
	ethtool: reduce stack usage with clang
	fs/select: avoid clang stack usage warning
	rsi: add fix for crash during assertions
	arm64: mm: BUG on unsupported manipulations of live kernel mappings
	arm64: don't open code page table entry creation
	arm64: mm: Change page table pointer name in p[md]_set_huge()
	arm64: Enforce BBM for huge IO/VMAP mappings
	arm64: Make sure permission updates happen for pmd/pud
	cfg80211/mac80211: make ieee80211_send_layer2_update a public function
	mac80211: Do not send Layer 2 Update frame before authorization
	media: usb:zr364xx:Fix KASAN:null-ptr-deref Read in zr364xx_vidioc_querycap
	wimax: i2400: fix memory leak
	wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle
	ext4: fix use-after-free race with debug_want_extra_isize
	ext4: add more paranoia checking in ext4_expand_extra_isize handling
	dccp: Fix memleak in __feat_register_sp
	rtc: mt6397: fix alarm register overwrite
	iommu: Remove device link to group on failure
	gpio: Fix error message on out-of-range GPIO in lookup table
	hsr: reset network header when supervision frame is created
	cifs: Adjust indentation in smb2_open_file
	RDMA/srpt: Report the SCSI residual to the initiator
	scsi: enclosure: Fix stale device oops with hot replug
	scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI
	platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0
	iio: imu: adis16480: assign bias value only if operation succeeded
	mei: fix modalias documentation
	clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume
	compat_ioctl: handle SIOCOUTQNSD
	PCI/PTM: Remove spurious "d" from granularity message
	powerpc/powernv: Disable native PCIe port management
	tty: serial: imx: use the sg count from dma_map_sg
	tty: serial: pch_uart: correct usage of dma_unmap_sg
	media: exynos4-is: Fix recursive locking in isp_video_release()
	mtd: spi-nor: fix silent truncation in spi_nor_read()
	spi: atmel: fix handling of cs_change set on non-last xfer
	rtlwifi: Remove unnecessary NULL check in rtl_regd_init
	f2fs: fix potential overflow
	rtc: msm6242: Fix reading of 10-hour digit
	gpio: mpc8xxx: Add platform device to gpiochip->parent
	scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy()
	rseq/selftests: Turn off timeout setting
	MIPS: Prevent link failure with kcov instrumentation
	ioat: ioat_alloc_ring() failure handling.
	hexagon: parenthesize registers in asm predicates
	hexagon: work around compiler crash
	ocfs2: call journal flush to mark journal as empty after journal recovery when mount
	dt-bindings: reset: meson8b: fix duplicate reset IDs
	clk: Don't try to enable critical clocks if prepare failed
	ALSA: seq: Fix racy access for queue timer in proc read
	Fix built-in early-load Intel microcode alignment
	block: fix an integer overflow in logical block size
	iio: buffer: align the size of scan bytes to size of the largest element
	USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx
	USB: serial: opticon: fix control-message timeouts
	USB: serial: suppress driver bind attributes
	USB: serial: ch341: handle unbound port at reset_resume
	USB: serial: io_edgeport: add missing active-port sanity check
	USB: serial: quatech2: handle unbound ports
	scsi: mptfusion: Fix double fetch bug in ioctl
	usb: core: hub: Improved device recognition on remote wakeup
	x86/efistub: Disable paging at mixed mode entry
	perf hists: Fix variable name's inconsistency in hists__for_each() macro
	perf report: Fix incorrectly added dimensions as switch perf data file
	mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio()
	net: stmmac: 16KB buffer must be 16 byte aligned
	net: stmmac: Enable 16KB buffer size
	USB: serial: io_edgeport: use irqsave() in USB's complete callback
	USB: serial: io_edgeport: handle unbound ports on URB completion
	USB: serial: keyspan: handle unbound ports
	scsi: fnic: use kernel's '%pM' format option to print MAC
	scsi: fnic: fix invalid stack access
	arm64: dts: agilex/stratix10: fix pmu interrupt numbers
	cfg80211: fix page refcount issue in A-MSDU decap
	netfilter: fix a use-after-free in mtype_destroy()
	netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct
	batman-adv: Fix DAT candidate selection on little endian systems
	macvlan: use skb_reset_mac_header() in macvlan_queue_xmit()
	net: dsa: tag_qca: fix doubled Tx statistics
	net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info
	r8152: add missing endpoint sanity check
	tcp: fix marked lost packets not being retransmitted
	net: usb: lan78xx: limit size of local TSO packets
	xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk
	cw1200: Fix a signedness bug in cw1200_load_firmware()
	cfg80211: check for set_wiphy_params
	reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr
	scsi: esas2r: unlock on error in esas2r_nvram_read_direct()
	scsi: qla4xxx: fix double free bug
	scsi: bnx2i: fix potential use after free
	scsi: target: core: Fix a pr_debug() argument
	scsi: core: scsi_trace: Use get_unaligned_be*()
	perf probe: Fix wrong address verification
	regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id
	Linux 4.9.211

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ifc27b3c6afdbd6a39bd7ae4e551d8bed42dc4973
2020-01-23 09:20:25 +01:00
Mikulas Patocka
5dbde467cc block: fix an integer overflow in logical block size
commit ad6bf88a6c19a39fb3b0045d78ea880325dfcf15 upstream.

Logical block size has type unsigned short. That means that it can be at
most 32768. However, there are architectures that can run with 64k pages
(for example arm64) and on these architectures, it may be possible to
create block devices with 64k block size.

For exmaple (run this on an architecture with 64k pages):

Mount will fail with this error because it tries to read the superblock using 2-sector
access:
  device-mapper: writecache: I/O is not aligned, sector 2, size 1024, block size 65536
  EXT4-fs (dm-0): unable to read superblock

This patch changes the logical block size from unsigned short to unsigned
int to avoid the overflow.

Cc: stable@vger.kernel.org
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-01-23 08:19:38 +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
Christoph Hellwig
f3216243df block: introduce blk_rq_is_passthrough
commit 57292b58ddb58689e8c3b4c6eadbef10d9ca44dd upstream.

This can be used to check for fs vs non-fs requests and basically
removes all knowledge of BLOCK_PC specific from the block layer,
as well as preparing for removing the cmd_type field in struct request.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
[only take the blkdev.h changes as we only want the function for backported
patches - gregkh]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-11-25 09:53:14 +01:00
Petri Gynther
f77d331b40 Merge 4.9.111 into android-msm-bluecross-4.9-lts
Linux 4.9.111
  * cdc_ncm: avoid padding beyond end of skb
      drivers/net/usb/cdc_ncm.c
    dm thin: handle running out of data space vs concurrent discard
  * block: Fix transfer when chunk sectors exceeds max
      include/linux/blkdev.h
    ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
    ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co
    Input: elantech - fix V4 report decoding for module with middle key
    Input: elantech - enable middle button of touchpads on ThinkPad P52
    Input: elan_i2c_smbus - fix more potential stack buffer overflows
    udf: Detect incorrect directory size
    xen: Remove unnecessary BUG_ON from __unbind_from_irq()
    mm: fix devmem_is_allowed() for sub-page System RAM intersections
    rbd: flush rbd_dev->watch_dwork after watch is unregistered
    pwm: lpss: platform: Save/restore the ctrl register over a suspend/resume
    Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
    video: uvesafb: Fix integer overflow in allocation
    NFSv4: Revert commit 5f83d86cf5 ("NFSv4.x: Fix wraparound issues..")
    NFSv4: Fix possible 1-byte stack overflow in nfs_idmap_read_and_verify_message
    nfsd: restrict rd_maxcount to svc_max_payload in nfsd_encode_readdir
  * media: dvb_frontend: fix locking issues at dvb_frontend_get_event()
      drivers/media/dvb-core/dvb_frontend.c
    media: cx231xx: Add support for AverMedia DVD EZMaker 7
  * media: v4l2-compat-ioctl32: prevent go past max size
      drivers/media/v4l2-core/v4l2-compat-ioctl32.c
    perf intel-pt: Fix packet decoding of CYC packets
    perf intel-pt: Fix "Unexpected indirect branch" error
    perf intel-pt: Fix MTC timing after overflow
    perf intel-pt: Fix decoding to accept CBR between FUP and corresponding TIP
    perf intel-pt: Fix sync_switch INTEL_PT_SS_NOT_TRACING
    perf tools: Fix symbol and object code resolution for vdso32 and vdsox32
    mfd: intel-lpss: Program REMAP register in PIO mode
    backlight: tps65217_bl: Fix Device Tree node lookup
    backlight: max8925_bl: Fix Device Tree node lookup
    backlight: as3711_bl: Fix Device Tree node lookup
    UBIFS: Fix potential integer overflow in allocation
    ubi: fastmap: Correctly handle interrupted erasures in EBA
    ubi: fastmap: Cancel work upon detach
    rpmsg: smd: do not use mananged resources for endpoints and channels
    md: fix two problems with setting the "re-add" device state.
    clk: at91: PLL recalc_rate() now using cached MUL and DIV values
    linvdimm, pmem: Preserve read-only setting for pmem devices
    scsi: zfcp: fix missing REC trigger trace on enqueue without ERP thread
    scsi: zfcp: fix missing REC trigger trace for all objects in ERP_FAILED
    scsi: zfcp: fix missing REC trigger trace on terminate_rport_io for ERP_FAILED
    scsi: zfcp: fix missing REC trigger trace on terminate_rport_io early return
    scsi: zfcp: fix misleading REC trigger trace where erp_action setup failed
    scsi: zfcp: fix missing SCSI trace for retry of abort / scsi_eh TMF
    scsi: zfcp: fix missing SCSI trace for result of eh_host_reset_handler
    scsi: qla2xxx: Fix setting lower transfer speed if GPSC fails
  * iio:buffer: make length types match kfifo types
      include/linux/iio/buffer.h
    Btrfs: fix unexpected cow in run_delalloc_nocow
    Btrfs: fix return value on rename exchange failure
  * X.509: unpack RSA signatureValue field from BIT STRING
      crypto/asymmetric_keys/x509_cert_parser.c
  * time: Make sure jiffies_to_msecs() preserves non-zero time periods
      kernel/time/time.c
    MIPS: io: Add barrier after register read in inX()
    printk: fix possible reuse of va_list variable
    PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume
  * PCI: Add ACS quirk for Intel 300 series
      drivers/pci/quirks.c
  * PCI: Add ACS quirk for Intel 7th & 8th Gen mobile
      drivers/pci/quirks.c
    MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum
    mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
    mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
    mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
    mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
    mtd: cfi_cmdset_0002: Change write buffer to check correct value
    RDMA/mlx4: Discard unknown SQP work requests
    IB/isert: fix T10-pi check mask setting
    IB/isert: Fix for lib/dma_debug check_sync warning
    IB/mlx5: Fetch soft WQE's on fatal error state
    IB/{hfi1, qib}: Add handling of kernel restart
    IB/qib: Fix DMA api warning with debug kernel
    of: unittest: for strings, account for trailing \0 in property length field
  * arm64: mm: Ensure writes to swapper are ordered wrt subsequent cache maintenance
      arch/arm64/mm/proc.S
  * arm64: kpti: Use early_param for kpti= command-line option
      arch/arm64/kernel/cpufeature.c
    ARM: 8764/1: kgdb: fix NUMREGBYTES so that gdb_regs[] is the correct size
    powerpc/fadump: Unregister fadump on kexec down path.
    cpuidle: powernv: Fix promotion from snooze if next state disabled
    powerpc/powernv/ioda2: Remove redundant free of TCE pages
    powerpc/ptrace: Fix enforcement of DAWR constraints
    powerpc/ptrace: Fix setting 512B aligned breakpoints with PTRACE_SET_DEBUGREG
    powerpc/mm/hash: Add missing isync prior to kernel stack SLB switch
  * fuse: fix control dir setup and teardown
      fs/fuse/control.c
  * fuse: don't keep dead fuse_conn at fuse_fill_super().
      fs/fuse/inode.c
  * fuse: atomic_o_trunc should truncate pagecache
      fs/fuse/dir.c
    Bluetooth: hci_qca: Avoid missing rampatch failure with userspace fw loader
    ipmi:bt: Set the timeout before doing a capabilities check
  * branch-check: fix long->int truncation when profiling branches
      include/linux/compiler.h
    mips: ftrace: fix static function graph tracing
  * lib/vsprintf: Remove atomic-unsafe support for %pCr
      lib/vsprintf.c
    clk: renesas: cpg-mssr: Stop using printk format %pCr
    ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup
    ASoC: cirrus: i2s: Fix LRCLK configuration
  * ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it
      sound/soc/soc-dapm.c
    1wire: family module autoload fails because of upper/lower case mismatch.
  * usb: do not reset if a low-speed or full-speed device timed out
      drivers/usb/core/hub.c
    signal/xtensa: Consistenly use SIGBUS in do_unaligned_user
    serial: sh-sci: Use spin_{try}lock_irqsave instead of open coding version
    m68k/mm: Adjust VM area to be unmapped by gap size for __iounmap()
    x86: Call fixup_exception() before notify_die() in math_error()
    x86/mce: Do not overwrite MCi_STATUS in mce_no_way_out()
    x86/mce: Fix incorrect "Machine check from unknown source" message
    x86/mce: Check for alternate indication of machine check recovery on Skylake
    x86/mce: Improve error message when kernel cannot recover
    x86/spectre_v1: Disable compiler optimizations over array_index_mask_nospec()

Change-Id: Ib9730f72ffdab0bc8ec86fc9637e11732a441752
Signed-off-by: Petri Gynther <pgynther@google.com>
2018-09-19 11:09:44 -07:00
Greg Kroah-Hartman
03c70feafd Merge 4.9.111 into android-4.9
Changes in 4.9.111
	x86/spectre_v1: Disable compiler optimizations over array_index_mask_nospec()
	x86/mce: Improve error message when kernel cannot recover
	x86/mce: Check for alternate indication of machine check recovery on Skylake
	x86/mce: Fix incorrect "Machine check from unknown source" message
	x86/mce: Do not overwrite MCi_STATUS in mce_no_way_out()
	x86: Call fixup_exception() before notify_die() in math_error()
	m68k/mm: Adjust VM area to be unmapped by gap size for __iounmap()
	serial: sh-sci: Use spin_{try}lock_irqsave instead of open coding version
	signal/xtensa: Consistenly use SIGBUS in do_unaligned_user
	usb: do not reset if a low-speed or full-speed device timed out
	1wire: family module autoload fails because of upper/lower case mismatch.
	ASoC: dapm: delete dapm_kcontrol_data paths list before freeing it
	ASoC: cirrus: i2s: Fix LRCLK configuration
	ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup
	clk: renesas: cpg-mssr: Stop using printk format %pCr
	lib/vsprintf: Remove atomic-unsafe support for %pCr
	mips: ftrace: fix static function graph tracing
	branch-check: fix long->int truncation when profiling branches
	ipmi:bt: Set the timeout before doing a capabilities check
	Bluetooth: hci_qca: Avoid missing rampatch failure with userspace fw loader
	fuse: atomic_o_trunc should truncate pagecache
	fuse: don't keep dead fuse_conn at fuse_fill_super().
	fuse: fix control dir setup and teardown
	powerpc/mm/hash: Add missing isync prior to kernel stack SLB switch
	powerpc/ptrace: Fix setting 512B aligned breakpoints with PTRACE_SET_DEBUGREG
	powerpc/ptrace: Fix enforcement of DAWR constraints
	powerpc/powernv/ioda2: Remove redundant free of TCE pages
	cpuidle: powernv: Fix promotion from snooze if next state disabled
	powerpc/fadump: Unregister fadump on kexec down path.
	ARM: 8764/1: kgdb: fix NUMREGBYTES so that gdb_regs[] is the correct size
	arm64: kpti: Use early_param for kpti= command-line option
	arm64: mm: Ensure writes to swapper are ordered wrt subsequent cache maintenance
	of: unittest: for strings, account for trailing \0 in property length field
	IB/qib: Fix DMA api warning with debug kernel
	IB/{hfi1, qib}: Add handling of kernel restart
	IB/mlx5: Fetch soft WQE's on fatal error state
	IB/isert: Fix for lib/dma_debug check_sync warning
	IB/isert: fix T10-pi check mask setting
	RDMA/mlx4: Discard unknown SQP work requests
	mtd: cfi_cmdset_0002: Change write buffer to check correct value
	mtd: cfi_cmdset_0002: Use right chip in do_ppb_xxlock()
	mtd: cfi_cmdset_0002: fix SEGV unlocking multiple chips
	mtd: cfi_cmdset_0002: Fix unlocking requests crossing a chip boudary
	mtd: cfi_cmdset_0002: Avoid walking all chips when unlocking.
	MIPS: BCM47XX: Enable 74K Core ExternalSync for PCIe erratum
	PCI: Add ACS quirk for Intel 7th & 8th Gen mobile
	PCI: Add ACS quirk for Intel 300 series
	PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume
	printk: fix possible reuse of va_list variable
	MIPS: io: Add barrier after register read in inX()
	time: Make sure jiffies_to_msecs() preserves non-zero time periods
	X.509: unpack RSA signatureValue field from BIT STRING
	Btrfs: fix return value on rename exchange failure
	Btrfs: fix unexpected cow in run_delalloc_nocow
	iio:buffer: make length types match kfifo types
	scsi: qla2xxx: Fix setting lower transfer speed if GPSC fails
	scsi: zfcp: fix missing SCSI trace for result of eh_host_reset_handler
	scsi: zfcp: fix missing SCSI trace for retry of abort / scsi_eh TMF
	scsi: zfcp: fix misleading REC trigger trace where erp_action setup failed
	scsi: zfcp: fix missing REC trigger trace on terminate_rport_io early return
	scsi: zfcp: fix missing REC trigger trace on terminate_rport_io for ERP_FAILED
	scsi: zfcp: fix missing REC trigger trace for all objects in ERP_FAILED
	scsi: zfcp: fix missing REC trigger trace on enqueue without ERP thread
	linvdimm, pmem: Preserve read-only setting for pmem devices
	clk: at91: PLL recalc_rate() now using cached MUL and DIV values
	md: fix two problems with setting the "re-add" device state.
	rpmsg: smd: do not use mananged resources for endpoints and channels
	ubi: fastmap: Cancel work upon detach
	ubi: fastmap: Correctly handle interrupted erasures in EBA
	UBIFS: Fix potential integer overflow in allocation
	backlight: as3711_bl: Fix Device Tree node lookup
	backlight: max8925_bl: Fix Device Tree node lookup
	backlight: tps65217_bl: Fix Device Tree node lookup
	mfd: intel-lpss: Program REMAP register in PIO mode
	perf tools: Fix symbol and object code resolution for vdso32 and vdsox32
	perf intel-pt: Fix sync_switch INTEL_PT_SS_NOT_TRACING
	perf intel-pt: Fix decoding to accept CBR between FUP and corresponding TIP
	perf intel-pt: Fix MTC timing after overflow
	perf intel-pt: Fix "Unexpected indirect branch" error
	perf intel-pt: Fix packet decoding of CYC packets
	media: v4l2-compat-ioctl32: prevent go past max size
	media: cx231xx: Add support for AverMedia DVD EZMaker 7
	media: dvb_frontend: fix locking issues at dvb_frontend_get_event()
	nfsd: restrict rd_maxcount to svc_max_payload in nfsd_encode_readdir
	NFSv4: Fix possible 1-byte stack overflow in nfs_idmap_read_and_verify_message
	NFSv4: Revert commit 5f83d86cf5 ("NFSv4.x: Fix wraparound issues..")
	video: uvesafb: Fix integer overflow in allocation
	Input: elan_i2c - add ELAN0618 (Lenovo v330 15IKB) ACPI ID
	pwm: lpss: platform: Save/restore the ctrl register over a suspend/resume
	rbd: flush rbd_dev->watch_dwork after watch is unregistered
	mm: fix devmem_is_allowed() for sub-page System RAM intersections
	xen: Remove unnecessary BUG_ON from __unbind_from_irq()
	udf: Detect incorrect directory size
	Input: elan_i2c_smbus - fix more potential stack buffer overflows
	Input: elantech - enable middle button of touchpads on ThinkPad P52
	Input: elantech - fix V4 report decoding for module with middle key
	ALSA: hda/realtek - Fix pop noise on Lenovo P50 & co
	ALSA: hda/realtek - Add a quirk for FSC ESPRIMO U9210
	block: Fix transfer when chunk sectors exceeds max
	dm thin: handle running out of data space vs concurrent discard
	cdc_ncm: avoid padding beyond end of skb
	Linux 4.9.111

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2018-07-03 18:27:19 +02:00
Keith Busch
17057c59bd block: Fix transfer when chunk sectors exceeds max
commit 15bfd21fbc5d35834b9ea383dc458a1f0c9e3434 upstream.

A device may have boundary restrictions where the number of sectors
between boundaries exceeds its max transfer size. In this case, we need
to cap the max size to the smaller of the two limits.

Reported-by: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
Tested-by: Jitendra Bhivare <jitendra.bhivare@broadcom.com>
Cc: <stable@vger.kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-03 11:23:18 +02:00
Daniel Mentz
c546a1f595 Merge branch 'qcom-msm-4.9' into android-msm-bluecross-4.9
Merge Qualcomm's LA.UM.7.3.9.08.00.00.385.190

Conflicts:
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
	drivers/power/supply/qcom/Makefile

Change-Id: If727feac46acf44231556aeb194ec8a0e81b9c6f
2018-03-16 15:06:17 -07:00
Hyojun Kim
6a2a1787c2 blkdev: Refactoring block io latency histogram codes
The current io_latency_state structure includes entries for read
and write requests. There are special types of write commands
such as sync and discard (trim) commands, and the current
implementation is not general enough if we want to separate
latency histogram for such special commands.

This change makes io_latency_state structure request-type neutral.
It also changes to print the latency average.

Change-Id: Iaa4fbcc428110741b69ed42c02db234e2e2dd5c7
Signed-off-by: Hyojun Kim <hyojun@google.com>
2018-03-01 22:24:11 +00:00
Jan Kara
b843998128 block: Get rid of blk_get_backing_dev_info()
blk_get_backing_dev_info() is now a simple dereference. Remove that
function and simplify some code around that.

Change-Id: I8ed9ffc88b53f3967adf93c7bc66be4282500e6d
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
Git-commit: efa7c9f97e3ef624e9a398bf69c15f58eea9f0e8
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
[riteshh@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2018-02-28 00:14:55 -08:00
Jan Kara
33c1705198 block: Dynamically allocate and refcount backing_dev_info
Instead of storing backing_dev_info inside struct request_queue,
allocate it dynamically, reference count it, and free it when the last
reference is dropped. Currently only request_queue holds the reference
but in the following patch we add other users referencing
backing_dev_info.

Change-Id: Iec92b14c5a1d4f25dd6e3abe9c18c121b2ae3fa4
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
Git-commit: d03f6cdc1fc422accb734c7c07a661a0018d8631
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
[riteshh@codeaurora.org: Resolved minor merge conflicts]
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2018-02-28 00:14:42 -08:00
Jan Kara
1cdb7f9c79 block: Use pointer to backing_dev_info from request_queue
We will want to have struct backing_dev_info allocated separately from
struct request_queue. As the first step add pointer to backing_dev_info
to request_queue and convert all users touching it. No functional
changes in this patch.

Change-Id: Ib99961747ed2d58cc2f9c0581c66c55a49aaee4b
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
Git-commit: dc3b17cc8bf21307c7e076e7c778d5db756f7871
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
[riteshh@codeaurora.org: Resolved minor merge conflicts]
Signed-off-by: Ritesh Harjani <riteshh@codeaurora.org>
2018-02-28 00:14:35 -08:00
Jaegeuk Kim
9f42be8add f2fs/fscrypt-ice: disallow bio merged into request
This fixes wrong bio merge into request which breaks encrypted ICE blocks.

Bug: 71554412
Change-Id: I65b5936add01aa62449d46791a736b734022a48c
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2018-01-08 17:10:33 +00:00
Hyojun Kim
11537d5ac9 blkdev: Refactoring block io latency histogram codes
The current io_latency_state structure includes entries for read
and write requests. There are special types of write commands
such as sync and discard (trim) commands, and the current
implementation is not general enough if we want to separate
latency histogram for such special commands.

This change makes io_latency_state structure request-type neutral.
It also changes to print the latency average.

Signed-off-by: Hyojun Kim <hyojun@google.com>
2018-01-03 21:16:40 +00:00
Jaegeuk Kim
2a785be7a0 ICE: add PFK driver w/ fs/crypto
This patch adds PFK driver working with fs/crypto.

Bug: 68721442
Bug: 68995224
Change-Id: I5e9dea9887cfa7d6404a764c48cb792b50e088be
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2017-11-27 18:16:50 -08:00
Vinayak Menon
bb730a17fa mm: swap: don't delay swap free for fast swap devices
There are couple of issues with swapcache usage when ZRAM is used
as swap device.
1) Kernel does a swap readahead which can be around 6 to 8 pages
depending on total ram, which is not required for zram since
accesses are fast.
2) Kernel delays the freeing up of swapcache expecting a later hit,
which again is useless in the case of zram.
3) This is not related to swapcache, but zram usage itself.
As mentioned in (2) kernel delays freeing of swapcache, but along with
that it delays zram compressed page free also. i.e. there can be 2 copies,
though one is compressed.

This patch addresses these issues using two new flags
QUEUE_FLAG_FAST and SWP_FAST, to indicate that accesses to the device
will be fast and cheap, and instructs the swap layer to free up
swap space agressively, and not to do read ahead.

Change-Id: I5d2d5176a5f9420300bb2f843f6ecbdb25ea80e4
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
2017-07-19 18:41:26 +05:30
AnilKumar Chimata
7214d7e8ad md: Add dm-req-crypt driver snapshot
This is a snapshot of dm-req-crypt driver as of msm-4.4
commit <0293b8a7d07a2> (qcom: smb-lib: rerun APSD on
insertion for micro USB mode).

Change-Id: Ifa51a02d5ba0bd4a7b623f6dc8c18f1c921ae127
Signed-off-by: AnilKumar Chimata <anilc@codeaurora.org>
2017-06-23 05:18:09 -07:00
Dmitry Shmidt
cd08287396 Merge tag 'v4.9.6' into android-4.9
This is the 4.9.6 stable release

Change-Id: I318df4b9d706d50c13fe3969d734117c25fc94bc
2017-01-31 13:55:27 -08:00
Mohan Srinivasan
e2d88788d5 ANDROID: MMC/UFS IO Latency Histograms.
This patch adds a new sysfs node (latency_hist) and reports
IO (svc time) latency histograms. Disabled by default, can be
enabled by echoing 0 into latency_hist, stats can be cleared
by writing 2 into latency_hist. This commit fixes the 32 bit
build breakage in the previous commit. Tested on both 32 bit
and 64 bit arm devices. (Merged from android4.4-common).

Bug: 30677035
Change-Id: I9403ea093f4cd54ebae08f12a11d01ef153118d0
Signed-off-by: Mohan Srinivasan <srmohan@google.com>
2017-01-27 13:55:56 -08:00
Tobias Klauser
f99694cdaf block: Change extern inline to static inline
commit 9a05e7541c39680d28ecf91892338e074738d5fd upstream.

With compilers which follow the C99 standard (like modern versions of
gcc and clang), "extern inline" does the opposite thing from older
versions of gcc (emits code for an externally linkable version of the
inline function).

"static inline" does the intended behavior in all cases instead.

Description taken from commit 6d91857d48 ("staging, rtl8192e,
LLVMLinux: Change extern inline to static inline").

This also fixes the following GCC warning when building with CONFIG_PM
disabled:

  ./include/linux/blkdev.h:1143:20: warning: no previous prototype for 'blk_set_runtime_active' [-Wmissing-prototypes]

Fixes: d07ab6d114 ("block: Add blk_set_runtime_active()")
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-19 20:18:07 +01:00
Mike Snitzer
2849450ad3 blk-mq: introduce blk_mq_delay_kick_requeue_list()
blk_mq_delay_kick_requeue_list() provides the ability to kick the
q->requeue_list after a specified time.  To do this the request_queue's
'requeue_work' member was changed to a delayed_work.

blk_mq_delay_kick_requeue_list() allows DM to defer processing requeued
requests while it doesn't make sense to immediately requeue them
(e.g. when all paths in a DM multipath have failed).

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-09-14 11:48:34 -06:00
Jens Axboe
ee63cfa7fc block: add kblockd_schedule_work_on()
Add a helper to schedule a regular struct work on a particular CPU.

Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-29 08:13:21 -06:00
Adrian Hunter
7afafc8a44 block: Fix secure erase
Commit 288dab8a35 ("block: add a separate operation type for secure
erase") split REQ_OP_SECURE_ERASE from REQ_OP_DISCARD without considering
all the places REQ_OP_DISCARD was being used to mean either. Fix those.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Fixes: 288dab8a35 ("block: add a separate operation type for secure erase")
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-16 09:16:51 -06:00
Jens Axboe
c11f0c0b5b block/mm: make bdev_ops->rw_page() take a bool for read/write
Commit abf545484d changed it from an 'rw' flags type to the
newer ops based interface, but now we're effectively leaking
some bdev internals to the rest of the kernel. Since we only
care about whether it's a read or a write at that level, just
pass in a bool 'is_write' parameter instead.

Then we can also move op_is_write() and friends back under
CONFIG_BLOCK protection.

Reviewed-by: Mike Christie <mchristi@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-07 14:41:02 -06:00
Mike Christie
abf545484d mm/block: convert rw_page users to bio op use
The rw_page users were not converted to use bio/req ops. As a result
bdev_write_page is not passing down REQ_OP_WRITE and the IOs will
be sent down as reads.

Signed-off-by: Mike Christie <mchristi@redhat.com>
Fixes: 4e1b2d52a8 ("block, fs, drivers: remove REQ_OP compat defs and related code")

Modified by me to:

1) Drop op_flags passing into ->rw_page(), as we don't use it.
2) Make op_is_write() and friends safe to use for !CONFIG_BLOCK

Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-04 14:25:33 -06:00
John Pittman
6d25ec147e Include: blkdev: Removed duplicate 'struct request;' declaration.
In include/linux/blkdev.h duplicate declarations of the request
struct exist.  Cleaned up by removing the second, unneeded
declaration.

Signed-off-by: John Pittman <jpittman@redhat.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-04 14:19:16 -06:00
Linus Torvalds
f0c98ebc57 Merge tag 'libnvdimm-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
Pull libnvdimm updates from Dan Williams:

 - Replace pcommit with ADR / directed-flushing.

   The pcommit instruction, which has not shipped on any product, is
   deprecated.  Instead, the requirement is that platforms implement
   either ADR, or provide one or more flush addresses per nvdimm.

   ADR (Asynchronous DRAM Refresh) flushes data in posted write buffers
   to the memory controller on a power-fail event.

   Flush addresses are defined in ACPI 6.x as an NVDIMM Firmware
   Interface Table (NFIT) sub-structure: "Flush Hint Address Structure".
   A flush hint is an mmio address that when written and fenced assures
   that all previous posted writes targeting a given dimm have been
   flushed to media.

 - On-demand ARS (address range scrub).

   Linux uses the results of the ACPI ARS commands to track bad blocks
   in pmem devices.  When latent errors are detected we re-scrub the
   media to refresh the bad block list, userspace can also request a
   re-scrub at any time.

 - Support for the Microsoft DSM (device specific method) command
   format.

 - Support for EDK2/OVMF virtual disk device memory ranges.

 - Various fixes and cleanups across the subsystem.

* tag 'libnvdimm-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (41 commits)
  libnvdimm-btt: Delete an unnecessary check before the function call "__nd_device_register"
  nfit: do an ARS scrub on hitting a latent media error
  nfit: move to nfit/ sub-directory
  nfit, libnvdimm: allow an ARS scrub to be triggered on demand
  libnvdimm: register nvdimm_bus devices with an nd_bus driver
  pmem: clarify a debug print in pmem_clear_poison
  x86/insn: remove pcommit
  Revert "KVM: x86: add pcommit support"
  nfit, tools/testing/nvdimm/: unify shutdown paths
  libnvdimm: move ->module to struct nvdimm_bus_descriptor
  nfit: cleanup acpi_nfit_init calling convention
  nfit: fix _FIT evaluation memory leak + use after free
  tools/testing/nvdimm: add manufacturing_{date|location} dimm properties
  tools/testing/nvdimm: add virtual ramdisk range
  acpi, nfit: treat virtual ramdisk SPA as pmem region
  pmem: kill __pmem address space
  pmem: kill wmb_pmem()
  libnvdimm, pmem: use nvdimm_flush() for namespace I/O writes
  fs/dax: remove wmb_pmem()
  libnvdimm, pmem: flush posted-write queues on shutdown
  ...
2016-07-28 17:38:16 -07:00
Linus Torvalds
3fc9d69093 Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block
Pull block driver updates from Jens Axboe:
 "This branch also contains core changes.  I've come to the conclusion
  that from 4.9 and forward, I'll be doing just a single branch.  We
  often have dependencies between core and drivers, and it's hard to
  always split them up appropriately without pulling core into drivers
  when that happens.

  That said, this contains:

   - separate secure erase type for the core block layer, from
     Christoph.

   - set of discard fixes, from Christoph.

   - bio shrinking fixes from Christoph, as a followup up to the
     op/flags change in the core branch.

   - map and append request fixes from Christoph.

   - NVMeF (NVMe over Fabrics) code from Christoph.  This is pretty
     exciting!

   - nvme-loop fixes from Arnd.

   - removal of ->driverfs_dev from Dan, after providing a
     device_add_disk() helper.

   - bcache fixes from Bhaktipriya and Yijing.

   - cdrom subchannel read fix from Vchannaiah.

   - set of lightnvm updates from Wenwei, Matias, Johannes, and Javier.

   - set of drbd updates and fixes from Fabian, Lars, and Philipp.

   - mg_disk error path fix from Bart.

   - user notification for failed device add for loop, from Minfei.

   - NVMe in general:
        + NVMe delay quirk from Guilherme.
        + SR-IOV support and command retry limits from Keith.
        + fix for memory-less NUMA node from Masayoshi.
        + use UINT_MAX for discard sectors, from Minfei.
        + cancel IO fixes from Ming.
        + don't allocate unused major, from Neil.
        + error code fixup from Dan.
        + use constants for PSDT/FUSE from James.
        + variable init fix from Jay.
        + fabrics fixes from Ming, Sagi, and Wei.
        + various fixes"

* 'for-4.8/drivers' of git://git.kernel.dk/linux-block: (115 commits)
  nvme/pci: Provide SR-IOV support
  nvme: initialize variable before logical OR'ing it
  block: unexport various bio mapping helpers
  scsi/osd: open code blk_make_request
  target: stop using blk_make_request
  block: simplify and export blk_rq_append_bio
  block: ensure bios return from blk_get_request are properly initialized
  virtio_blk: use blk_rq_map_kern
  memstick: don't allow REQ_TYPE_BLOCK_PC requests
  block: shrink bio size again
  block: simplify and cleanup bvec pool handling
  block: get rid of bio_rw and READA
  block: don't ignore -EOPNOTSUPP blkdev_issue_write_same
  block: introduce BLKDEV_DISCARD_ZERO to fix zeroout
  NVMe: don't allocate unused nvme_major
  nvme: avoid crashes when node 0 is memoryless node.
  nvme: Limit command retries
  loop: Make user notify for adding loop device failed
  nvme-loop: fix nvme-loop Kconfig dependencies
  nvmet: fix return value check in nvmet_subsys_alloc()
  ...
2016-07-26 15:37:51 -07:00
Damien Le Moal
17007f3994 block: Fix front merge check
For a front merge, the maximum number of sectors of the
request must be checked against the front merge BIO sector,
not the current sector of the request.

Signed-off-by: Damien Le Moal <damien.lemoal@hgst.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-20 21:40:47 -06:00
Toshi Kani
163d4baaeb block: add QUEUE_FLAG_DAX for devices to advertise their DAX support
Currently, presence of direct_access() in block_device_operations
indicates support of DAX on its block device.  Because
block_device_operations is instantiated with 'const', this DAX
capablity may not be enabled conditinally.

In preparation for supporting DAX to device-mapper devices, add
QUEUE_FLAG_DAX to request_queue flags to advertise their DAX
support.  This will allow to set the DAX capability based on how
mapped device is composed.

Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Acked-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: <linux-s390@vger.kernel.org>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-20 21:01:01 -06:00
Christoph Hellwig
4613c5f1df scsi/osd: open code blk_make_request
I wish the OSD code could simply use blk_rq_map_* helpers like
everyone else, but the complex nature of deciding if we have
DATA IN and/or DATA OUT buffers might make this impossible
(at least for a mere human like me).

But using blk_rq_append_bio at least allows sharing the setup code
between request with or without dat a buffers, and given that this
is the last user of blk_make_request it allows getting rid of that
somewhat awkward interface.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Boaz Harrosh <ooo@electrozaur.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-20 17:38:35 -06:00
Christoph Hellwig
98d61d5b1a block: simplify and export blk_rq_append_bio
The target SCSI passthrough backend is much better served with the low-level
blk_rq_append_bio construct then the helpers built on top of it, so export it.

Also use the opportunity to remove the pointless request_queue argument and
make the code flow a little more readable.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-20 17:38:32 -06:00
Christoph Hellwig
e950fdf71c block: introduce BLKDEV_DISCARD_ZERO to fix zeroout
Currently blkdev_issue_zeroout cascades down from discards (if the driver
guarantees that discards zero data), to WRITE SAME and then to a loop
writing zeroes.  Unfortunately we ignore run-time EOPNOTSUPP errors in the
block layer blkdev_issue_discard helper to work around DM volumes that
may have mixed discard support underneath.

This patch intoroduces a new BLKDEV_DISCARD_ZERO flag to
blkdev_issue_discard that indicates we are called for zeroing operation.
This allows both to ignore the EOPNOTSUPP hack and actually consolidating
the discard_zeroes_data check into the function.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-07-20 17:35:20 -06:00
Dan Williams
7a9eb20666 pmem: kill __pmem address space
The __pmem address space was meant to annotate codepaths that touch
persistent memory and need to coordinate a call to wmb_pmem().  Now that
wmb_pmem() is gone, there is little need to keep this annotation.

Cc: Christoph Hellwig <hch@lst.de>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2016-07-12 19:25:38 -07:00
Jan Kara
9828c2c6c1 block: Convert fifo_time from ulong to u64
Currently rq->fifo_time is unsigned long but CFQ stores nanosecond
timestamp in it which would overflow on 32-bit archs. Convert it to u64
to avoid the overflow. Since the rq->fifo_time is unioned with struct
call_single_data(), this does not change the size of struct request in
any way.

We have to slightly fixup block/deadline-iosched.c so that comparison
happens in the right types.

Fixes: 9a7f38c42c
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-06-28 08:21:44 -06:00
Christoph Hellwig
288dab8a35 block: add a separate operation type for secure erase
Instead of overloading the discard support with the REQ_SECURE flag.
Use the opportunity to rename the queue flag as well, and remove the
dead checks for this flag in the RAID 1 and RAID 10 drivers that don't
claim support for secure erase.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-06-09 09:52:25 -06:00