973 Commits

Author SHA1 Message Date
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
Yajun Deng
48770ddd27 netdevice: add the case if dev is NULL
commit b37a466837393af72fe8bcb8f1436410f3f173f3 upstream.

Add the case if dev is NULL in dev_{put, hold}, so the caller doesn't
need to care whether dev is NULL or not.

Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
Signed-off-by: David S. Miller <davem@davemloft.net>
Cc: Pavel Machek <pavel@denx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-20 09:06:27 +02:00
Congyu Liu
be1ca30331 net: fix information leakage in /proc/net/ptype
commit 47934e06b65637c88a762d9c98329ae6e3238888 upstream.

In one net namespace, after creating a packet socket without binding
it to a device, users in other net namespaces can observe the new
`packet_type` added by this packet socket by reading `/proc/net/ptype`
file. This is minor information leakage as packet socket is
namespace aware.

Add a net pointer in `packet_type` to keep the net namespace of
of corresponding packet socket. In `ptype_seq_show`, this net pointer
must be checked when it is not NULL.

Fixes: 2feb27dbe0 ("[NETNS]: Minor information leak via /proc/net/ptype file.")
Signed-off-by: Congyu Liu <liu3101@purdue.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-02-08 18:15:27 +01:00
Lucas Wei
28ab10340e Merge android-4.9-q (4.9.258) into android-msm-pixel-4.9-lts
Merge 4.9.258 into android-4.9-q
Linux 4.9.258
    kvm: check tlbs_dirty directly
    scsi: qla2xxx: Fix crash during driver load on big endian machines
    xen-blkback: fix error handling in xen_blkbk_map()
    xen-scsiback: don't "handle" error by BUG()
    xen-netback: don't "handle" error by BUG()
    xen-blkback: don't "handle" error by BUG()
    xen/arm: don't ignore return errors from set_phys_to_machine
    Xen/gntdev: correct error checking in gntdev_map_grant_pages()
    Xen/gntdev: correct dev_bus_addr handling in gntdev_map_grant_pages()
    Xen/x86: also check kernel mapping in set_foreign_p2m_mapping()
    Xen/x86: don't bail early from clear_foreign_p2m_mapping()
  * tracing: Avoid calling cc-option -mrecord-mcount for every Makefile
      Makefile
      scripts/Makefile.build
  * tracing: Fix SKIP_STACK_VALIDATION=1 build due to bad merge with -mrecord-mcount
      scripts/Makefile.build
  * trace: Use -mcount-record for dynamic ftrace
      scripts/Makefile.build
    x86/build: Disable CET instrumentation in the kernel for 32-bit too
    vsock: fix locking in vsock_shutdown()
    vsock/virtio: update credit only if socket is not closed
  * net: watchdog: hold device global xmit lock during tx disable
      include/linux/netdevice.h
    net/vmw_vsock: improve locking in vsock_connect_timeout()
    usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
    usb: dwc3: ulpi: fix checkpatch warning
    h8300: fix PREEMPTION build, TI_PRE_COUNT undefined
  * netfilter: conntrack: skip identical origin tuple in same zone only
      net/netfilter/nf_conntrack_core.c
    xen/netback: avoid race in xenvif_rx_ring_slots_available()
    netfilter: xt_recent: Fix attempt to update deleted entry
  * bpf: Check for integer overflow when using roundup_pow_of_two()
      kernel/bpf/stackmap.c
  * memblock: do not start bottom-up allocations with kernel_end
      mm/memblock.c
    ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL
  * ovl: skip getxattr of security labels
      fs/overlayfs/copy_up.c
  * tracing: Check length before giving out the filter buffer
      kernel/trace/trace.c
  * tracing: Do not count ftrace events in top level enable output
      kernel/trace/trace_events.c
    squashfs: add more sanity checks in xattr id lookup
    squashfs: add more sanity checks in inode lookup
    squashfs: add more sanity checks in id lookup
  * futex: Cure exit race
      kernel/futex.c
  * futex: Change locking rules
      kernel/futex.c
  * futex: Ensure the correct return value from futex_lock_pi()
      kernel/futex.c
  * memcg: fix a crash in wb_workfn when a device disappears
      fs/fs-writeback.c
      include/linux/backing-dev.h
      include/trace/events/writeback.h
      mm/backing-dev.c
  * include/trace/events/writeback.h: fix -Wstringop-truncation warnings
      include/trace/events/writeback.h
  * lib/string: Add strscpy_pad() function
      include/linux/string.h
      lib/string.c
    SUNRPC: Handle 0 length opaque XDR object data properly
  * SUNRPC: Move simple_get_bytes and simple_get_netobj into private header
      include/linux/sunrpc/xdr.h
    iwlwifi: mvm: guard against device removal in reprobe
    iwlwifi: pcie: add a NULL check in iwl_pcie_txq_unmap
    iwlwifi: mvm: take mutex for calling iwl_mvm_get_sync_time()
  * af_key: relax availability checks for skb size calculation
      net/key/af_key.c
    remoteproc: qcom_q6v5_mss: Validate MBA firmware size before load
  * fgraph: Initialize tracing_graph_pause at task creation
      include/linux/ftrace.h
  * mm: memcontrol: fix NULL pointer crash in test_clear_page_writeback()
      include/linux/memcontrol.h
      mm/page-writeback.c
    Merge 4.9.257 into android-4.9-q
Linux 4.9.257
    ALSA: hda/realtek - Fix typo of pincfg for Dell quirk
    iommu/vt-d: Do not use flush-queue when caching-mode is on
    ACPI: thermal: Do not call acpi_thermal_check() directly
  * Input: xpad - sync supported devices with fork on GitHub
      drivers/input/joystick/xpad.c
    x86/apic: Add extra serialization for non-serializing MSRs
  * x86/build: Disable CET instrumentation in the kernel
      Makefile
    mm: thp: fix MADV_REMOVE deadlock on shmem THP
    mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active
    mm: hugetlb: fix a race between isolating and freeing page
  * mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page
      include/linux/hugetlb.h
    ARM: footbridge: fix dc21285 PCI configuration accessors
  * mmc: core: Limit retries when analyse of SDIO tuples fails
      drivers/mmc/core/sdio_cis.c
    cifs: report error instead of invalid when revalidating a dentry fails
  * xhci: fix bounce buffer usage for non-sg list case
      drivers/usb/host/xhci-ring.c
    kretprobe: Avoid re-registration of the same kretprobe earlier
    mac80211: fix station rate table updates on assoc
    usb: dwc2: Fix endpoint direction check in ep_from_windex
    USB: usblp: don't call usb_set_interface if there's a single alt
    USB: gadget: legacy: fix an error code in eth_bind()
  * elfcore: fix building with clang
      include/linux/elfcore.h
      kernel/Makefile
    net: lapb: Copy the skb before sending a packet
    Input: i8042 - unbreak Pegatron C15B
    USB: serial: option: Adding support for Cinterion MV31
    USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000
    USB: serial: cp210x: add pid/vid for WSDA-200-USB
  * stable: clamp SUBLEVEL in 4.4 and 4.9
      Makefile
    objtool: Don't fail on missing symbol table
    scsi: ibmvfc: Set default timeout to avoid crash during migration
    mac80211: fix fast-rx encryption check
    scsi: libfc: Avoid invoking response handler twice if ep is already completed
  * futex: Handle faults correctly for PI futexes
      kernel/futex.c
  * futex: Simplify fixup_pi_state_owner()
      kernel/futex.c
  * futex: Use pi_state_update_owner() in put_pi_state()
      kernel/futex.c
  * rtmutex: Remove unused argument from rt_mutex_proxy_unlock()
      kernel/futex.c
      kernel/locking/rtmutex.c
      kernel/locking/rtmutex_common.h
  * futex: Provide and use pi_state_update_owner()
      kernel/futex.c
  * futex: Replace pointless printk in fixup_owner()
      kernel/futex.c
  * futex: Avoid violating the 10th rule of futex
      kernel/futex.c
      kernel/locking/rtmutex.c
      kernel/locking/rtmutex_common.h
  * futex: Rework inconsistent rt_mutex/futex_q state
      kernel/futex.c
  * futex: Remove rt_mutex_deadlock_account_*()
      kernel/locking/rtmutex.c
      kernel/locking/rtmutex.h
  * futex,rt_mutex: Provide futex specific rt_mutex API
      kernel/futex.c
      kernel/locking/rtmutex.c
      kernel/locking/rtmutex_common.h
  * net_sched: reject silly cell_log in qdisc_get_rtab()
      net/sched/sch_api.c
    ibmvnic: Ensure that CRQ entry read are correctly ordered
    net: dsa: bcm_sf2: put device node before return
    Merge 4.9.256 into android-4.9-q
Linux 4.9.256
    Merge 4.9.255 into android-4.9-q
Linux 4.9.255
    NFC: fix possible resource leak
    NFC: fix resource leak when target index is invalid
    iommu/vt-d: Don't dereference iommu_device if IOMMU_API is not built
    iommu/vt-d: Gracefully handle DMAR units with no supported address widths
    can: dev: prevent potential information leak in can_fill_info()
    mac80211: pause TX while changing interface type
    iwlwifi: pcie: reschedule in long-running memory reads
    iwlwifi: pcie: use jiffies for memory read spin time limit
    RDMA/cxgb4: Fix the reported max_recv_sge value
  * xfrm: Fix oops in xfrm_replay_advance_bmp
      net/xfrm/xfrm_input.c
    netfilter: nft_dynset: add timeout extension to template
    ARM: imx: build suspend-imx6.S with arm instruction set
    mt7601u: fix rx buffer refcounting
    mt7601u: fix kernel crash unplugging the device
  * leds: trigger: fix potential deadlock with libata
      drivers/leds/led-triggers.c
    KVM: x86: get smi pending status correctly
    KVM: x86/pmu: Fix HW_REF_CPU_CYCLES event pseudo-encoding in intel_arch_events[]
  * futex: Prevent exit livelock
      kernel/futex.c
  * futex: Provide distinct return value when owner is exiting
      kernel/futex.c
  * futex: Add mutex around futex exit
      include/linux/futex.h
      include/linux/sched.h
      kernel/futex.c
  * futex: Provide state handling for exec() as well
      kernel/futex.c
  * futex: Sanitize exit state handling
      kernel/futex.c
  * futex: Mark the begin of futex exit explicitly
      include/linux/futex.h
      kernel/exit.c
      kernel/futex.c
  * futex: Set task::futex_state to DEAD right after handling futex exit
      kernel/exit.c
      kernel/futex.c
  * futex: Split futex_mm_release() for exit/exec
      include/linux/futex.h
      kernel/fork.c
      kernel/futex.c
  * exit/exec: Seperate mm_release()
      fs/exec.c
      include/linux/sched.h
      kernel/exit.c
      kernel/fork.c
  * futex: Replace PF_EXITPIDONE with a state
      include/linux/futex.h
      include/linux/sched.h
      kernel/exit.c
      kernel/futex.c
  * futex: Move futex exit handling into futex code
      include/linux/compat.h
      include/linux/futex.h
      kernel/fork.c
      kernel/futex.c
  * y2038: futex: Move compat implementation into futex.c
      include/linux/futex.h
      kernel/Makefile
      kernel/futex.c
    net: usb: qmi_wwan: added support for Thales Cinterion PLSx3 modem family
  * wext: fix NULL-ptr-dereference with cfg80211's lack of commit()
      net/wireless/wext-core.c
    ACPI: sysfs: Prefer "compatible" modalias

Bug: 181732917
Change-Id: Ice169f5980390199db8f86d42e944cdf5f37c562
Signed-off-by: Lucas Wei <lucaswei@google.com>
2021-03-12 14:56:50 +08:00
Edwin Peer
c23a7acb08 net: watchdog: hold device global xmit lock during tx disable
commit 3aa6bce9af0e25b735c9c1263739a5639a336ae8 upstream.

Prevent netif_tx_disable() running concurrently with dev_watchdog() by
taking the device global xmit lock. Otherwise, the recommended:

	netif_carrier_off(dev);
	netif_tx_disable(dev);

driver shutdown sequence can happen after the watchdog has already
checked carrier, resulting in possible false alarms. This is because
netif_tx_lock() only sets the frozen bit without maintaining the locks
on the individual queues.

Fixes: c3f26a269c ("netdev: Fix lockdep warnings in multiqueue configurations.")
Signed-off-by: Edwin Peer <edwin.peer@broadcom.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-02-23 13:59:16 +01:00
lucaswei
2b5e67e8a2 Merge android-4.9-q (4.9.232) into android-msm-pixel-4.9-lts
Merge 4.9.232 into android-4.9-q
Linux 4.9.232
    perf: Make perf able to build with latest libbfd
    perf tools: Fix snprint warnings for gcc 8
    perf annotate: Use asprintf when formatting objdump command line
    perf probe: Fix to check blacklist address correctly
    xfs: set format back to extents if xfs_bmap_extents_to_btree
  * regmap: debugfs: check count when read regmap file
      drivers/base/regmap/regmap-debugfs.c
    drivers/net/wan/x25_asy: Fix to make it work
    ip6_gre: fix null-ptr-deref in ip6gre_init_net()
  * tcp: allow at most one TLP probe per flight
      include/linux/tcp.h
      net/ipv4/tcp_input.c
      net/ipv4/tcp_output.c
    AX.25: Prevent integer overflows in connect and sendmsg
    rxrpc: Fix sendmsg() returning EPIPE due to recvmsg() returning ENODATA
  * net: udp: Fix wrong clean up for IS_UDPLITE macro
      net/ipv4/udp.c
      net/ipv6/udp.c
  * net-sysfs: add a newline when printing 'tx_timeout' by sysfs
      net/core/net-sysfs.c
  * dev: Defer free of skbs in flush_backlog
      net/core/dev.c
    AX.25: Prevent out-of-bounds read in ax25_sendmsg()
    AX.25: Fix out-of-bounds read in ax25_connect()
    ath9k: Fix regression with Atheros 9271
    ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
    parisc: Add atomic64_set_release() define to avoid CPU soft lockups
    io-mapping: indicate mapping failure
  * mm/memcg: fix refcount error while moving and swapping
      mm/memcontrol.c
  * Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
      Makefile
  * vt: Reject zero-sized screen buffer size.
      drivers/tty/vt/vt.c
    serial: 8250_mtk: Fix high-speed baud rates clamping
    serial: 8250: fix null-ptr-deref in serial8250_start_tx()
    staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
    staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
    staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
    staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
    staging: wlan-ng: properly check endpoint types
    Revert "cifs: Fix the target file was deleted when rename failed."
  * usb: xhci: Fix ASM2142/ASM3142 DMA addressing
      drivers/usb/host/xhci-pci.c
    usb: xhci-mtk: fix the failure of bandwidth allocation
    x86: math-emu: Fix up 'cmp' insn for clang ias
  * arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
      arch/arm64/kernel/debug-monitors.c
    usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
    dmaengine: ioat setting ioat timeout as module parameter
  * regmap: dev_get_regmap_match(): fix string comparison
      drivers/base/regmap/regmap.c
    dmaengine: tegra210-adma: Fix runtime PM imbalance on error
  * HID: apple: Disable Fn-key key-re-mapping on clone keyboards
      drivers/hid/hid-apple.c
    HID: i2c-hid: add Mediacom FlexBook edge13 to descriptor override
    scripts/decode_stacktrace: strip basepath from all paths
    net: smc91x: Fix possible memory leak in smc_drv_probe()
    net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
  * ax88172a: fix ax88172a_unbind() failures
      drivers/net/usb/ax88172a.c
    hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
    bnxt_en: Fix race when modifying pause settings.
    btrfs: fix mount failure caused by race with umount
    btrfs: fix double free on ulist after backref resolution failure
    ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
  * ALSA: info: Drop WARN_ON() from buffer NULL sanity check
      sound/core/info.c
    uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
    SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
    drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
    net: sky2: initialize return of gm_phy_read
    drivers/net/wan/lapbether: Fixed the value of hard_header_len
    xtensa: update *pos in cpuinfo_op.next
    xtensa: fix __sync_fetch_and_{and,or}_4 declarations
    scsi: scsi_transport_spi: Fix function pointer check
    mac80211: allow rx of mesh eapol frames with default rx key
    pinctrl: amd: fix npins for uart0 in kerncz_groups
  * UPSTREAM: xtables: extend matches and targets with .usersize
      net/netfilter/xt_CT.c
      net/netfilter/xt_TEE.c
      net/netfilter/xt_bpf.c
      net/netfilter/xt_connlimit.c
      net/netfilter/xt_hashlimit.c
      net/netfilter/xt_limit.c
      net/netfilter/xt_quota.c
      net/netfilter/xt_string.c
  * UPSTREAM: ip6tables: use match, target and data copy_to_user helpers
      net/ipv6/netfilter/ip6_tables.c
  * UPSTREAM: iptables: use match, target and data copy_to_user helpers
      net/ipv4/netfilter/ip_tables.c
  * UPSTREAM: xtables: add xt_match, xt_target and data copy_to_user functions
      include/linux/netfilter/x_tables.h
      net/netfilter/x_tables.c
    Merge 4.9.231 into android-4.9-q
Linux 4.9.231
    x86/cpu: Move x86_cache_bits settings
  * irqchip/gic: Atomically update affinity
      drivers/irqchip/irq-gic.c
  * sched/fair: handle case of task_h_load() returning 0
      kernel/sched/fair.c
  * arm64: ptrace: Override SPSR.SS when single-stepping is enabled
      arch/arm64/include/asm/debug-monitors.h
      arch/arm64/kernel/debug-monitors.c
      arch/arm64/kernel/ptrace.c
    misc: atmel-ssc: lock with mutex instead of spinlock
    dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
    hwmon: (emc2103) fix unable to change fan pwm1_enable attribute
    MIPS: Fix build for LTS kernel caused by backporting lpj adjustment
  * timer: Fix wheel index calculation on last level
      kernel/time/timer.c
    uio_pdrv_genirq: fix use without device tree and no interrupt
    Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list
    mei: bus: don't clean driver pointer
  * fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
      fs/fuse/file.c
    virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
    USB: serial: option: add Quectel EG95 LTE modem
    USB: serial: option: add GosunCn GM500 series
    USB: serial: ch341: add new Product ID for CH340
    USB: serial: cypress_m8: enable Simply Automated UPB PIM
    USB: serial: iuu_phoenix: fix memory corruption
    usb: gadget: function: fix missing spinlock in f_uac1_legacy
    usb: chipidea: core: add wakeup support for extcon
    usb: dwc2: Fix shutdown callback in platform
    USB: c67x00: fix use after free in c67x00_giveback_urb
  * ALSA: usb-audio: Fix race against the error recovery URB submission
      sound/usb/midi.c
    ALSA: line6: Perform sanity check for each URB creation
  * usb: core: Add a helper function to check the validity of EP type in URB
      drivers/usb/core/urb.c
      include/linux/usb.h
  * HID: magicmouse: do not set up autorepeat
      drivers/hid/hid-magicmouse.c
    mtd: rawnand: brcmnand: fix CS0 layout
    perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
    ARM: dts: socfpga: Align L2 cache-controller nodename with dtschema
    Revert "thermal: mediatek: fix register index error"
    staging: comedi: verify array index is correct before using it
    usb: gadget: udc: atmel: fix uninitialized read in debug printk
    spi: spi-sun6i: sun6i_spi_transfer_one(): fix setting of clock rate
    iio:health:afe4404 Fix timestamp alignment and prevent data leak.
    Revert "usb/ohci-platform: Fix a warning when hibernating"
  * Revert "usb/xhci-plat: Set PM runtime as active on resume"
      drivers/usb/host/xhci-plat.c
    Revert "usb/ehci-platform: Set PM runtime as active on resume"
    net: dsa: bcm_sf2: Fix node reference count
    spi: fix initial SPI_SR value in spi-fsl-dspi
    iio:health:afe4403 Fix timestamp alignment and prevent data leak.
    iio:pressure:ms5611 Fix buffer element alignment
    iio: pressure: zpa2326: handle pm_runtime_get_sync failure
    iio: mma8452: Add missed iio_device_unregister() call in mma8452_probe()
    iio: magnetometer: ak8974: Fix runtime PM imbalance on error
    iio:magnetometer:ak8974: Fix alignment and data leak issues
    i2c: eg20t: Load module automatically if ID matches
  * cgroup: Fix sock_cgroup_data on big-endian.
      include/linux/cgroup-defs.h
  * cgroup: fix cgroup_sk_alloc() for sk_clone_lock()
      include/linux/cgroup-defs.h
      include/linux/cgroup.h
      kernel/cgroup.c
      net/core/sock.c
  * tcp: md5: allow changing MD5 keys in all socket states
      net/ipv4/tcp.c
  * tcp: md5: do not send silly options in SYNCOOKIES
      net/ipv4/tcp_output.c
  * tcp: make sure listeners don't initialize congestion-control state
      net/ipv4/tcp.c
      net/ipv4/tcp_cong.c
  * genetlink: remove genl_bind
      include/net/genetlink.h
      net/netlink/genetlink.c
  * tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
      net/ipv4/tcp.c
      net/ipv4/tcp_ipv4.c
  * tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
      net/ipv4/tcp.c
      net/ipv4/tcp_ipv4.c
    net: usb: qmi_wwan: add support for Quectel EG95 LTE modem
  * net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
      include/net/dst.h
    llc: make sure applications use ARPHRD_ETHER
  * l2tp: remove skb_dst_set() from l2tp_xmit_skb()
      net/l2tp/l2tp_core.c
  * ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg
      net/ipv4/ping.c
    s390/mm: fix huge pte soft dirty copying
    ARC: elf: use right ELF_ARCH
    ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE
    drm/radeon: fix double free
    btrfs: fix fatal extent_buffer readahead vs releasepage race
    Revert "ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb"
    KVM: x86: bit 8 of non-leaf PDPEs is not reserved
  * KVM: arm64: Fix definition of PAGE_HYP_DEVICE
      arch/arm64/include/asm/pgtable-prot.h
  * ALSA: usb-audio: add quirk for MacroSilicon MS2109
      sound/usb/quirks-table.h
    ALSA: hda - let hs_mic be picked ahead of hp_mic
    ALSA: opl3: fix infoleak in opl3
    net: macb: mark device wake capable when "magic-packet" property present
    bnxt_en: fix NULL dereference in case SR-IOV configuration fails
  * arm64: kgdb: Fix single-step exception handling oops
      arch/arm64/kernel/kgdb.c
  * ALSA: compress: fix partial_drain completion state
      include/sound/compress_driver.h
      sound/core/compress_offload.c
    smsc95xx: avoid memory leak in smsc95xx_bind
    smsc95xx: check return value of smsc95xx_reset
    net: cxgb4: fix return error value in t4_prep_fw
    scsi: mptscsih: Fix read sense data size
    ARM: imx6: add missing put_device() call in imx6q_suspend_init()
    cifs: update ctime and mtime during truncate
    s390/kasan: fix early pgm check handler execution
  * spi: spidev: fix a potential use-after-free in spidev_release()
      drivers/spi/spidev.c
  * spi: spidev: fix a race between spidev_release and spidev_remove
      drivers/spi/spidev.c
    gpu: host1x: Detach driver on unregister
    KVM: s390: reduce number of IO pins to 1
    ANDROID: cuttlefish_defconfig: Drop built-in cmdline (except nopti)
    Merge 4.9.230 into android-4.9-q
Linux 4.9.230
  * efi: Make it possible to disable efivar_ssdt entirely
      drivers/firmware/efi/Kconfig
  * netfilter: nf_conntrack_h323: lost .data_len definition for Q.931/ipv6
      net/netfilter/nf_conntrack_h323_main.c
    MIPS: Add missing EHB in mtc0 -> mfc0 sequence for DSPen
    cifs: Fix the target file was deleted when rename failed.
    SMB3: Honor persistent/resilient handle flags for multiuser mounts
    SMB3: Honor 'seal' flag for multiuser mounts
  * Revert "ALSA: usb-audio: Improve frames size computation"
      sound/usb/card.h
      sound/usb/endpoint.c
      sound/usb/endpoint.h
      sound/usb/pcm.c
    i2c: algo-pca: Add 0x78 as SCL stuck low status for PCA9665
    virtio-blk: free vblk-vqs in error path of virtblk_probe()
    hwmon: (acpi_power_meter) Fix potential memory leak in acpi_power_meter_add()
    hwmon: (max6697) Make sure the OVERT mask is set correctly
    cxgb4: parse TC-U32 key values and masks natively
  * sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
      include/linux/sched/sysctl.h
      kernel/sched/core.c
      kernel/sched/rt.c
      kernel/sysctl.c
    crypto: af_alg - fix use-after-free in af_alg_accept() due to bh_lock_sock()
  * kgdb: Avoid suspicious RCU usage warning
      kernel/debug/debug_core.c
    usb: usbtest: fix missing kfree(dev->buf) in usbtest_disconnect
  * mm/slub: fix stack overruns with SLUB_STATS
      mm/slub.c
  * mm/slub.c: fix corrupted freechain in deactivate_slab()
      mm/slub.c
    usbnet: smsc95xx: Fix use-after-free after removal
    EDAC/amd64: Read back the scrub rate PCI register on F15h
  * mm: fix swap cache node allocation mask
      mm/swap_state.c
    btrfs: fix data block group relocation failure due to concurrent scrub
    btrfs: cow_file_range() num_bytes and disk_num_bytes are same
    btrfs: fix a block group ref counter leak after failure to remove block group
    Merge 4.9.229 into android-4.9-q
Linux 4.9.229
    Revert "tty: hvc: Fix data abort due to race in hvc_open"
    xfs: add agf freeblocks verify in xfs_agf_verify
    NFSv4 fix CLOSE not waiting for direct IO compeletion
    pNFS/flexfiles: Fix list corruption if the mirror count changes
    SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment()
    sunrpc: fixed rollback in rpc_gssd_dummy_populate()
    drm/radeon: fix fb_div check in ni_init_smc_spll_table()
  * tracing: Fix event trigger to accept redundant spaces
      kernel/trace/trace_events_trigger.c
  * arm64: perf: Report the PC value in REGS_ABI_32 mode
      arch/arm64/kernel/perf_regs.c
    ocfs2: fix panic on nfs server over ocfs2
    ocfs2: fix value of OCFS2_INVALID_SLOT
    ocfs2: load global_inode_alloc
  * mm/slab: use memzero_explicit() in kzfree()
      mm/slab_common.c
    KVM: X86: Fix MSR range of APIC registers in X2APIC mode
    ACPI: sysfs: Fix pm_profile_attr type
    ALSA: hda: Add NVIDIA codec IDs 9a & 9d through a0 to patch table
  * blktrace: break out of blktrace setup on concurrent calls
      kernel/trace/blktrace.c
  * kbuild: improve cc-option to clean up all temporary files
      scripts/Kbuild.include
    s390/ptrace: fix setting syscall number
    net: alx: fix race condition in alx_remove
    ata/libata: Fix usage of page address by page_address in ata_scsi_mode_select_xlat function
  * sched/core: Fix PI boosting between RT and DEADLINE tasks
      kernel/sched/core.c
    netfilter: ipset: fix unaligned atomic access
    usb: gadget: udc: Potential Oops in error handling code
    ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram()
    net: qed: fix excessive QM ILT lines consumption
    net: qed: fix NVMe login fails over VFs
    net: qed: fix left elements count calculation
    RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads()
    efi/esrt: Fix reference count leak in esre_create_sysfs_entry.
    cifs/smb3: Fix data inconsistent when zero file range
    cifs/smb3: Fix data inconsistent when punch hole
  * xhci: Poll for U0 after disabling USB2 LPM
      drivers/usb/host/xhci.c
  * ALSA: usb-audio: Fix OOB access of mixer element list
      sound/usb/mixer.c
      sound/usb/mixer.h
      sound/usb/mixer_quirks.c
  * ALSA: usb-audio: Clean up mixer element list traverse
      sound/usb/mixer.c
      sound/usb/mixer.h
      sound/usb/mixer_quirks.c
      sound/usb/mixer_scarlett.c
  * ALSA: usb-audio: uac1: Invalidate ctl on interrupt
      sound/usb/mixer.c
    cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
  * xhci: Fix enumeration issue when setting max packet size for FS devices.
      drivers/usb/host/xhci.c
  * xhci: Fix incorrect EP_STATE_MASK
      drivers/usb/host/xhci.h
  * ALSA: usb-audio: add quirk for Denon DCD-1500RE
      sound/usb/quirks.c
    usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
    USB: ehci: reopen solution for Synopsys HC bug
  * usb: add USB_QUIRK_DELAY_INIT for Logitech C922
      drivers/usb/core/quirks.c
    usb: dwc2: Postponed gadget registration to the udc class driver
    USB: ohci-sm501: Add missed iounmap() in remove
  * net: core: reduce recursion limit value
      include/linux/netdevice.h
  * net: Do not clear the sock TX queue in sk_set_socket()
      include/net/sock.h
      net/core/sock.c
  * net: Fix the arp error in some cases
      net/ipv4/fib_semantics.c
  * sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket
      include/net/sctp/constants.h
  * tcp: grow window for OOO packets only for SACK flows
      net/ipv4/tcp_input.c
    ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
  * tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
      net/ipv4/tcp_cubic.c
  * ip_tunnel: fix use-after-free in ip_tunnel_lookup()
      net/ipv4/ip_tunnel.c
    tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes
    rxrpc: Fix notification call on completion of discarded calls
    rocker: fix incorrect error handling in dma_rings_init
  * net: usb: ax88179_178a: fix packet alignment padding
      drivers/net/usb/ax88179_178a.c
  * net: fix memleak in register_netdevice()
      net/core/dev.c
  * mld: fix memory leak in ipv6_mc_destroy_dev()
      net/ipv6/mcast.c
    fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"
  * net: sched: export __netdev_watchdog_up()
      net/sched/sch_generic.c
  * l2tp: Allow duplicate session creation with UDP
      net/l2tp/l2tp_core.c
  * scsi: scsi_devinfo: handle non-terminated strings
      drivers/scsi/scsi_devinfo.c
    mtd: rawnand: tmio: Fix the probe error path
    mtd: rawnand: mtk: Fix the probe error path
    mtd: rawnand: plat_nand: Fix the probe error path
    mtd: rawnand: socrates: Fix the probe error path
    mtd: rawnand: orion: Fix the probe error path
    mtd: rawnand: xway: Fix the probe error path
    mtd: rawnand: sharpsl: Fix the probe error path
    mtd: rawnand: diskonchip: Fix the probe error path
    mtd: rawnand: Pass a nand_chip object to nand_release()
  * media: dvb_frontend: fix return error code
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: fix wrong cast in compat_ioctl
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: Add commands implementation for compat ioct
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: Add compat_ioctl callback
      drivers/media/dvb-core/dvb_frontend.c
      fs/compat_ioctl.c
  * media: dvb_frontend: Add unlocked_ioctl in dvb_frontend.c
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: be sure to init dvb_frontend_handle_ioctl() return code
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: dtv_property_process_set() cleanups
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: fix return values for FE_SET_PROPERTY
      drivers/media/dvb-core/dvb_frontend.c
      include/uapi/linux/dvb/frontend.h
  * media: dvb_frontend: better document the -EPERM condition
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: get rid of property cache's state
      drivers/media/dvb-core/dvb_frontend.c
      drivers/media/dvb-core/dvb_frontend.h
  * media: dvb_frontend: cleanup ioctl handling logic
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: cleanup dvb_frontend_ioctl_properties()
      drivers/media/dvb-core/dvb_frontend.c
  * media: dvb_frontend: get rid of set_property() callback
      drivers/media/dvb-core/dvb_frontend.c
      drivers/media/dvb-core/dvb_frontend.h
    media: friio-fe: get rid of set_property()
    media: stv6110: get rid of a srate dead code
    media: stv0288: get rid of set_property boilerplate
  * media: dvb_frontend: get rid of get_property() callback
      drivers/media/dvb-core/dvb_frontend.c
      drivers/media/dvb-core/dvb_frontend.h
  * media: dvb/frontend.h: document the uAPI file
      include/uapi/linux/dvb/frontend.h
  * media: dvb/frontend.h: move out a private internal structure
      drivers/media/dvb-core/dvb_frontend.c
      include/uapi/linux/dvb/frontend.h
  * media: dvb_frontend: initialize variable s with FE_NONE instead of 0
      drivers/media/dvb-core/dvb_frontend.c
  * net: core: device_rename: Use rwsem instead of a seqcount
      net/core/dev.c
  * sched/rt, net: Use CONFIG_PREEMPTION.patch
      net/core/dev.c
    e1000e: Do not wake up the system via WOL if device wakeup is disabled
  * kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
      include/linux/kprobes.h
    x86/kprobes: Avoid kretprobe recursion bug
    powerpc/kprobes: Fixes for kprobe_lookup_name() on BE
    kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
  * crypto: algboss - don't wait during notifier callback
      crypto/algboss.c
    drm/i915: Whitelist context-local timestamp in the gen9 cmdparser
    s390: fix syscall_get_error for compat processes
  * block: nr_sects_write(): Disable preemption on seqcount write
      include/linux/genhd.h
    x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld
  * drm/dp_mst: Increase ACT retry timeout to 3s
      drivers/gpu/drm/drm_dp_mst_topology.c
  * ext4: fix partial cluster initialization when splitting extent
      fs/ext4/extents.c
  * selinux: fix double free
      security/selinux/ss/services.c
    drm/qxl: Use correct notify port address when creating cursor ring
  * drm/dp_mst: Reformat drm_dp_check_act_status() a bit
      drivers/gpu/drm/drm_dp_mst_topology.c
  * drm: encoder_slave: fix refcouting error for modules
      drivers/gpu/drm/drm_encoder_slave.c
    libata: Use per port sync for detach
  * block: Fix use-after-free in blkdev_get()
      fs/block_dev.c
    bcache: fix potential deadlock problem in btree_gc_coalesce
    perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events()
    usb/ehci-platform: Set PM runtime as active on resume
  * usb/xhci-plat: Set PM runtime as active on resume
      drivers/usb/host/xhci-plat.c
    scsi: acornscsi: Fix an error handling path in acornscsi_probe()
    selftests/net: in timestamping, strncpy needs to preserve null byte
    selftests/vm/pkeys: fix alloc_random_pkey() to make it really random
  * elfnote: mark all .note sections SHF_ALLOC
      include/linux/elfnote.h
  * include/linux/bitops.h: avoid clang shift-count-overflow warnings
      include/linux/bitops.h
  * lib/zlib: remove outdated and incorrect pre-increment optimization
      lib/zlib_inflate/inffast.c
    crypto: omap-sham - add proper load balancing support for multicore
    pinctrl: imxl: Fix an error handling path in 'imx1_pinctrl_core_probe()'
    scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
    gfs2: Allow lock_nolock mount to specify jid=X
    openrisc: Fix issue with argument clobbering for clone/fork
    ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
    extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()'
    NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION
    net: sunrpc: Fix off-by-one issues in 'rpc_ntop6'
    clk: bcm2835: Fix return type of bcm2835_register_gate
  * usb: gadget: Fix issue with config_ep_by_speed function
      drivers/usb/gadget/composite.c
      include/linux/usb/composite.h
    usb: gadget: fix potential double-free in m66592_probe.
    usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check
    USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke
    usb: dwc2: gadget: move gadget resume after the core is in L0 state
    watchdog: da9062: No need to ping manually before setting timeout
    IB/cma: Fix ports memory leak in cma_configfs
    PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port
    powerpc/64s/pgtable: fix an undefined behaviour
    clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1
    tty: n_gsm: Fix bogus i++ in gsm_data_kick
    USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe()
    drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation
    usb/ohci-platform: Fix a warning when hibernating
    vfio-pci: Mask cap zero
    powerpc/ps3: Fix kexec shutdown hang
    powerpc/pseries/ras: Fix FWNMI_VALID off by one
    tty: n_gsm: Fix waking up upper tty layer when room available
    tty: n_gsm: Fix SOF skipping
    clk: ti: composite: fix memory leak
    dlm: remove BUG() before panic()
    scsi: mpt3sas: Fix double free warnings
    power: supply: smb347-charger: IRQSTAT_D is volatile
    power: supply: lp8788: Fix an error handling path in 'lp8788_charger_probe()'
    PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges
    PCI: rcar: Fix incorrect programming of OB windows
  * drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish
      drivers/base/platform.c
    serial: amba-pl011: Make sure we initialize the port.lock spinlock
    i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output
    staging: sm750fb: add missing case while setting FB_VISUAL
    tty: hvc: Fix data abort due to race in hvc_open
    s390/qdio: put thinint indicator after early error
  * ALSA: usb-audio: Improve frames size computation
      sound/usb/card.h
      sound/usb/endpoint.c
      sound/usb/endpoint.h
      sound/usb/pcm.c
    scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
    scsi: sr: Fix sr_probe() missing deallocate of device minor
  * mksysmap: Fix the mismatch of '.L' symbols in System.map
      scripts/mksysmap
    yam: fix possible memory leak in yam_init_driver
    powerpc/crashkernel: Take "mem=" option into account
    nfsd: Fix svc_xprt refcnt leak when setup callback client failed
    powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run
    clk: clk-flexgen: fix clock-critical handling
    scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
    mfd: wm8994: Fix driver operation if loaded as modules
    vfio/pci: fix memory leaks in alloc_perm_bits()
    ps3disk: use the default segment boundary
    PCI: aardvark: Don't blindly enable ASPM L0s and don't write to read-only register
    usblp: poison URBs upon disconnect
    i2c: pxa: clear all master action bits in i2c_pxa_stop_message()
    iio: bmp280: fix compensation of humidity
    scsi: qla2xxx: Fix issue with adapter's stopping state
    ALSA: isa/wavefront: prevent out of bounds write in ioctl
    ARM: integrator: Add some Kconfig selections
    backlight: lp855x: Ensure regulators are disabled on probe failure
    clk: qcom: msm8916: Fix the address location of pll->config_reg
    iio: pressure: bmp280: Tolerate IRQ before registering
    i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets
    clk: sunxi: Fix incorrect usage of round_down()
  * power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select
      drivers/power/supply/Kconfig

Change-Id: I9fdac4691b013061a19d375293b7049b999830d0
Signed-off-by: lucaswei <lucaswei@google.com>
2020-08-11 20:25:36 +08:00
Taehee Yoo
6aa66b7153 net: core: reduce recursion limit value
[ Upstream commit fb7861d14c8d7edac65b2fcb6e8031cb138457b2 ]

In the current code, ->ndo_start_xmit() can be executed recursively only
10 times because of stack memory.
But, in the case of the vxlan, 10 recursion limit value results in
a stack overflow.
In the current code, the nested interface is limited by 8 depth.
There is no critical reason that the recursion limitation value should
be 10.
So, it would be good to be the same value with the limitation value of
nesting interface depth.

Test commands:
    ip link add vxlan10 type vxlan vni 10 dstport 4789 srcport 4789 4789
    ip link set vxlan10 up
    ip a a 192.168.10.1/24 dev vxlan10
    ip n a 192.168.10.2 dev vxlan10 lladdr fc:22:33:44:55:66 nud permanent

    for i in {9..0}
    do
        let A=$i+1
	ip link add vxlan$i type vxlan vni $i dstport 4789 srcport 4789 4789
	ip link set vxlan$i up
	ip a a 192.168.$i.1/24 dev vxlan$i
	ip n a 192.168.$i.2 dev vxlan$i lladdr fc:22:33:44:55:66 nud permanent
	bridge fdb add fc:22:33:44:55:66 dev vxlan$A dst 192.168.$i.2 self
    done
    hping3 192.168.10.2 -2 -d 60000

Splat looks like:
[  103.814237][ T1127] =============================================================================
[  103.871955][ T1127] BUG kmalloc-2k (Tainted: G    B            ): Padding overwritten. 0x00000000897a2e4f-0x000
[  103.873187][ T1127] -----------------------------------------------------------------------------
[  103.873187][ T1127]
[  103.874252][ T1127] INFO: Slab 0x000000005cccc724 objects=5 used=5 fp=0x0000000000000000 flags=0x10000000001020
[  103.881323][ T1127] CPU: 3 PID: 1127 Comm: hping3 Tainted: G    B             5.7.0+ #575
[  103.882131][ T1127] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS VirtualBox 12/01/2006
[  103.883006][ T1127] Call Trace:
[  103.883324][ T1127]  dump_stack+0x96/0xdb
[  103.883716][ T1127]  slab_err+0xad/0xd0
[  103.884106][ T1127]  ? _raw_spin_unlock+0x1f/0x30
[  103.884620][ T1127]  ? get_partial_node.isra.78+0x140/0x360
[  103.885214][ T1127]  slab_pad_check.part.53+0xf7/0x160
[  103.885769][ T1127]  ? pskb_expand_head+0x110/0xe10
[  103.886316][ T1127]  check_slab+0x97/0xb0
[  103.886763][ T1127]  alloc_debug_processing+0x84/0x1a0
[  103.887308][ T1127]  ___slab_alloc+0x5a5/0x630
[  103.887765][ T1127]  ? pskb_expand_head+0x110/0xe10
[  103.888265][ T1127]  ? lock_downgrade+0x730/0x730
[  103.888762][ T1127]  ? pskb_expand_head+0x110/0xe10
[  103.889244][ T1127]  ? __slab_alloc+0x3e/0x80
[  103.889675][ T1127]  __slab_alloc+0x3e/0x80
[  103.890108][ T1127]  __kmalloc_node_track_caller+0xc7/0x420
[ ... ]

Fixes: 11a766ce91 ("net: Increase xmit RECURSION_LIMIT to 10.")
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-30 15:38:39 -04:00
lucaswei
ea8ebe3ab8 Merge android-4.9-q (4.9.210) into android-msm-pixel-4.9-lts
Merge 4.9.210 into android-4.9-q
Linux 4.9.210
    drm/i915/gen9: Clear residual context state on context switch
    netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present
  * netfilter: arp_tables: init netns pointer in xt_tgchk_param struct
      net/ipv4/netfilter/arp_tables.c
  * USB: Fix: Don't skip endpoint descriptors with maxpacket=0
      drivers/usb/core/config.c
    rtl8xxxu: prevent leaking urb
    scsi: bfa: release allocated memory in case of error
    mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf
    mwifiex: fix possible heap overflow in mwifiex_process_country_ie()
  * tty: always relink the port
      drivers/tty/tty_port.c
  * tty: link tty and port before configuring it as console
      drivers/tty/serial/serial_core.c
      drivers/tty/tty_port.c
    staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21
    staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713
    usb: musb: dma: Correct parameter passed to IRQ handler
    usb: musb: Disable pullup at init
    usb: musb: fix idling for suspend after disconnect interrupt
    USB: serial: option: add ZLP support for 0x1bc7/0x9010
    staging: vt6656: set usb_set_intfdata on driver fail.
    can: can_dropped_invalid_skb(): ensure an initialized headroom in outgoing CAN sk_buffs
    can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode
    can: gs_usb: gs_usb_probe(): use descriptors of current altsetting
  * drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ
      drivers/gpu/drm/drm_dp_mst_topology.c
  * Input: add safety guards to input_set_keycode()
      drivers/input/input.c
  * HID: hid-input: clear unmapped usages
      drivers/hid/hid-input.c
  * HID: uhid: Fix returning EPOLLOUT from uhid_char_poll
      drivers/hid/uhid.c
  * HID: Fix slab-out-of-bounds read in hid_field_extract
      drivers/hid/hid-core.c
    tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined
    kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail
  * tcp: minimize false-positives on TCP/GRO check
      net/ipv4/tcp_input.c
  * ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5
      sound/usb/quirks.c
    usb: chipidea: host: Disable port power only if previously enabled
  * chardev: Avoid potential use-after-free in 'chrdev_open()'
      fs/char_dev.c
  * kobject: Export kobject_get_unless_zero()
      include/linux/kobject.h
      lib/kobject.c
    Merge 4.9.209 into android-4.9-q
Linux 4.9.209
    USB: serial: option: add Telit ME910G1 0x110a composition
  * USB: core: fix check for duplicate endpoints
      drivers/usb/core/config.c
    vlan: fix memory leak in vlan_dev_set_egress_priority
  * net: sch_prio: When ungrafting, replace with FIFO
      net/sched/sch_prio.c
    vlan: vlan_changelink() should propagate errors
    vxlan: fix tos value before xmit
  * tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK
      net/ipv4/tcp_input.c
    sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY
    pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM
    net: usb: lan78xx: fix possible skb leak
    net: stmmac: dwmac-sunxi: Allow all RGMII modes
  * macvlan: do not assume mac_header is set in macvlan_broadcast()
      include/linux/if_ether.h
    llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c)
    parisc: Fix compiler warnings in debug_core.c
  * block: fix memleak when __blk_rq_map_user_iov() is failed
      block/blk-map.c
    net: stmmac: RX buffer size must be 16 byte aligned
    perf/x86/intel: Fix PT PMI handling
  * kconfig: don't crash on NULL expressions in expr_eq()
      scripts/kconfig/expr.c
    regulator: rn5t618: fix module aliases
    ASoC: wm8962: fix lambda value
  * rfkill: Fix incorrect check to avoid NULL pointer dereference
      net/rfkill/core.c
    net: usb: lan78xx: Fix error message format specifier
    bnx2x: Fix logic to get total no. of PFs per engine
    bnx2x: Do not handle requests from VFs after parity
    powerpc: Ensure that swiotlb buffer is allocated from low memory
    samples: bpf: Replace symbol compare of trace_event
    ARM: dts: am437x-gp/epos-evm: fix panel compatible
    spi: spi-cavium-thunderx: Add missing pci_release_regions()
    netfilter: uapi: Avoid undefined left-shift in xt_sctp.h
    ARM: vexpress: Set-up shared OPP table instead of individual for each CPU
    efi/gop: Fix memory leak in __gop_query32/64()
    efi/gop: Return EFI_SUCCESS if a usable GOP was found
    efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs
  * netfilter: ctnetlink: netns exit must wait for callbacks
      net/netfilter/nf_conntrack_netlink.c
    locking/spinlock/debug: Fix various data races
  * pstore/ram: Write new dumps to start of recycled zones
      fs/pstore/ram.c
    locking/x86: Remove the unused atomic_inc_short() methd
    xen/blkback: Avoid unmapping unmapped grant pages
    s390/smp: fix physical to logical CPU map for SMT
  * net: add annotations on hh->hh_len lockless accesses
      include/net/neighbour.h
      net/core/neighbour.c
      net/ethernet/eth.c
    ath9k_htc: Discard undersized packets
    ath9k_htc: Modify byte order for an error message
    rxrpc: Fix possible NULL pointer access in ICMP handling
    powerpc/pseries/hvconsole: Fix stack overread via udbg
  * drm/mst: Fix MST sideband up-reply failure handling
      drivers/gpu/drm/drm_dp_mst_topology.c
  * fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP
      fs/compat_ioctl.c
    tty: serial: msm_serial: Fix lockup for sysrq and oops
    media: usb: fix memory leak in af9005_identify_state
    regulator: ab8500: Remove AB8505 USB regulator
    media: flexcop-usb: ensure -EIO is returned on error condition
  * Bluetooth: Fix memory leak in hci_connect_le_scan
      net/bluetooth/hci_conn.c
  * Bluetooth: delete a stray unlock
      net/bluetooth/l2cap_core.c
    Bluetooth: btusb: fix PM leak in error case of setup
    xfs: don't check for AG deadlock for realtime files in bunmapi
    nfsd4: fix up replay_matches_cache()
  * PM / devfreq: Check NULL governor in available_governors_show
      drivers/devfreq/devfreq.c
  * arm64: Revert support for execute-only user mappings
      arch/arm64/include/asm/pgtable-prot.h
      arch/arm64/include/asm/pgtable.h
      arch/arm64/mm/fault.c
      mm/mmap.c
    ftrace: Avoid potential division by zero in function profiler
    ALSA: cs4236: fix error return comparison of an unsigned integer
    tracing: Have the histogram compare functions convert to u64 first
  * gpiolib: fix up emulated open drain outputs
      drivers/gpio/gpiolib.c
    ata: ahci_brcm: Fix AHCI resources management
    ata: ahci_brcm: Allow optional reset controller to be used
    ata: libahci_platform: Export again ahci_platform_<en/dis>able_phys()
  * compat_ioctl: block: handle Persistent Reservations
      block/compat_ioctl.c
  * dmaengine: Fix access to uninitialized dma_slave_caps
      include/linux/dmaengine.h
  * locks: print unsigned ino in /proc/locks
      fs/locks.c
  * memcg: account security cred as well to kmemcg
      kernel/cred.c
  * mm/zsmalloc.c: fix the migrated zspage statistics.
      mm/zsmalloc.c
    MIPS: Avoid VDSO ABI breakage due to global register variable
    ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code
    Revert "perf report: Add warning when libunwind not compiled in"
  * drm: limit to INT_MAX in create_blob ioctl
      drivers/gpu/drm/drm_property.c
  * taskstats: fix data-race
      kernel/taskstats.c
    xfs: fix mount failure crash on invalid iclog memory access
    PM / hibernate: memory_bm_find_bit(): Tighten node optimisation
    xen/balloon: fix ballooned page accounting without hotplug enabled
    xen-blkback: prevent premature module unload
    IB/mlx4: Follow mirror sequence of device add during device removal
    s390/cpum_sf: Avoid SBD overflow condition in irq handler
    s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits
    md: raid1: check rdev before reference in raid1_sync_request func
    usb: gadget: fix wrong endpoint desc
    scsi: libsas: stop discovering if oob mode is disconnected
    scsi: iscsi: qla4xxx: fix double free in probe
    scsi: qla2xxx: Don't call qlt_async_event twice
    scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func
    RDMA/cma: add missed unregister_pernet_subsys in init failure
  * PM / devfreq: Don't fail devfreq_dev_release if not in list
      drivers/devfreq/devfreq.c
  * arm64: alternatives: use tpidr_el2 on VHE hosts
      arch/arm64/mm/proc.S
    Merge 4.9.208 into android-4.9-q
Linux 4.9.208
    gtp: avoid zero size hashtable
    gtp: fix wrong condition in gtp_genl_dump_pdp()
  * tcp: do not send empty skb from tcp_write_xmit()
      net/ipv4/tcp_output.c
  * tcp/dccp: fix possible race __inet_lookup_established()
      include/linux/rculist_nulls.h
      include/net/inet_hashtables.h
      include/net/sock.h
      net/ipv4/inet_diag.c
      net/ipv4/inet_hashtables.c
      net/ipv4/tcp_ipv4.c
      net/ipv6/inet6_hashtables.c
    vhost/vsock: accept only packets with the right dst_cid
    net: ena: fix napi handler misbehavior when the napi budget is zero
  * mmc: sdhci: Update the tuning failed messages to pr_debug level
      drivers/mmc/host/sdhci.c
    pinctrl: baytrail: Really serialize all register accesses
    tty/serial: atmel: fix out of range clock divider handling
  * hrtimer: Annotate lockless access to timer->state
      include/linux/hrtimer.h
      kernel/time/hrtimer.c
  * net: icmp: fix data-race in cmp_global_allow()
      net/ipv4/icmp.c
    netfilter: bridge: make sure to pull arp header in br_nf_forward_arp()
    6pack,mkiss: fix possible deadlock
  * netfilter: ebtables: compat: reject all padding in matches/watchers
      net/bridge/netfilter/ebtables.c
  * filldir[64]: remove WARN_ON_ONCE() for bad directory entries
      fs/readdir.c
  * Make filldir[64]() verify the directory entry filename is valid
      fs/readdir.c
    perf strbuf: Remove redundant va_end() in strbuf_addv()
    ALSA: hda - Downgrade error message for single-cmd fallback
  * net, sysctl: Fix compiler warning when only cBPF is present
      net/core/sysctl_net_core.c
    x86/mce: Fix possibly incorrect severity calculation on AMD
  * kernel: sysctl: make drop_caches write-only
      kernel/sysctl.c
    ocfs2: fix passing zero to 'PTR_ERR' warning
    s390/cpum_sf: Check for SDBT and SDB consistency
  * libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h
      include/linux/libfdt_env.h
    perf regs: Make perf_reg_name() return "unknown" instead of NULL
    cdrom: respect device capabilities during opening action
  * scripts/kallsyms: fix definitely-lost memory leak
      scripts/kallsyms.c
    gpio: mpc8xxx: Don't overwrite default irq_set_type callback
    scsi: target: iscsi: Wait for all commands to finish before freeing a session
    scsi: scsi_debug: num_tgts must be >= 0
    scsi: pm80xx: Fix for SATA device discovery
  * ext4: work around deleting a file with i_nlink == 0 safely
      fs/ext4/namei.c
  * HID: Improve Windows Precision Touchpad detection.
      drivers/hid/hid-core.c
    bcache: at least try to shrink 1 node in bch_mca_scan()
    clk: pxa: fix one of the pxa RTC clocks
    scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE
    powerpc/security: Fix wrong message when RFI Flush is disable
    powerpc/pseries/cmm: Implement release() function for sysfs device
  * scsi: ufs: fix potential bug which ends in system hang
      drivers/scsi/ufs/ufshcd.c
    scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences
  * fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long
      fs/quota/dquot.c
      include/linux/quota.h
    irqchip: ingenic: Error out if IRQ domain creation failed
    irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary
  * clk: qcom: Allow constant ratio freq tables for rcg
      drivers/clk/qcom/clk-rcg2.c
      drivers/clk/qcom/common.c
    scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow
  * scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6)
      drivers/scsi/scsi_trace.c
  * jbd2: Fix statistics for the number of logged blocks
      fs/jbd2/commit.c
    powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning
    powerpc/security/book3s64: Report L1TF status in sysfs
    clocksource/drivers/asm9260: Add a check for of_clk_get
    dma-debug: add a schedule point in debug_dma_dump_mappings()
    powerpc/pseries: Don't fail hash page table insert for bolted mapping
    powerpc/pseries: Mark accumulate_stolen_time() as notrace
    scsi: csiostor: Don't enable IRQs too early
    scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices
    scsi: target: compare full CHAP_A Algorithm strings
    iommu/tegra-smmu: Fix page tables in > 4 GiB memory
    Input: atmel_mxt_ts - disable IRQ across suspend
    scsi: lpfc: Fix locking on mailbox command completion
    scsi: mpt3sas: Fix clear pending bit in ioctl status
    perf probe: Fix to show function entry line as probe-able
    mmc: sdhci-of-esdhc: fix P2020 errata handling
    powerpc/irq: fix stack overflow verification
  * ext4: check for directory entries too close to block end
      fs/ext4/dir.c
  * ext4: fix ext4_empty_dir() for directories with holes
      fs/ext4/namei.c
    staging: comedi: gsc_hpdi: check dma_alloc_coherent() return value
    platform/x86: hp-wmi: Make buffer for HPWMI_FEATURE2_QUERY 128 bytes
    USB: EHCI: Do not return -EPIPE when hub is disconnected
    usbip: Fix error path of vhci_recv_ret_submit()
  * net: dst: Force 4-byte alignment of dst_metrics
      include/net/dst.h
    sctp: fully initialize v4 addr in some functions
    net: usb: lan78xx: Fix suspend/resume PHY register access error
    net: qlogic: Fix error paths in ql_alloc_large_buffers()
    net: nfc: nci: fix a possible sleep-in-atomic-context bug in nci_uart_tty_receive()
    net: hisilicon: Fix a BUG trigered by wrong bytes_compl
  * mod_devicetable: fix PHY module format
      include/linux/mod_devicetable.h
    fjes: fix missed check in fjes_acpi_add
  * af_packet: set defaule value for tmo
      net/packet/af_packet.c
    Btrfs: fix removal logic of the tree mod log that leads to use-after-free issues
    btrfs: abort transaction after failed inode updates in create_subvol
    btrfs: return error pointer from alloc_test_extent_buffer
    btrfs: do not call synchronize_srcu() in inode_tree_del
    btrfs: don't double lock the subvol_sem for rename exchange
  * usb: xhci: Fix build warning seen with CONFIG_PM=n
      drivers/usb/host/xhci-pci.c
  * Revert "mmc: sdhci: Fix incorrect switch to HS mode"
      drivers/mmc/host/sdhci.c
    btrfs: don't prematurely free work in reada_start_machine_worker()
  * net: phy: initialise phydev speed and duplex sanely
      drivers/net/phy/phy_device.c
    libtraceevent: Fix memory leakage in copy_filter_type
  * crypto: vmx - Avoid weird build failures
      drivers/crypto/vmx/Makefile
    crypto: sun4i-ss - Fix 64-bit size_t warnings on sun4i-ss-hash.c
    fbtft: Make sure string is NULL terminated
    iwlwifi: check kasprintf() return value
    x86/insn: Add some Intel instructions to the opcode map
    spi: st-ssc4: add missed pm_runtime_disable
    btrfs: don't prematurely free work in run_ordered_work()
    btrfs: don't prematurely free work in end_workqueue_fn()
    mmc: tmio: Add MMC_CAP_ERASE to allow erase/discard/trim requests
    spi: tegra20-slink: add missed clk_unprepare
    iwlwifi: mvm: fix unaligned read of rx_pkt_status
    x86/crash: Add a forward declaration of struct kimage
  * cpufreq: Register drivers only after CPU devices have been registered
      drivers/cpufreq/cpufreq.c
    parport: load lowlevel driver if ports not found
    s390/disassembler: don't hide instruction addresses
    ASoC: rt5677: Mark reg RT5677_PWR_ANLG2 as volatile
    spi: pxa2xx: Add missed security checks
    EDAC/ghes: Fix grain calculation
    media: si470x-i2c: add missed operations in remove
    media: pvrusb2: Fix oops on tear-down when radio support is not present
    ath10k: fix get invalid tx rate for Mesh metric
    perf probe: Filter out instances except for inlined subroutine and subprogram
    perf probe: Skip end-of-sequence and non statement lines
    perf probe: Fix to show calling lines of inlined functions
    perf probe: Return a better scope DIE if there is no best scope
    perf probe: Skip overlapped location on searching variables
    perf probe: Fix to probe a function which has no entry pc
    perf probe: Fix to show inlined function callsite without entry_pc
    perf probe: Fix to show ranges of variables in functions without entry_pc
    perf probe: Fix to probe an inline function which has no entry pc
    perf probe: Walk function lines in lexical blocks
    perf probe: Fix to list probe event with correct line number
    perf probe: Fix to find range-only function instance
    rtlwifi: fix memory leak in rtl92c_set_fw_rsvdpagepkt()
  * ALSA: timer: Limit max amount of slave instances
      sound/core/timer.c
    spi: img-spfi: fix potential double release
    bnx2x: Fix PF-VF communication over multi-cos queues.
  * Bluetooth: Fix advertising duplicated flags
      net/bluetooth/hci_request.c
    pinctrl: sh-pfc: sh7734: Fix duplicate TCLK1_B
    libata: Ensure ata_port probe has completed before detach
  * arm64: psci: Reduce the waiting time for cpu_psci_cpu_kill()
      arch/arm64/kernel/psci.c
    x86/ioapic: Prevent inconsistent state when moving an interrupt
    rtl8xxxu: fix RTL8723BU connection failure issue after warm reboot
    drm/gma500: fix memory disclosures due to uninitialized bytes
    x86/mce: Lower throttling MCE messages' priority to warning
  * Bluetooth: hci_core: fix init for HCI_USER_CHANNEL
      net/bluetooth/hci_core.c
    iio: adc: max1027: Reset the device at probe time
  * usb: usbfs: Suppress problematic bind and unbind uevents.
      drivers/usb/core/devio.c
    perf report: Add warning when libunwind not compiled in
    perf test: Report failure for mmap events
    x86/mm: Use the correct function type for native_set_fixmap()
    extcon: sm5502: Reset registers during initialization
    media: ti-vpe: vpe: Make sure YUYV is set as default format
    media: ti-vpe: vpe: fix a v4l2-compliance failure about frame sequence number
    media: ti-vpe: vpe: fix a v4l2-compliance warning about invalid pixel format
    mwifiex: pcie: Fix memory leak in mwifiex_pcie_init_evt_ring
    samples: pktgen: fix proc_cmd command result check logic
    media: cec-funcs.h: add status_req checks
    media: flexcop-usb: fix NULL-ptr deref in flexcop_usb_transfer_init()
    regulator: max8907: Fix the usage of uninitialized variable in max8907_regulator_probe()
    hwrng: omap3-rom - Call clk_disable_unprepare() on exit only if not idled
    usb: renesas_usbhs: add suspend event support in gadget mode
    tools/power/cpupower: Fix initializer override in hsw_ext_cstates
    media: ov6650: Fix stored frame format not in sync with hardware
    media: i2c: ov2659: Fix missing 720p register config
    media: i2c: ov2659: fix s_stream return value
    media: am437x-vpfe: Setting STD to current value is not an error
    IB/iser: bound protection_sg size by data_sg size
    libertas: fix a potential NULL pointer dereference
    rtlwifi: prevent memory leak in rtl_usb_probe
    staging: rtl8188eu: fix possible null dereference
    staging: rtl8192u: fix multiple memory leaks on error path
  * spi: Add call to spi_slave_abort() function when spidev driver is released
      drivers/spi/spidev.c
    iio: light: bh1750: Resolve compiler warning and make code more readable
    drm/bridge: analogix-anx78xx: silence -EPROBE_DEFER warnings
  * drm: mst: Fix query_payload ack reply struct
      include/drm/drm_dp_mst_helper.h
    ALSA: hda/ca0132 - Avoid endless loop
    ALSA: hda/ca0132 - Keep power on during processing DSP response
  * ALSA: pcm: Avoid possible info leaks from PCM stream buffers
      sound/core/pcm_native.c
    btrfs: handle ENOENT in btrfs_uuid_tree_iterate
    btrfs: do not leak reloc root if we fail to read the fs root
    btrfs: skip log replay on orphaned roots
  * UPSTREAM: HID: input: map digitizer battery usage
      drivers/hid/hid-input.c
      include/linux/hid.h
    ANDROID: cuttlefish_defconfig: Disable TRANSPARENT_HUGEPAGE
    Merge 4.9.207 into android-4.9-q
Linux 4.9.207
    net: stmmac: don't stop NAPI processing when dropping a packet
    net: stmmac: use correct DMA buffer size in the RX descriptor
  * xhci: fix USB3 device initiated resume race with roothub autosuspend
      drivers/usb/host/xhci-hub.c
      drivers/usb/host/xhci-ring.c
      drivers/usb/host/xhci.h
    drm/radeon: fix r1xx/r2xx register checker for POT textures
    scsi: iscsi: Fix a potential deadlock in the timeout handler
    dm btree: increase rebalance threshold in __rebalance2()
  * dma-buf: Fix memory leak in sync_file_merge()
      drivers/dma-buf/sync_file.c
    vfio/pci: call irq_bypass_unregister_producer() before freeing irq
    ARM: tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume()
    ARM: dts: s3c64xx: Fix init order of clock providers
    CIFS: Respect O_SYNC and O_DIRECT flags during reconnect
    xtensa: fix TLB sanity checker
  * PCI/MSI: Fix incorrect MSI-X masking on resume
      drivers/pci/msi.c
  * PCI: Fix Intel ACS quirk UPDCR register address
      drivers/pci/quirks.c
  * Revert "regulator: Defer init completion for a while after late_initcall"
      drivers/regulator/core.c
  * tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE()
      include/net/tcp.h
  * tcp: tighten acceptance of ACKs not matching a child socket
      include/net/tcp.h
  * tcp: fix rejected syncookies due to stale timestamps
      include/linux/time.h
      include/net/tcp.h
  * inet: protect against too small mtu values.
      include/linux/netdevice.h
      include/net/ip.h
      net/core/dev.c
      net/ipv4/devinet.c
      net/ipv4/ip_output.c
    tipc: fix ordering of tipc module init and exit routine
  * tcp: md5: fix potential overestimation of TCP option space
      net/ipv4/tcp_output.c
    openvswitch: support asymmetric conntrack
    net: ethernet: ti: cpsw: fix extra rx interrupt
  * net: bridge: deny dev_set_mac_address() when unregistering
      net/bridge/br_device.c
    nvme: host: core: fix precedence of ternary operator
  * kernel/module.c: wakeup processes in module_wq on module unload
      kernel/module.c
    net/mlx5e: Fix SFF 8472 eeprom length
    sunrpc: fix crash when cache_head become valid before update
  * workqueue: Fix missing kfree(rescuer) in destroy_workqueue()
      kernel/workqueue.c
  * blk-mq: make sure that line break can be printed
      block/blk-mq-sysfs.c
  * ext4: fix a bug in ext4_wait_for_tail_page_commit
      fs/ext4/inode.c
  * mm/shmem.c: cast the type of unmap_start to u64
      mm/shmem.c
  * firmware: qcom: scm: Ensure 'a0' status code is treated as signed
      drivers/firmware/qcom_scm-64.c
    reiserfs: fix extended attributes on the root directory
    powerpc: Fix vDSO clock_getres()
    scsi: qla2xxx: Always check the qla2x00_wait_for_hba_online() return value
    scsi: qla2xxx: Fix qla24xx_process_bidir_cmd()
    scsi: qla2xxx: Fix session lookup in qlt_abort_work()
    scsi: qla2xxx: Fix DMA unmap leak
    pinctrl: samsung: Fix device node refcount leaks in S3C64xx wakeup controller init
    ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity
    ath10k: fix fw crash by moving chip reset after napi disabled
    x86/MCE/AMD: Carve out the MC4_MISC thresholding quirk
    x86/MCE/AMD: Turn off MC4_MISC thresholding on all family 0x15 models
    e100: Fix passing zero to 'PTR_ERR' warning in e100_load_ucode_wait
    scsi: lpfc: Cap NPIV vports to 256
    omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
    Btrfs: fix negative subv_writers counter and data space leak after buffered write
    iio: adis16480: Add debugfs_reg_access entry
  * xhci: make sure interrupts are restored to correct state
      drivers/usb/host/xhci-hub.c
  * xhci: Fix memory leak in xhci_add_in_port()
      drivers/usb/host/xhci-mem.c
  * usb: xhci: only set D3hot for pci device
      drivers/usb/host/xhci-pci.c
      drivers/usb/host/xhci.c
      drivers/usb/host/xhci.h
    scsi: zfcp: trace channel log even for FCP command responses
  * quota: fix livelock in dquot_writeback_dquots
      fs/quota/dquot.c
    ext2: check err when partial != NULL
  * quota: Check that quota is not dirty before release
      fs/quota/dquot.c
      include/linux/quotaops.h
  * video/hdmi: Fix AVI bar unpack
      drivers/video/hdmi.c
    powerpc: Allow 64bit VDSO __kernel_sync_dicache to work across ranges >4GB
    ppdev: fix PPGETTIME/PPSETTIME ioctls
    mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid of pandora_wl1251_init_card
    pinctrl: samsung: Fix device node refcount leaks in init code
    pinctrl: samsung: Fix device node refcount leaks in S3C24xx wakeup controller init
    ACPI: PM: Avoid attaching ACPI PM domain to certain devices
    ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data()
    ACPI: OSL: only free map once in osl.c
  * PM / devfreq: Lock devfreq in trans_stat_show
      drivers/devfreq/devfreq.c
  * cpuidle: Do not unset the driver if it is there already
      drivers/cpuidle/driver.c
    media: radio: wl1273: fix interrupt masking on release
    media: bdisp: fix memleak on release
    ar5523: check NULL before memcpy() in ar5523_cmd()
    cgroup: pids: use atomic64_t for pids->limit
  * blk-mq: avoid sysfs buffer overflow with too many CPU cores
      block/blk-mq-sysfs.c
  * ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report
      sound/soc/soc-jack.c
  * workqueue: Fix pwq ref leak in rescuer_thread()
      kernel/workqueue.c
  * workqueue: Fix spurious sanity check failures in destroy_workqueue()
      kernel/workqueue.c
    ALSA: hda - Fix pending unsol events at shutdown
    lib: raid6: fix awk build warnings
    rtlwifi: rtl8192de: Fix missing enable interrupt flag
    rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer
    rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address
    btrfs: record all roots for rename exchange on a subvol
    Btrfs: send, skip backreference walking for extents with many references
    btrfs: Remove btrfs_bio::flags member
    btrfs: check page->mapping when loading free space cache
    virtio-balloon: fix managed page counts when migrating pages between zones
    mtd: spear_smi: Fix Write Burst mode
    usb: mon: Fix a deadlock in usbmon between mmap and read
  * usb: core: urb: fix URB structure initialization function
      drivers/usb/core/urb.c
    USB: adutux: fix interface sanity check
    USB: serial: io_edgeport: fix epic endpoint lookup
    USB: idmouse: fix interface sanity checks
    USB: atm: ueagle-atm: add missing endpoint check
    iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting
    ARM: dts: pandora-common: define wl1251 as child node of mmc3
  * xhci: Increase STS_HALT timeout in xhci_suspend()
      drivers/usb/host/xhci.c
    staging: gigaset: add endpoint-type sanity check
    staging: gigaset: fix illegal free on probe errors
    staging: gigaset: fix general protection fault on probe
    staging: rtl8712: fix interface sanity check
    staging: rtl8188eu: fix interface sanity check
  * usb: Allow USB device to be warm reset in suspended state
      drivers/usb/core/hub.c
    USB: uas: heed CAPACITY_HEURISTICS
    USB: uas: honor flag to avoid CAPACITY16
  * usb: gadget: configfs: Fix missing spin_lock_init()
      drivers/usb/gadget/configfs.c
    appletalk: Set error code if register_snap_client failed
  * appletalk: Fix potential NULL pointer dereference in unregister_snap_client
      include/linux/atalk.h
    KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332)
  * thermal: Fix deadlock in thermal thermal_zone_device_check
      drivers/thermal/thermal_core.c
    RDMA/qib: Validate ->show()/store() callbacks before calling them
    spi: atmel: Fix CS high support
    crypto: user - fix memory leak in crypto_report
    crypto: ecdh - fix big endian bug in ECC library
    crypto: ccp - fix uninitialized list head
    crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr
    KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES
    KVM: x86: do not modify masked bits of shared MSRs
    drm/i810: Prevent underflow in ioctl
  * jbd2: Fix possible overflow in jbd2_log_space_left()
      include/linux/jbd2.h
    can: slcan: Fix use-after-free Read in slcan_open
  * tty: vt: keyboard: reject invalid keycodes
      drivers/tty/vt/keyboard.c
    CIFS: Fix SMB2 oplock break processing
    CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks
    x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect
    coresight: etm4x: Fix input validation for sysfs.
    Input: goodix - add upside-down quirk for Teclast X89 tablet
    ALSA: pcm: oss: Avoid potential buffer overflows
  * fuse: verify attributes
      fs/fuse/dir.c
      fs/fuse/fuse_i.h
  * fuse: verify nlink
      fs/fuse/dir.c
  * sched/fair: Scale bandwidth quota and period without losing quota/period ratio precision
      kernel/sched/fair.c
    ARM: dts: sunxi: Fix PMU compatible strings
    mlx4: Use snprintf instead of complicated strcpy
    media: stkwebcam: Bugfix for wrong return values
  * tty: Don't block on IO when ldisc change is pending
      drivers/tty/n_tty.c
      drivers/tty/tty_ldisc.c
      include/linux/tty.h
    nfsd: Return EPERM, not EACCES, in some SETATTR cases
    MIPS: OCTEON: cvmx_pko_mem_debug8: use oldest forward compatible definition
    powerpc/math-emu: Update macros from GCC
    net/mlx4_core: Fix return codes of unsupported operations
    dlm: fix invalid cluster name warning
    ARM: dts: realview: Fix some more duplicate regulator nodes
    clk: sunxi-ng: h3/h5: Fix CSI_MCLK parent
    ARM: dts: pxa: clean up USB controller nodes
    mtd: fix mtd_oobavail() incoherent returned value
  * kbuild: fix single target build for external module
      Makefile
  * modpost: skip ELF local symbols during section mismatch check
      scripts/mod/modpost.c
  * tcp: fix SNMP TCP timeout under-estimation
      net/ipv4/tcp_timer.c
  * tcp: fix off-by-one bug on aborting window-probing socket
      net/ipv4/tcp_timer.c
    ARM: dts: realview-pbx: Fix duplicate regulator nodes
    ARM: dts: mmp2: fix the gpio interrupt cell number
    net/x25: fix null_x25_address handling
    net/x25: fix called/calling length calculation in x25_parse_address_block
    ARM: OMAP1/2: fix SoC name printing
    nfsd: fix a warning in __cld_pipe_upcall()
    ARM: debug: enable UART1 for socfpga Cyclone5
    dlm: NULL check before kmem_cache_destroy is not needed
    i2c: imx: don't print error message on probe defer
    serial: imx: fix error handling in console_setup
    altera-stapl: check for a null key before strcasecmp'ing it
  * dma-mapping: fix return type of dma_set_max_seg_size()
      include/linux/dma-mapping.h
  * ACPI: fix acpi_find_child_device() invocation in acpi_preset_companion()
      include/linux/acpi.h
  * usb: dwc3: don't log probe deferrals; but do log other error codes
      drivers/usb/dwc3/core.c
    dmaengine: coh901318: Remove unused variable
    dmaengine: coh901318: Fix a double-lock bug
    media: pulse8-cec: return 0 when invalidating the logical address
    ARM: dts: exynos: Use Samsung SoC specific compatible for DWC2 module
    rtc: dt-binding: abx80x: fix resistance scale
    rtc: max8997: Fix the returned value in case of error in 'max8997_rtc_read_alarm()'
    math-emu/soft-fp.h: (_FP_ROUND_ZERO) cast 0 to void to fix warning
    MIPS: OCTEON: octeon-platform: fix typing
  * regulator: Fix return value of _set_load() stub
      include/linux/regulator/consumer.h
    Staging: iio: adt7316: Fix i2c data reading, set the data field
    pinctrl: qcom: ssbi-gpio: fix gpio-hog related boot issues
    scsi: zfcp: drop default switch case which might paper over missing case
    MIPS: SiByte: Enable ZONE_DMA32 for LittleSur
    dlm: fix missing idr_destroy for recover_idr
    ARM: dts: rockchip: Fix rk3288-rock2 vcc_flash name
    clk: rockchip: fix rk3188 sclk_mac_lbtest parameter ordering
    clk: rockchip: fix rk3188 sclk_smc gate data
    extcon: max8997: Fix lack of path setting in USB device mode
    net/mlx5: Release resource on error flow
    ARM: 8813/1: Make aligned 2-byte getuser()/putuser() atomic on ARMv6+
    iwlwifi: mvm: Send non offchannel traffic via AP sta
    cxgb4vf: fix memleak in mac_hlist initialization
  * serial: core: Allow processing sysrq at port unlock time
      include/linux/serial_core.h
    net: ep93xx_eth: fix mismatch of request_mem_region in remove
    rsxx: add missed destroy_workqueue calls in remove
  * ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed()
      sound/core/pcm_lib.c
    Input: cyttsp4_core - fix use after free bug
    NFC: nxp-nci: Fix NULL pointer dereference after I2C communication error
    audit_get_nd(): don't unlock parent too early
    exportfs_decode_fh(): negative pinned may become positive without the parent locked
    RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN
    autofs: fix a leak in autofs_expire_indirect()
    serial: ifx6x60: add missed pm_runtime_disable
  * serial: serial_core: Perform NULL checks for break_ctl ops
      drivers/tty/serial/serial_core.c
    serial: pl011: Fix DMA ->flush_buffer()
    tty: serial: msm_serial: Fix flow control
    tty: serial: fsl_lpuart: use the sg count from dma_map_sg
    usb: gadget: u_serial: add missing port entry locking
    arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator
  * UPSTREAM: binder: fix incorrect calculation for num_valid
      drivers/android/binder.c
  * ANDROID: sched/core: Fix arm32 allmodconfig build-break
      include/trace/events/sched.h
  * BACKPORT: bpf: permit multiple bpf attachments for a single perf event
      include/linux/bpf.h
      include/linux/trace_events.h
      include/trace/perf.h
      kernel/bpf/core.c
      kernel/events/core.c
      kernel/trace/bpf_trace.c
      kernel/trace/trace_kprobe.c
  * UPSTREAM: bpf: use the same condition in perf event set/free bpf handler
      kernel/events/core.c
  * BACKPORT: bpf: multi program support for cgroup+bpf
      include/linux/bpf-cgroup.h
      include/linux/bpf.h
      include/linux/filter.h
      include/uapi/linux/bpf.h
      kernel/bpf/cgroup.c
      kernel/bpf/core.c
      kernel/bpf/syscall.c
      kernel/cgroup.c
    Merge 4.9.206 into android-4.9-q
Linux 4.9.206
    net: fec: fix clock count mis-match
    platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer
    hwrng: stm32 - fix unbalanced pm_runtime_enable
  * HID: core: check whether Usage Page item is after Usage ID items
      drivers/hid/hid-core.c
  * net: sched: fix `tc -s class show` no bstats on class with nolock subqueues
      net/sched/sch_mq.c
      net/sched/sch_multiq.c
      net/sched/sch_prio.c
  * sctp: cache netns in sctp_ep_common
      include/net/sctp/structs.h
    tipc: fix link name length check
    openvswitch: remove another BUG_ON()
    openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info()
    slip: Fix use-after-free Read in slip_open
    openvswitch: fix flow command message size
    macvlan: schedule bc_work even if error
    media: atmel: atmel-isc: fix asd memory allocation
  * pwm: Clear chip_data in pwm_put()
      drivers/pwm/core.c
    net: macb: fix error format in dev_err()
  * media: v4l2-ctrl: fix flags for DO_WHITE_BALANCE
      drivers/media/v4l2-core/v4l2-ctrls.c
    mei: bus: prefix device names on bus with the bus name
    USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P
    staging: rtl8192e: fix potential use after free
    clk: at91: fix update bit maps on CFG_MOR write
    mm, gup: add missing refcount overflow checks on x86 and s390
    mtd: Remove a debug trace in mtdpart.c
    powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property()
    scsi: libsas: Check SMP PHY control function result
    ACPI / APEI: Switch estatus pool to use vmalloc memory
    scsi: libsas: Support SATA PHY connection rate unmatch fixing during discovery
    iommu/amd: Fix NULL dereference bug in match_hid_uid
  * net: dev: Use unsigned integer as an argument to left-shift
      include/linux/netdevice.h
    sctp: don't compare hb_timer expire date before starting it
  * net: fix possible overflow in __sk_mem_raise_allocated()
      include/net/sock.h
      net/core/sock.c
    sfc: initialise found bitmap in efx_ef10_mtd_probe
    tipc: fix skb may be leaky in tipc_link_input
    decnet: fix DN_IFREQ_SIZE
  * ip_tunnel: Make none-tunnel-dst tunnel port work with lwtunnel
      net/ipv4/ip_tunnel.c
    sfc: suppress duplicate nvmem partition types in efx_ef10_mtd_probe
  * net/core/neighbour: fix kmemleak minimal reference count for hash tables
      net/core/neighbour.c
  * net/core/neighbour: tell kmemleak about hash tables
      net/core/neighbour.c
    tipc: fix memory leak in tipc_nl_compat_publ_dump
    mtd: Check add_mtd_device() ret code
  * lib/genalloc.c: include vmalloc.h
      lib/genalloc.c
  * drivers/base/platform.c: kmemleak ignore a known leak
      drivers/base/platform.c
  * lib/genalloc.c: use vzalloc_node() to allocate the bitmap
      lib/genalloc.c
  * lib/genalloc.c: fix allocation of aligned buffer from non-aligned chunk
      include/linux/genalloc.h
      lib/genalloc.c
  * vmscan: return NODE_RECLAIM_NOSCAN in node_reclaim() when CONFIG_NUMA is n
      include/linux/swap.h
      mm/internal.h
    ocfs2: clear journal dirty flag after shutdown journal
    net/wan/fsl_ucc_hdlc: Avoid double free in ucc_hdlc_probe()
    tipc: fix a missing check of genlmsg_put
    atl1e: checking the status of atl1e_write_phy_reg
    net: dsa: bcm_sf2: Propagate error value from mdio_write
    net: stmicro: fix a missing check of clk_prepare
    um: Make GCOV depend on !KCOV
  * net/net_namespace: Check the return value of register_pernet_subsys()
      net/core/net_namespace.c
    pwm: clps711x: Fix period calculation
    crypto: mxc-scc - fix build warnings on ARM64
    powerpc/pseries: Fix node leak in update_lmb_associativity_index()
    powerpc/83xx: handle machine check caused by watchdog timer
    regulator: tps65910: fix a missing check of return value
    drbd: fix print_st_err()'s prototype to match the definition
    drbd: do not block when adjusting "disk-options" while IO is frozen
    drbd: reject attach of unsuitable uuids even if connected
    drbd: ignore "all zero" peer volume sizes in handshake
    powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status
    vfio/spapr_tce: Get rid of possible infinite loop
    powerpc/44x/bamboo: Fix PCI range
    powerpc/mm: Make NULL pointer deferences explicit on bad page faults.
    powerpc/prom: fix early DEBUG messages
    ath6kl: Fix off by one error in scan completion
    ath6kl: Only use match sets when firmware supports it
    scsi: csiostor: fix incorrect dma device in case of vport
    scsi: qla2xxx: deadlock by configfs_depend_item
    RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer
    openrisc: Fix broken paths to arch/or32
    serial: max310x: Fix tx_empty() callback
    drivers/regulator: fix a missing check of return value
    powerpc/xmon: fix dump_segments()
    powerpc/book3s/32: fix number of bats in p/v_block_mapped()
    IB/qib: Fix an error code in qib_sdma_verbs_send()
    xfs: Fix bulkstat compat ioctls on x32 userspace.
    xfs: Align compat attrlist_by_handle with native implementation.
    gfs2: take jdata unstuff into account in do_grow
    dm flakey: Properly corrupt multi-page bios.
    HID: doc: fix wrong data structure reference for UHID_OUTPUT
    pinctrl: sh-pfc: sh7734: Fix shifted values in IPSR10
    pinctrl: sh-pfc: sh7264: Fix PFCR3 and PFCR0 register configuration
    KVM: s390: unregister debug feature on failing arch init
    net/mlx5: Continue driver initialization despite debugfs failure
    pinctrl: xway: fix gpio-hog related boot issues
    xen/pciback: Check dev_data before using it
    HID: intel-ish-hid: fixes incorrect error handling
    btrfs: only track ref_heads in delayed_ref_updates
    mtd: rawnand: sunxi: Write pageprog related opcodes to WCMD_SET
    VSOCK: bind to random port for VMADDR_PORT_ANY
  * gpiolib: Fix return value of gpio_to_desc() stub if !GPIOLIB
      include/linux/gpio/consumer.h
    microblaze: move "... is ready" messages to arch/microblaze/Makefile
    microblaze: adjust the help to the real behavior
    ubi: Do not drop UBI device reference before using
    ubi: Put MTD device after it is not used
    xfs: require both realtime inodes to mount
    rtl818x: fix potential use after free
    mwifiex: debugfs: correct histogram spacing, formatting
    mwifiex: fix potential NULL dereference and use after free
    crypto: user - support incremental algorithm dumps
    ACPI / LPSS: Ignore acpi_device_fix_up_power() return value
    ARM: ks8695: fix section mismatch warning
    PM / AVS: SmartReflex: NULL check before some freeing functions is not needed
  * arm64: smp: Handle errors reported by the firmware
      arch/arm64/kernel/smp.c
  * arm64: mm: Prevent mismatched 52-bit VA support
      arch/arm64/kernel/head.S
      arch/arm64/kernel/smp.c
    parisc: Fix HP SDC hpa address output
    parisc: Fix serio address output
    ARM: dts: imx53-voipac-dmm-668: Fix memory node duplication
    ARM: debug-imx: only define DEBUG_IMX_UART_PORT if needed
    scsi: lpfc: Fix dif and first burst use in write commands
    pwm: bcm-iproc: Prevent unloading the driver module while in use
    block: drbd: remove a stray unlock in __drbd_send_protocol()
    mac80211: fix station inactive_time shortly after boot
    scripts/gdb: fix debugging modules compiled with hot/cold partitioning
    watchdog: meson: Fix the wrong value of left time
    can: c_can: D_CAN: c_can_chip_config(): perform a sofware reset on open
    can: peak_usb: report bus recovery as well
    net: fec: add missed clk_disable_unprepare in remove
    clk: at91: avoid sleeping early
  * reset: fix reset_control_ops kerneldoc comment
      include/linux/reset-controller.h
    clk: samsung: exynos5420: Preserve PLL configuration during suspend/resume
    ASoC: kirkwood: fix external clock probe defer
  * ASoC: compress: fix unsigned integer overflow check
      sound/core/compress_offload.c

Change-Id: Ida917e8b91aa0dd373b92c6bdc283734141543d4
Signed-off-by: lucaswei <lucaswei@google.com>
2020-02-14 10:56:19 +08:00
Eric Dumazet
67b02e37c1 inet: protect against too small mtu values.
[ Upstream commit 501a90c945103e8627406763dac418f20f3837b2 ]

syzbot was once again able to crash a host by setting a very small mtu
on loopback device.

Let's make inetdev_valid_mtu() available in include/net/ip.h,
and use it in ip_setup_cork(), so that we protect both ip_append_page()
and __ip_append_data()

Also add a READ_ONCE() when the device mtu is read.

Pairs this lockless read with one WRITE_ONCE() in __dev_set_mtu(),
even if other code paths might write over this field.

Add a big comment in include/linux/netdevice.h about dev->mtu
needing READ_ONCE()/WRITE_ONCE() annotations.

Hopefully we will add the missing ones in followup patches.

[1]

refcount_t: saturated; leaking memory.
WARNING: CPU: 0 PID: 9464 at lib/refcount.c:22 refcount_warn_saturate+0x138/0x1f0 lib/refcount.c:22
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 9464 Comm: syz-executor850 Not tainted 5.4.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x197/0x210 lib/dump_stack.c:118
 panic+0x2e3/0x75c kernel/panic.c:221
 __warn.cold+0x2f/0x3e kernel/panic.c:582
 report_bug+0x289/0x300 lib/bug.c:195
 fixup_bug arch/x86/kernel/traps.c:174 [inline]
 fixup_bug arch/x86/kernel/traps.c:169 [inline]
 do_error_trap+0x11b/0x200 arch/x86/kernel/traps.c:267
 do_invalid_op+0x37/0x50 arch/x86/kernel/traps.c:286
 invalid_op+0x23/0x30 arch/x86/entry/entry_64.S:1027
RIP: 0010:refcount_warn_saturate+0x138/0x1f0 lib/refcount.c:22
Code: 06 31 ff 89 de e8 c8 f5 e6 fd 84 db 0f 85 6f ff ff ff e8 7b f4 e6 fd 48 c7 c7 e0 71 4f 88 c6 05 56 a6 a4 06 01 e8 c7 a8 b7 fd <0f> 0b e9 50 ff ff ff e8 5c f4 e6 fd 0f b6 1d 3d a6 a4 06 31 ff 89
RSP: 0018:ffff88809689f550 EFLAGS: 00010286
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffffffff815e4336 RDI: ffffed1012d13e9c
RBP: ffff88809689f560 R08: ffff88809c50a3c0 R09: fffffbfff15d31b1
R10: fffffbfff15d31b0 R11: ffffffff8ae98d87 R12: 0000000000000001
R13: 0000000000040100 R14: ffff888099041104 R15: ffff888218d96e40
 refcount_add include/linux/refcount.h:193 [inline]
 skb_set_owner_w+0x2b6/0x410 net/core/sock.c:1999
 sock_wmalloc+0xf1/0x120 net/core/sock.c:2096
 ip_append_page+0x7ef/0x1190 net/ipv4/ip_output.c:1383
 udp_sendpage+0x1c7/0x480 net/ipv4/udp.c:1276
 inet_sendpage+0xdb/0x150 net/ipv4/af_inet.c:821
 kernel_sendpage+0x92/0xf0 net/socket.c:3794
 sock_sendpage+0x8b/0xc0 net/socket.c:936
 pipe_to_sendpage+0x2da/0x3c0 fs/splice.c:458
 splice_from_pipe_feed fs/splice.c:512 [inline]
 __splice_from_pipe+0x3ee/0x7c0 fs/splice.c:636
 splice_from_pipe+0x108/0x170 fs/splice.c:671
 generic_splice_sendpage+0x3c/0x50 fs/splice.c:842
 do_splice_from fs/splice.c:861 [inline]
 direct_splice_actor+0x123/0x190 fs/splice.c:1035
 splice_direct_to_actor+0x3b4/0xa30 fs/splice.c:990
 do_splice_direct+0x1da/0x2a0 fs/splice.c:1078
 do_sendfile+0x597/0xd00 fs/read_write.c:1464
 __do_sys_sendfile64 fs/read_write.c:1525 [inline]
 __se_sys_sendfile64 fs/read_write.c:1511 [inline]
 __x64_sys_sendfile64+0x1dd/0x220 fs/read_write.c:1511
 do_syscall_64+0xfa/0x790 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x441409
Code: e8 ac e8 ff ff 48 83 c4 18 c3 0f 1f 80 00 00 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 0f 83 eb 08 fc ff c3 66 2e 0f 1f 84 00 00 00 00
RSP: 002b:00007fffb64c4f78 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000441409
RDX: 0000000000000000 RSI: 0000000000000006 RDI: 0000000000000005
RBP: 0000000000073b8a R08: 0000000000000010 R09: 0000000000000010
R10: 0000000000010001 R11: 0000000000000246 R12: 0000000000402180
R13: 0000000000402210 R14: 0000000000000000 R15: 0000000000000000
Kernel Offset: disabled
Rebooting in 86400 seconds..

Fixes: 1470ddf7f8 ("inet: Remove explicit write references to sk/inet in ip_append_data")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-12-21 10:42:25 +01:00
Andy Shevchenko
6b2540ebc7 net: dev: Use unsigned integer as an argument to left-shift
[ Upstream commit f4d7b3e23d259c44f1f1c39645450680fcd935d6 ]

1 << 31 is Undefined Behaviour according to the C standard.
Use U type modifier to avoid theoretical overflow.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-05 15:35:14 +01:00
Greg Kroah-Hartman
254bca9acd Merge 4.9.155 android-msm-wahoo-4.4-lts
Linux 4.9.155
  * fanotify: fix handling of events on child sub-directory
      fs/notify/fsnotify.c
  * fs: don't scan the inode cache before SB_BORN is set
      fs/super.c
  * drivers: core: Remove glue dirs from sysfs earlier
      drivers/base/core.c
      include/linux/kobject.h
    cifs: Always resolve hostname before reconnecting
  * mm: migrate: don't rely on __PageMovable() of newpage after unlocking it
      mm/migrate.c
    mm: hwpoison: use do_send_sig_info() instead of force_sig()
  * mm, oom: fix use-after-free in oom_kill_process
      mm/oom_kill.c
  * kernel/exit.c: release ptraced tasks before zap_pid_ns_processes
      kernel/exit.c
    mmc: sdhci-iproc: handle mmc_of_parse() errors during probe
    platform/x86: asus-nb-wmi: Drop mapping of 0x33 and 0x34 scan codes
    platform/x86: asus-nb-wmi: Map 0x35 to KEY_SCREENLOCK
    gfs2: Revert "Fix loop in gfs2_rbm_find"
    arm64: hibernate: Clean the __hyp_text to PoC after resume
  * arm64: hyp-stub: Forbid kprobing of the hyp-stub
      arch/arm64/kernel/hyp-stub.S
  * arm64: kaslr: ensure randomized quantities are clean also when kaslr is off
      arch/arm64/kernel/kaslr.c
    ARM: cns3xxx: Fix writing to wrong PCI config registers after alignment
  * fs/dcache: Fix incorrect nr_dentry_unused accounting in shrink_dcache_sb()
      fs/dcache.c
    CIFS: Do not count -ENODATA as failure for query directory
  * ipvlan, l3mdev: fix broken l3s mode wrt local routes
      include/linux/netdevice.h
      include/net/l3mdev.h
  * l2tp: fix reading optional fields of L2TPv3
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
      net/l2tp/l2tp_ip.c
      net/l2tp/l2tp_ip6.c
  * l2tp: remove l2specific_len dependency in l2tp_core
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
    net/mlx5e: Allow MAC invalidation while spoofchk is ON
    ucc_geth: Reset BQL queue when stopping device
    net/rose: fix NULL ax25_cb kernel panic
    netrom: switch to sock timer API
    net/mlx4_core: Add masking for a few queries on HCA caps
  * l2tp: copy 4 more bytes to linear part if necessary
      net/l2tp/l2tp_core.c
  * ipv6: Consider sk_bound_dev_if when binding a socket to an address
      net/ipv6/af_inet6.c
  * fs: add the fsnotify call to vfs_iter_write
      fs/read_write.c
  * Fix "net: ipv4: do not handle duplicate fragments as overlapping"
      net/ipv4/ip_fragment.c

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2019-02-12 16:25:18 +01:00
Daniel Borkmann
c574feb8a2 ipvlan, l3mdev: fix broken l3s mode wrt local routes
[ Upstream commit d5256083f62e2720f75bb3c5a928a0afe47d6bc3 ]

While implementing ipvlan l3 and l3s mode for kubernetes CNI plugin,
I ran into the issue that while l3 mode is working fine, l3s mode
does not have any connectivity to kube-apiserver and hence all pods
end up in Error state as well. The ipvlan master device sits on
top of a bond device and hostns traffic to kube-apiserver (also running
in hostns) is DNATed from 10.152.183.1:443 to 139.178.29.207:37573
where the latter is the address of the bond0. While in l3 mode, a
curl to https://10.152.183.1:443 or to https://139.178.29.207:37573
works fine from hostns, neither of them do in case of l3s. In the
latter only a curl to https://127.0.0.1:37573 appeared to work where
for local addresses of bond0 I saw kernel suddenly starting to emit
ARP requests to query HW address of bond0 which remained unanswered
and neighbor entries in INCOMPLETE state. These ARP requests only
happen while in l3s.

Debugging this further, I found the issue is that l3s mode is piggy-
backing on l3 master device, and in this case local routes are using
l3mdev_master_dev_rcu(dev) instead of net->loopback_dev as per commit
f5a0aab84b74 ("net: ipv4: dst for local input routes should use l3mdev
if relevant") and 5f02ce24c2 ("net: l3mdev: Allow the l3mdev to be
a loopback"). I found that reverting them back into using the
net->loopback_dev fixed ipvlan l3s connectivity and got everything
working for the CNI.

Now judging from 4fbae7d83c ("ipvlan: Introduce l3s mode") and the
l3mdev paper in [0] the only sole reason why ipvlan l3s is relying
on l3 master device is to get the l3mdev_ip_rcv() receive hook for
setting the dst entry of the input route without adding its own
ipvlan specific hacks into the receive path, however, any l3 domain
semantics beyond just that are breaking l3s operation. Note that
ipvlan also has the ability to dynamically switch its internal
operation from l3 to l3s for all ports via ipvlan_set_port_mode()
at runtime. In any case, l3 vs l3s soley distinguishes itself by
'de-confusing' netfilter through switching skb->dev to ipvlan slave
device late in NF_INET_LOCAL_IN before handing the skb to L4.

Minimal fix taken here is to add a IFF_L3MDEV_RX_HANDLER flag which,
if set from ipvlan setup, gets us only the wanted l3mdev_l3_rcv() hook
without any additional l3mdev semantics on top. This should also have
minimal impact since dev->priv_flags is already hot in cache. With
this set, l3s mode is working fine and I also get things like
masquerading pod traffic on the ipvlan master properly working.

  [0] https://netdevconf.org/1.2/papers/ahern-what-is-l3mdev-paper.pdf

Fixes: f5a0aab84b74 ("net: ipv4: dst for local input routes should use l3mdev if relevant")
Fixes: 5f02ce24c2 ("net: l3mdev: Allow the l3mdev to be a loopback")
Fixes: 4fbae7d83c ("ipvlan: Introduce l3s mode")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Cc: Mahesh Bandewar <maheshb@google.com>
Cc: David Ahern <dsa@cumulusnetworks.com>
Cc: Florian Westphal <fw@strlen.de>
Cc: Martynas Pumputis <m@lambda.lt>
Acked-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-06 17:33:27 +01:00
Petri Gynther
5cdb13f3cd Merge 4.9.140 into android-msm-bluecross-4.9-lts
Linux 4.9.140
  * Revert "ipv6: set rt6i_protocol properly in the route when it is installed"
      net/ipv6/route.c
  * Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation"
      kernel/cpu.c
Linux 4.9.139
    ARM: spectre-v1: mitigate user accesses
    ARM: spectre-v1: use get_user() for __get_user()
    ARM: use __inttype() in get_user()
    ARM: oabi-compat: copy semops using __copy_from_user()
    ARM: vfp: use __copy_from_user() when restoring VFP state
    ARM: signal: copy registers using __copy_from_user()
    ARM: spectre-v1: fix syscall entry
    ARM: spectre-v1: add array_index_mask_nospec() implementation
    ARM: spectre-v1: add speculation barrier (csdb) macros
    ARM: KVM: report support for SMCCC_ARCH_WORKAROUND_1
    ARM: KVM: Add SMCCC_ARCH_WORKAROUND_1 fast handling
    ARM: spectre-v2: KVM: invalidate icache on guest exit for Brahma B15
    ARM: KVM: invalidate icache on guest exit for Cortex-A15
    ARM: KVM: invalidate BTB on guest exit for Cortex-A12/A17
    ARM: spectre-v2: warn about incorrect context switching functions
    ARM: spectre-v2: add firmware based hardening
    ARM: spectre-v2: harden user aborts in kernel space
    ARM: spectre-v2: add Cortex A8 and A15 validation of the IBE bit
    ARM: spectre-v2: harden branch predictor on context switches
    ARM: spectre: add Kconfig symbol for CPUs vulnerable to Spectre
    ARM: bugs: add support for per-processor bug checking
    ARM: bugs: hook processor bug checking into SMP and suspend paths
    ARM: bugs: prepare processor bug infrastructure
    ARM: add more CPU part numbers for Cortex and Brahma B15 CPUs
  * arm64: uaccess: suppress spurious clang warning
      arch/arm64/include/asm/uaccess.h
  * Kbuild: use -fshort-wchar globally
      Makefile
    x86/build: Use cc-option to validate stack alignment parameter
    x86/build: Fix stack alignment for CLang
    efi/libstub/arm64: Set -fpie when building the EFI stub
    efi/libstub: Preserve .debug sections after absolute relocation check
    efi/libstub/arm64: Force 'hidden' visibility for section markers
  * efi/libstub/arm64: Use hidden attribute for struct screen_info reference
      arch/arm64/include/asm/efi.h
    x86/boot: #undef memcpy() et al in string.c
  * crypto: arm64/sha - avoid non-standard inline asm tricks
      arch/arm64/crypto/sha1-ce-core.S
      arch/arm64/crypto/sha1-ce-glue.c
      arch/arm64/crypto/sha2-ce-core.S
      arch/arm64/crypto/sha2-ce-glue.c
  * kbuild: clang: Disable 'address-of-packed-member' warning
      Makefile
    x86/build: Specify stack alignment for clang
    x86/build: Use __cc-option for boot code compiler options
  * kbuild: Add __cc-option macro
      Makefile
      scripts/Kbuild.include
      scripts/Makefile.host
    crypto, x86: aesni - fix token pasting for clang
    x86/kbuild: Use cc-option to enable -falign-{jumps/loops}
  * modules: mark __inittest/__exittest as __maybe_unused
      include/linux/module.h
  * kbuild: Add support to generate LLVM assembly files
      Makefile
      scripts/Makefile.build
  * kbuild: use -Oz instead of -Os when using clang
      Makefile
  * kbuild, LLVMLinux: Add -Werror to cc-option to support clang
      scripts/Kbuild.include
  * kbuild: drop -Wno-unknown-warning-option from clang options
      Makefile
      scripts/Makefile.extrawarn
  * kbuild: fix asm-offset generation to work with clang
      include/linux/kbuild.h
      scripts/Makefile.lib
  * kbuild: consolidate redundant sed script ASM offset generation
      scripts/Makefile.lib
  * kbuild: Consolidate header generation from ASM offset information
      Kbuild
      scripts/Makefile.lib
      scripts/mod/Makefile
  * kbuild: clang: add -no-integrated-as to KBUILD_[AC]FLAGS
      Makefile
  * kbuild: Add better clang cross build support
      Makefile
  * ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF
      net/ipv6/route.c
  * inet: frags: better deal with smp races
      net/ipv4/inet_fragment.c
    usbnet: smsc95xx: disable carrier check while suspending
    tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths
    sctp: not allow to set asoc prsctp_enable by sockopt
  * net-gro: reset skb->pkt_type in napi_reuse_skb()
      net/core/dev.c
  * ip_tunnel: don't force DF when MTU is locked
      net/ipv4/ip_tunnel_core.c
  * flow_dissector: do not dissect l4 ports for fragments
      net/core/flow_dissector.c
Linux 4.9.138
    KVM: arm64: Fix caching of host MDCR_EL2 value
    drm/i915/execlists: Force write serialisation into context image vs execution
    drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values
  * drm/dp_mst: Check if primary mstb is null
      drivers/gpu/drm/drm_dp_mst_topology.c
    drm/rockchip: Allow driver to be shutdown on reboot/kexec
  * mm: migration: fix migration of huge PMD shared pages
      include/linux/hugetlb.h
      include/linux/mm.h
      mm/rmap.c
    hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444!
    lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn
  * configfs: replace strncpy with memcpy
      fs/configfs/symlink.c
  * fuse: fix leaked notify reply
      fs/fuse/dev.c
  * fuse: fix use-after-free in fuse_direct_IO()
      fs/fuse/file.c
  * rtc: hctosys: Add missing range error reporting
      drivers/rtc/hctosys.c
    nfsd: COPY and CLONE operations require the saved filehandle to be set
    sunrpc: correct the computation for page_ptr when truncating
  * mount: Prevent MNT_DETACH from disconnecting locked mounts
      fs/namespace.c
  * mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts
      fs/namespace.c
  * mount: Retest MNT_LOCKED in do_umount
      fs/namespace.c
  * ext4: fix buffer leak in __ext4_read_dirblock() on error path
      fs/ext4/namei.c
  * ext4: fix buffer leak in ext4_xattr_move_to_block() on error path
      fs/ext4/xattr.c
  * ext4: release bs.bh before re-using in ext4_xattr_block_find()
      fs/ext4/xattr.c
  * ext4: fix possible leak of s_journal_flag_rwsem in error path
      fs/ext4/super.c
  * ext4: fix possible leak of sbi->s_group_desc_leak in error path
      fs/ext4/super.c
  * ext4: avoid possible double brelse() in add_new_gdb() on error path
      fs/ext4/resize.c
  * ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing
      fs/ext4/resize.c
  * ext4: avoid buffer leak in ext4_orphan_add() after prior errors
      fs/ext4/namei.c
  * ext4: fix possible inode leak in the retry loop of ext4_resize_fs()
      fs/ext4/resize.c
  * ext4: avoid potential extra brelse in setup_new_flex_group_blocks()
      fs/ext4/resize.c
  * ext4: add missing brelse() add_new_gdb_meta_bg()'s error path
      fs/ext4/resize.c
  * ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path
      fs/ext4/resize.c
  * ext4: add missing brelse() update_backups()'s error path
      fs/ext4/resize.c
    clockevents/drivers/i8253: Add support for PIT shutdown quirk
    Btrfs: fix data corruption due to cloning of eof block
    Btrfs: fix cur_offset in the error case for nocow
    arch/alpha, termios: implement BOTHER, IBSHIFT and termios2
  * termios, tty/tty_baudrate.c: fix buffer overrun
      drivers/tty/tty_ioctl.c
    of, numa: Validate some distance map rules
  * mtd: docg3: don't set conflicting BCH_CONST_PARAMS option
      drivers/mtd/devices/Kconfig
  * netfilter: conntrack: fix calculation of next bucket number in early_drop
      net/netfilter/nf_conntrack_core.c
    mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings
    ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry
    vhost/scsi: truncate T10 PI iov_iter to prot_bytes
    reset: hisilicon: fix potential NULL pointer dereference
    mach64: fix image corruption due to reading accelerator registers
    mach64: fix display corruption on big endian machines
    Revert "ceph: fix dentry leak in splice_dentry()"
    libceph: bump CEPH_MSG_MAX_DATA_LEN
    clk: rockchip: Fix static checker warning in rockchip_ddrclk_get_parent call
    clk: at91: Fix division by zero in PLL recalc_rate()
    clk: s2mps11: Fix matching when built as module and DT node contains compatible
    xtensa: fix boot parameters address translation
    xtensa: make sure bFLT stack is 16 byte aligned
    xtensa: add NOTES section to the linker script
    MIPS: Loongson-3: Fix BRIDGE irq delivery problem
    MIPS: Loongson-3: Fix CPU UART irq delivery problem
    parisc: Fix exported address of os_hpmc handler
    parisc: Fix HPMC handler by increasing size to multiple of 16 bytes
    parisc: Align os_hpmc_size on word boundary
    bna: ethtool: Avoid reading past end of buffer
    e1000: fix race condition between e1000_down() and e1000_watchdog
    e1000: avoid null pointer dereference on invalid stat type
  * mm: do not bug_on on incorrect length in __mm_populate()
      mm/gup.c
      mm/mmap.c
  * fuse: set FR_SENT while locked
      fs/fuse/dev.c
  * fuse: fix blocked_waitq wakeup
      fs/fuse/dev.c
  * fuse: Fix use-after-free in fuse_dev_do_write()
      fs/fuse/dev.c
  * fuse: Fix use-after-free in fuse_dev_do_read()
      fs/fuse/dev.c
    scsi: qla2xxx: shutdown chip if reset fail
    scsi: qla2xxx: Fix incorrect port speed being set for FC adapters
    cdrom: fix improper type cast, which can leat to information leak.
    9p: clear dangling pointers in p9stat_free
    9p locks: fix glock.client_id leak in do_lock
    powerpc/selftests: Wait all threads to join
    media: tvp5150: fix width alignment during set_selection()
    sc16is7xx: Fix for multi-channel stall
    MIPS/PCI: Call pcie_bus_configure_settings() to set MPS/MRRS
    powerpc/boot: Ensure _zimage_start is a weak symbol
    MIPS: kexec: Mark CPU offline before disabling local IRQ
    media: pci: cx23885: handle adding to list failure
    drm/omap: fix memory barrier bug in DMM driver
    powerpc/nohash: fix undefined behaviour when testing page size support
    ARM: imx_v6_v7_defconfig: Select CONFIG_TMPFS_POSIX_ACL
  * tty: check name length in tty_find_polling_driver()
      drivers/tty/tty_io.c
    powerpc/eeh: Fix possible null deref in eeh_dump_dev_log()
Linux 4.9.137
    MD: fix invalid stored role for a disk - try2
    btrfs: set max_extent_size properly
    Btrfs: fix null pointer dereference on compressed write path error
    btrfs: qgroup: Dirty all qgroups before rescan
    Btrfs: fix wrong dentries after fsync of file that got its parent replaced
    btrfs: make sure we create all new block groups
    btrfs: reset max_extent_size on clear in a bitmap
    btrfs: wait on caching when putting the bg cache
    btrfs: don't attempt to trim devices that don't support it
    btrfs: iterate all devices during trim, instead of fs_devices::alloc_list
    btrfs: fix error handling in free_log_tree
    btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock
    btrfs: Handle owner mismatch gracefully when walking up tree
    soc/tegra: pmc: Fix child-node lookup
    arm64: dts: stratix10: Correct System Manager register size
    Cramfs: fix abad comparison when wrap-arounds occur
    rpmsg: smd: fix memory leak on channel create
  * arm64: lse: remove -fcall-used-x0 flag
      arch/arm64/lib/Makefile
    media: em28xx: make v4l2-compliance happier by starting sequence on zero
    media: em28xx: fix input name for Terratec AV 350
    media: tvp5150: avoid going past array on v4l2_querymenu()
    media: em28xx: use a default format if TRY_FMT fails
    xen: fix xen_qlock_wait()
    kgdboc: Passing ekgdboc to command line causes panic
    media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD
    TC: Set DMA masks for devices
    MIPS: OCTEON: fix out of bounds array access on CN68XX
    powerpc/msi: Fix compile error on mpc83xx
  * dm ioctl: harden copy_params()'s copy_from_user() from malicious users
      drivers/md/dm-ioctl.c
    lockd: fix access beyond unterminated strings in prints
    nfsd: Fix an Oops in free_session()
    NFSv4.1: Fix the r/wsize checking
  * genirq: Fix race on spurious interrupt detection
      kernel/irq/manage.c
  * printk: Fix panic caused by passing log_buf_len to command line
      kernel/printk/printk.c
    smb3: on kerberos mount if server doesn't specify auth type use krb5
    smb3: do not attempt cifs operation in smb3 query info error path
    smb3: allow stats which track session and share reconnects to be reset
    w1: omap-hdq: fix missing bus unregister at removal
    iio: adc: at91: fix wrong channel number in triggered buffer mode
    iio: adc: at91: fix acking DRDY irq on simple conversions
    iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs()
    iio: ad5064: Fix regulator handling
  * kbuild: fix kernel/bounds.c 'W=1' warning
      kernel/bounds.c
    hugetlbfs: dirty pages as they are added to pagecache
    ima: fix showing large 'violations' or 'runtime_measurements_count'
    crypto: tcrypt - fix ghash-generic speed test
    crypto: lrw - Fix out-of bounds access on counter overflow
    signal/GenWQE: Fix sending of SIGKILL
  * PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk
      drivers/pci/quirks.c
    EDAC, skx_edac: Fix logical channel intermediate decoding
    EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting
    HID: hiddev: fix potential Spectre v1
  * ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR
      fs/ext4/ioctl.c
  * ext4: initialize retries variable in ext4_da_write_inline_data_begin()
      fs/ext4/inline.c
    gfs2_meta: ->mount() can get NULL dev_name
  * jbd2: fix use after free in jbd2_log_do_checkpoint()
      fs/jbd2/checkpoint.c
    ASoC: intel: skylake: Add missing break in skl_tplg_get_token()
    libnvdimm: Hold reference on parent while scheduling async init
  * net/ipv4: defensive cipso option parsing
      net/ipv4/cipso_ipv4.c
    iwlwifi: mvm: check return value of rs_rate_from_ucode_rate()
    usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten
    libertas: don't set URB_ZERO_PACKET on IN USB transfer
    xen: make xen_qlock_wait() nestable
    xen: fix race in xen_qlock_wait()
    xen/blkfront: avoid NULL blkfront_info dereference on device removal
    tpm: Restore functionality to xen vtpm driver.
    xen-swiotlb: use actually allocated size on check physical continuous
    ARM: dts: exynos: Mark 1 GHz CPU OPP as suspend OPP on Exynos5250
    ARM: dts: exynos: Convert exynos5250.dtsi to opp-v2 bindings
    arm: dts: exynos: Add missing cooling device properties for CPUs
    ARM: dts: exynos: Remove "cooling-{min|max}-level" for CPU nodes
    ALSA: hda: Check the non-cached stream buffers more explicitly
    dmaengine: dma-jz4780: Return error if not probed from DT
  * signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init
      kernel/signal.c
    scsi: lpfc: Correct soft lockup when running mds diagnostics
  * uio: ensure class is registered before devices
      drivers/uio/uio.c
    driver/dma/ioat: Call del_timer_sync() without holding prep_lock
    usb: chipidea: Prevent unbalanced IRQ disable
    crypto: caam - fix implicit casts in endianness helpers
    coresight: etb10: Fix handling of perf mode
  * PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice
      drivers/pci/msi.c
    MD: fix invalid stored role for a disk
  * ext4: fix argument checking in EXT4_IOC_MOVE_EXT
      fs/ext4/move_extent.c
    usb: gadget: udc: atmel: handle at91sam9rl PMC
    VMCI: Resource wildcard match fixed
    tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated
    IB/ipoib: Clear IPCB before icmp_send
    RDMA/core: Do not expose unsupported counters
    scsi: megaraid_sas: fix a missing-check bug
    scsi: esp_scsi: Track residual for PIO transfers
    cgroup, netclassid: add a preemption point to write_classid
    ath10k: schedule hardware restart if WMI command times out
    ixgbevf: VF2VF TCP RSS
    pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant
  * pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant
      drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
  * pinctrl: qcom: spmi-mpp: Fix drive strength setting
      drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
    ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers
  * kprobes: Return error if we fail to reuse kprobe instead of BUG_ON()
      kernel/kprobes.c
    brcmfmac: fix for proper support of 160MHz bandwidth
  * pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux
      drivers/pinctrl/qcom/pinctrl-spmi-mpp.c
    x86: boot: Fix EFI stub alignment
    Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth
    cpufreq: dt: Try freeing static OPPs only if we have added them
    x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC
    iwlwifi: pcie: avoid empty free RB queue
    mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01
    perf strbuf: Match va_{add,copy} with va_end
    perf tools: Cleanup trace-event-info 'tdata' leak
    perf tools: Free temporary 'sys' string in read_event_files()
    hwmon: (pwm-fan) Set fan speed to 0 on suspend
    s390/sthyi: Fix machine name validity indication
  * tun: Consistently configure generic netdev params via rtnetlink
      drivers/net/tun.c
    swim: fix cleanup on setup error
    ataflop: fix error handling during setup
  * locking/lockdep: Fix debug_locks off performance problem
      lib/debug_locks.c
    i2c: rcar: cleanup DMA for all kinds of failure
    selftests: ftrace: Add synthetic event syntax testcase
    net: qla3xxx: Remove overflowing shift statement
    x86/fpu: Remove second definition of fpu in __fpu__restore_sig()
    perf cpu_map: Align cpu map synthesized events properly.
  * sched/fair: Fix the min_vruntime update logic in dequeue_entity()
      kernel/sched/fair.c
    sparc64: Make proc_id signed.
    sparc: Fix single-pcr perf event counter management.
  * xfrm: policy: use hlist rcu variants on insert
      net/xfrm/xfrm_policy.c
    Revert "perf tools: Fix PMU term format max value calculation"
    bpf: do not blindly change rlimit in reuseport net selftest
    x86/speculation: Support Enhanced IBRS on future CPUs
    x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided
  * x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation
      kernel/cpu.c
    ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops
    ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905)
    ALSA: hda - Fix headphone pin config for ASUS G751
    ALSA: hda - Add quirk for ASUS G751 laptop
    parisc: Fix map_pages() to not overwrite existing pte entries
    parisc: Fix address in HPMC IVA
    ipmi: Fix timer race with module unload
    pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges
    jffs2: free jffs2_sb_info through jffs2_kill_sb()
    hwmon: (pmbus) Fix page count auto-detection.
    bcache: fix miss key refill->end in writeback
Linux 4.9.136
  * posix-timers: Sanitize overrun handling
      include/linux/posix-timers.h
      kernel/time/posix-cpu-timers.c
      kernel/time/posix-timers.c
    net: fs_enet: do not call phy_stop() in interrupts
    x86/time: Correct the attribute on jiffies' definition
    x86/percpu: Fix this_cpu_read()
  * sched/fair: Fix throttle_list starvation with low CFS quota
      kernel/sched/fair.c
      kernel/sched/sched.h
    Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM
  * USB: fix the usbfs flag sanitization for control transfers
      drivers/usb/core/devio.c
  * usb: gadget: storage: Fix Spectre v1 vulnerability
      drivers/usb/gadget/function/f_mass_storage.c
    cdc-acm: correct counting of UART states in serial state notification
    IB/ucm: Fix Spectre v1 vulnerability
    RDMA/ucma: Fix Spectre v1 vulnerability
  * drm/edid: Add 6 bpc quirk for BOE panel in HP Pavilion 15-n233sl
      drivers/gpu/drm/drm_edid.c
    ptp: fix Spectre v1 vulnerability
    cachefiles: fix the race between cachefiles_bury_object() and rmdir(2)
    xfs: truncate transaction does not modify the inobt
    gpio: mxs: Get rid of external API call
    ahci: don't ignore result code of ahci_reset_controller()
  * crypto: shash - Fix a sleep-in-atomic bug in shash_setkey_unaligned
      crypto/shash.c
    Revert "x86/mm: Expand static page table for fixmap space"
  * ip6_tunnel: Fix encapsulation layout
      net/ipv6/ip6_tunnel.c
  * rtnetlink: Disallow FDB configuration for non-Ethernet device
      net/core/rtnetlink.c
  * net: fix pskb_trim_rcsum_slow() with odd trim offset
      net/core/skbuff.c
  * net: drop skb on failure in ip_check_defrag()
      net/ipv4/ip_fragment.c
  * bonding: fix length of actor system
      drivers/net/bonding/bond_netlink.c
  * ethtool: fix a privilege escalation bug
      net/core/ethtool.c
    vhost: Fix Spectre V1 vulnerability
    sctp: fix race on sctp_id2asoc
    r8169: fix NAPI handling under high load
  * net: udp: fix handling of CHECKSUM_COMPLETE packets
      net/core/datagram.c
      net/ipv4/udp.c
      net/ipv6/ip6_checksum.c
    net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules
  * net: socket: fix a missing-check bug
      net/socket.c
    net: sched: gred: pass the right attribute to gred_change_table_def()
  * net/ipv6: Fix index counter for unicast addresses in in6_dump_addrs
      net/ipv6/addrconf.c
    llc: set SOCK_RCU_FREE in llc_sap_add_socket()
  * ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called
      net/ipv6/ndisc.c
  * ipv6: mcast: fix a use-after-free in inet6_mc_check
      net/ipv6/mcast.c
  * net: bridge: remove ipv6 zero address check in mcast queries
      net/bridge/br_multicast.c
  * bridge: do not add port to router list when receives query with source 0.0.0.0
      net/bridge/br_multicast.c
    perf tools: Disable parallelism for 'make clean'
  * Revert "netfilter: ipv6: nf_defrag: drop skb dst before queueing"
      net/ipv6/netfilter/nf_conntrack_reasm.c
    mtd: spi-nor: Add support for is25wp series chips
  * fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters()
      fs/fat/fatent.c
    net: ena: fix NULL dereference due to untimely napi initialization
    rxrpc: Only take the rwind and mtu values from latest ACK
    rxrpc: Don't check RXRPC_CALL_TX_LAST after calling rxrpc_rotate_tx_window()
    ARM: dts: imx53-qsb: disable 1.2GHz OPP
    perf tests: Fix indexing when invoking subtests
  * xhci: Fix USB3 NULL pointer dereference at logical disconnect.
      drivers/usb/host/xhci-hub.c
    libertas: call into generic suspend code before turning off power
    IB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()'
    x86/paravirt: Fix some warning messages
    iio: buffer: fix the function signature to match implementation
    nvmet: fix space padding in serial number
  * bonding: ratelimit failed speed/duplex update warning
      drivers/net/bonding/bond_main.c
    enic: do not overwrite error code
    xen-netfront: Fix mismatched rtnl_unlock
    sparc64: Fix regression in pmdp_invalidate().
    xen-netfront: Update features after registering netdev
    test_bpf: Fix testing with CONFIG_BPF_JIT_ALWAYS_ON=y on other arches
    ALSA: hda - Fix incorrect usage of IS_REACHABLE()
  * futex: futex_wake_op, do not fail on invalid op
      kernel/futex.c
    cifs: Use ULL suffix for 64-bit constant
  * perf/core: Fix locking for children siblings group read
      kernel/events/core.c
    macsec: fix memory leaks when skb_to_sgvec fails
  * l2tp: remove configurable payload offset
      net/l2tp/l2tp_core.c
      net/l2tp/l2tp_core.h
      net/l2tp/l2tp_netlink.c
    iio: pressure: zpa2326: Remove always-true check which confuses gcc
  * module: fix DEBUG_SET_MODULE_RONX typo
      init/main.c
  * drm/msm: Fix possible null dereference on failure of get_pages()
      drivers/gpu/drm/msm/msm_gem.c
    Btrfs: incremental send, fix invalid memory access
    Revert "IB/ipoib: Update broadcast object if PKey value was changed in index 0"
    i40e: avoid NVM acquire deadlock during NVM update
    drm: bochs: Don't remove uninitialized fbdev framebuffer
    scsi: qla2xxx: Avoid double completion of abort command
    IB/mlx5: Avoid passing an invalid QP type to firmware
    mm/frame_vector.c: release a semaphore in 'get_vaddr_frames()'
    nbd: only set MSG_MORE when we have more to send
    IB/rxe: put the pool on allocation failure
    IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush
  * ipv6: fix cleanup ordering for ip6_mr failure
      net/ipv6/af_inet6.c
    ath10k: convert warning about non-existent OTP board id to debug message
    ALSA: hda - No loopback on ALC299 codec
    sctp: use right member as the param of list_for_each_entry
  * net: cdc_ncm: GetNtbFormat endian fix
      drivers/net/usb/cdc_ncm.c
    ocfs2: fix deadlock caused by recursive locking in xattr
    qed: Warn PTT usage by wrong hw-function
    iio: adc: Revert "axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications"
    rds: ib: Fix missing call to rds_ib_dev_put in rds_ib_setup_qp
    staging: wilc1000: Fix problem with wrong vif index
    ptr_ring: fix up after recent ptr_ring changes
    clk: samsung: Fix m2m scaler clock on Exynos542x
    usb: dwc3: omap: remove IRQ_NOAUTOEN used with shared irq
    usb: renesas_usbhs: gadget: fix unused-but-set-variable warning
    usb: renesas_usbhs: gadget: fix spin_lock_init() for &uep->lock
    net/mlx5: Fix health work queue spin lock to IRQ safe
    perf probe: Fix probe definition for inlined functions
    perf evsel: Fix probing of precise_ip level for default cycles event
    net/mlx5: Fix driver load error flow when firmware is stuck
  * ip6_tunnel: Correct tos value in collect_md mode
      net/ipv6/ip6_tunnel.c
    net/mlx5e: Fix fixpoint divide exception in mlx5e_am_stats_compare
    ufs: we need to sync inode before freeing it
    Btrfs: clear EXTENT_DEFRAG bits in finish_ordered_io
    net: stmmac: ensure jumbo_frm error return is correctly checked for -ve value
  * elevator: fix truncation of icq_cache_name
      include/linux/elevator.h
    gpu: ipu-v3: Fix CSI selection for VDIC
    ARM: 8677/1: boot/compressed: fix decompressor header layout for v7-M
    x86/cpu/cyrix: Add alternative Device ID of Geode GX1 SoC
    qlcnic: Fix tunnel offload for 82xx adapters
    net: ethernet: stmmac: Fix altr_tse_pcs SGMII Initialization
    libata: fix error checking in in ata_parse_force_one()
    mac80211: fix TX aggregation start/stop callback race
    arch/sparc: increase CONFIG_NODES_SHIFT on SPARC64 to 5
    ASoC: Intel: Skylake: Fix to parse consecutive string tkns in manifest
    reset: hi6220: Set module license so that it can be loaded
    ata: sata_rcar: Handle return value of clk_prepare_enable
    btrfs: fiemap: Cache and merge fiemap extent before submit it to user
    ARM: dts: bcm283x: Reserve first page for firmware
    ath10k: fix NAPI enable/disable symmetry for AHB interface
    bnxt_en: Don't use rtnl lock to protect link change logic in workqueue.
    tipc: fix a race condition of releasing subscriber object
    tipc: Fix tipc_sk_reinit handling of -EAGAIN
    net/mlx5: Fix command completion after timeout access invalid structure
    net: phy: marvell: Limit 88m1101 autoneg errata to 88E1145 as well.
    nvme-pci: fix CMB sysfs file removal in reset path
    rxe: Fix a sleep-in-atomic bug in post_one_send
    orangefs: off by ones in xattr size checks
    IB/core: Fix the validations of a multicast LID in attach or detach operations
    IB/ipoib: Do not warn if IPoIB debugfs doesn't exist
    platform/x86: acer-wmi: setup accelerometer when ACPI device was found
  * ipv6: set rt6i_protocol properly in the route when it is installed
      net/ipv6/route.c
    efi/fb: Correct PCI_STD_RESOURCE_END usage
    i2c: bcm2835: Avoid possible NULL ptr dereference
  * PCI: Disable MSI for HiSilicon Hip06/Hip07 only in Root Port mode
      drivers/pci/quirks.c
    ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs
    igb: Remove superfluous reset to PHY and page 0 selection
  * f2fs: fix multiple f2fs_add_link() having same name for inline dentry
      fs/f2fs/dir.c
    scsi: aacraid: Fix typo in blink status
    MIPS: Handle non word sized instructions when examining frame
    MIPS: microMIPS: Fix decoding of swsp16 instruction
    mm/memory_hotplug.c: fix overflow in test_pages_in_a_zone()
    perf symbols: Fix memory corruption because of zero length symbols
    net: cxgb3_main: fix a missing-check bug
    declance: Fix continuation with the adapter identification message
    net: fec: fix rare tx timeout
    perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX
  * perf/ring_buffer: Prevent concurent ring buffer access
      kernel/events/core.c
    smsc95xx: Check for Wake-on-LAN modes
    smsc75xx: Check for Wake-on-LAN modes
    r8152: Check for supported Wake-on-LAN Modes
    sr9800: Check for supported Wake-on-LAN modes
    lan78xx: Check for supported Wake-on-LAN modes
  * ax88179_178a: Check for supported Wake-on-LAN modes
      drivers/net/usb/ax88179_178a.c
  * asix: Check for supported Wake-on-LAN modes
      drivers/net/usb/asix_common.c
    qed: Avoid constant logical operation warning in qed_vf_pf_acquire
    qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor
    pxa168fb: prepare the clock
  * Bluetooth: SMP: fix crash in unpairing
      net/bluetooth/mgmt.c
      net/bluetooth/smp.c
      net/bluetooth/smp.h
    mac80211_hwsim: do not omit multicast announce of first added radio
  * nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT
      net/wireless/nl80211.c
    soc: fsl: qe: Fix copy/paste bug in ucc_get_tdm_sync_shift()
    soc: fsl: qbman: qman: avoid allocating from non existing gen_pool
    net: macb: Clean 64b dma addresses if they are not detected
    ARM: dts: BCM63xx: Fix incorrect interrupt specifiers
  * xfrm: validate template mode
      net/xfrm/xfrm_user.c
    ARM: 8799/1: mm: fix pci_ioremap_io() offset check
    mac80211: TDLS: fix skb queue/priority assignment
  * cfg80211: Address some corner cases in scan result channel updating
      net/wireless/scan.c
    mac80211: fix pending queue hang due to TX_DROP
  * cfg80211: reg: Init wiphy_idx in regulatory_hint_core()
      net/wireless/reg.c
    mac80211: Always report TX status
  * xfrm6: call kfree_skb when skb is toobig
      net/ipv6/xfrm6_output.c
  * xfrm: Validate address prefix lengths in the xfrm selector.
      net/xfrm/xfrm_user.c
Linux 4.9.135
    HV: properly delay KVP packets when negotiation is in progress
  * ext4: avoid running out of journal credits when appending to an inline file
      fs/ext4/ext4.h
      fs/ext4/inline.c
      fs/ext4/xattr.c
  * sched/cputime: Fix ksoftirqd cputime accounting regression
      kernel/sched/cputime.c
      kernel/sched/sched.h
  * sched/cputime: Increment kcpustat directly on irqtime account
      kernel/sched/cputime.c
      kernel/sched/sched.h
    macintosh/rack-meter: Convert cputime64_t use to u64
  * sched/cputime: Convert kcpustat to nsecs
      drivers/cpufreq/cpufreq.c
      drivers/cpufreq/cpufreq_governor.c
      drivers/cpufreq/cpufreq_stats.c
      fs/proc/stat.c
      fs/proc/uptime.c
      kernel/sched/cpuacct.c
      kernel/sched/cputime.c
    usb: gadget: serial: fix oops when data rx'd after close
  * HID: quirks: fix support for Apple Magic Keyboards
      drivers/hid/hid-core.c
    ARC: build: Don't set CROSS_COMPILE in arch's Makefile
    ARC: build: Get rid of toolchain check
  * netfilter: check for seqadj ext existence before adding it in nf_nat_setup_info
      net/netfilter/nf_nat_core.c
    mm: Preserve _PAGE_DEVMAP across mprotect() calls
  * mremap: properly flush TLB before releasing the page
      include/linux/huge_mm.h
      mm/mremap.c
    iommu/amd: Return devid as alias for ACPI HID devices
    powerpc/tm: Avoid possible userspace r1 corruption on reclaim
    powerpc/tm: Fix userspace r13 corruption
    net/mlx4: Use cpumask_available for eq->affinity_mask
  * scsi: sd: don't crash the host on invalid commands
      drivers/scsi/sd.c
    drm: mali-dp: Call drm_crtc_vblank_reset on device init
    ravb: do not write 1 to reserved bits
    Input: atakbd - fix Atari CapsLock behaviour
    Input: atakbd - fix Atari keymap
    scsi: ibmvscsis: Ensure partition name is properly NUL terminated
    scsi: ibmvscsis: Fix a stringop-overflow warning
    clocksource/drivers/ti-32k: Add CLOCK_SOURCE_SUSPEND_NONSTOP flag for non-am43 SoCs
    batman-adv: fix hardif_neigh refcount on queue_work() failure
    batman-adv: fix backbone_gw refcount on queue_work() failure
    batman-adv: Prevent duplicated tvlv handler
    batman-adv: Prevent duplicated global TT entry
    batman-adv: Prevent duplicated softif_vlan entry
    batman-adv: Prevent duplicated nc_node entry
    batman-adv: Fix segfault when writing to sysfs elp_interval
    batman-adv: Fix segfault when writing to throughput_override
    media: af9035: prevent buffer overflow on write
Linux 4.9.134
  * ipv4: frags: precedence bug in ip_expire()
      net/ipv4/ip_fragment.c
  * ip: frags: fix crash in ip_do_fragment()
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
  * ip: process in-order fragments efficiently
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
  * ip: add helpers to process in-order fragments faster.
      include/net/inet_frag.h
      net/ipv4/ip_fragment.c
  * ip: use rb trees for IP frag queue.
      include/linux/skbuff.h
      include/net/inet_frag.h
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * net: add rb_to_skb() and other rb tree helpers
      include/linux/skbuff.h
      net/ipv4/tcp_input.c
  * net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends
      include/linux/skbuff.h
      net/core/skbuff.c
  * ipv6: defrag: drop non-last frags smaller than min mtu
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * net: modify skb_rbtree_purge to return the truesize of all purged skbs.
      include/linux/skbuff.h
      net/core/skbuff.c
  * net: speed up skb_rbtree_purge()
      net/core/skbuff.c
  * ip: discard IPv4 datagrams with overlapping segments.
      include/uapi/linux/snmp.h
      net/ipv4/ip_fragment.c
      net/ipv4/proc.c
  * inet: frags: fix ip6frag_low_thresh boundary
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * inet: frags: get rid of ipfrag_skb_cb/FRAG_CB
      include/linux/skbuff.h
  * inet: frags: reorganize struct netns_frags
      include/net/inet_frag.h
  * rhashtable: reorganize struct rhashtable layout
      include/linux/rhashtable.h
  * ipv6: frags: rewrite ip6_expire_frag_queue()
      net/ipv6/reassembly.c
  * inet: frags: do not clone skb in ip_expire()
      net/ipv4/ip_fragment.c
  * inet: frags: break the 2GB limit for frags storage
      include/net/inet_frag.h
      net/ipv4/ip_fragment.c
      net/ipv4/proc.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/proc.c
      net/ipv6/reassembly.c
  * inet: frags: remove inet_frag_maybe_warn_overflow()
      include/net/inet_frag.h
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * inet: frags: get rif of inet_frag_evicting()
      include/net/inet_frag.h
      net/ipv4/ip_fragment.c
      net/ipv6/reassembly.c
  * inet: frags: remove some helpers
      include/net/inet_frag.h
      include/net/ip.h
      include/net/ipv6.h
      net/ipv4/ip_fragment.c
      net/ipv4/proc.c
      net/ipv6/proc.c
  * inet: frags: use rhashtables for reassembly units
      include/net/inet_frag.h
      include/net/ipv6.h
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * rhashtable: add schedule points
      lib/rhashtable.c
  * ipv6: export ip6 fragments sysctl to unprivileged users
      net/ipv6/reassembly.c
    inet: frags: refactor lowpan_net_frag_init()
  * inet: frags: refactor ipv6_frag_init()
      net/ipv6/reassembly.c
  * inet: frags: refactor ipfrag_init()
      net/ipv4/ip_fragment.c
  * inet: frags: add a pointer to struct netns_frags
      include/net/inet_frag.h
      include/net/ipv6.h
      net/ipv4/inet_fragment.c
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * inet: frags: change inet_frags_init_net() return value
      include/net/inet_frag.h
      net/ipv4/ip_fragment.c
      net/ipv6/netfilter/nf_conntrack_reasm.c
      net/ipv6/reassembly.c
  * inet: make sure to grab rcu_read_lock before using ireq->ireq_opt
      include/net/inet_sock.h
      net/ipv4/inet_connection_sock.c
      net/ipv4/tcp_ipv4.c
  * tcp/dccp: fix lockdep issue when SYN is backlogged
      include/net/inet_sock.h
      net/ipv4/tcp_input.c
  * rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096
      net/core/rtnetlink.c
    net: systemport: Fix wake-up interrupt race during resume
    net: mvpp2: Extract the correct ethtype from the skb for tx csum offload
    net: dsa: bcm_sf2: Fix unbind ordering
    team: Forbid enslaving team device to itself
    qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface
    qlcnic: fix Tx descriptor corruption on 82xx devices
    net/usb: cancel pending work when unbinding smsc75xx
  * netlabel: check for IPV4MASK in addrinfo_get
      net/netlabel/netlabel_unlabeled.c
  * net/ipv6: Display all addresses in output of /proc/net/if_inet6
      net/ipv6/addrconf.c
  * net: ipv4: update fnhe_pmtu when first hop's MTU changes
      include/linux/netdevice.h
      include/net/ip_fib.h
      net/core/dev.c
      net/ipv4/fib_frontend.c
      net/ipv4/fib_semantics.c
    net: hns: fix for unmapping problem when SMMU is on
    net: dsa: bcm_sf2: Call setup during switch resume
  * ipv6: take rcu lock in rawv6_send_hdrinc()
      net/ipv6/raw.c
  * ipv4: fix use-after-free in ip_cmsg_recv_dstaddr()
      net/ipv4/ip_sockglue.c
  * ip_tunnel: be careful when accessing the inner header
      net/ipv4/ip_tunnel.c
  * ip6_tunnel: be careful when accessing the inner header
      net/ipv6/ip6_tunnel.c
  * bonding: avoid possible dead-lock
      drivers/net/bonding/bond_main.c
      include/net/bonding.h
    bnxt_en: Fix TX timeout during netpoll.
  * xhci: Don't print a warning when setting link state for disabled ports
      drivers/usb/host/xhci-hub.c
    i2c: i2c-scmi: fix for i2c_smbus_write_block_data
    perf script python: Fix export-to-postgresql.py occasional failure
    mach64: detect the dot clock divider correctly on sparc
  * mm/vmstat.c: fix outdated vmstat_text
      mm/vmstat.c
  * ext4: Fix error code in ext4_xattr_set_entry()
      fs/ext4/xattr.c
    drm/amdgpu: Fix SDMA HQD destroy error on gfx_v7
    x86/kvm/lapic: always disable MMIO interface in x2APIC mode
    ARM: dts: at91: add new compatibility string for macb on sama5d3
    net: macb: disable scatter-gather for macb on sama5d3
    stmmac: fix valid numbers of unicast filter entries
    sound: enable interrupt after dma buffer initialization
    scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted()
    scsi: iscsi: target: Don't use stack buffer for scatterlist
    mfd: omap-usb-host: Fix dts probe of children
    selftests: memory-hotplug: add required configs
    selftests/efivarfs: add required kernel configs
    ASoC: sigmadsp: safeload should not have lower byte limit
    ASoC: wm8804: Add ACPI support
Linux 4.9.133
    x86/fpu: Finish excising 'eagerfpu'
    Revert "perf: sync up x86/.../cpufeatures.h"
    x86/fpu: Remove struct fpu::counter
    x86/fpu: Remove use_eager_fpu()
  * ebtables: arpreply: Add the standard target sanity check
      include/linux/netfilter_bridge/ebtables.h
    ath10k: fix scan crash due to incorrect length calculation
    ubifs: Check for name being NULL while mounting
    ucma: fix a use-after-free in ucma_resolve_ip()
  * f2fs: fix invalid memory access
      fs/f2fs/checkpoint.c
    x86/mm: Expand static page table for fixmap space
    ARC: clone syscall to setp r25 as thread pointer
    powerpc/fadump: Return error when fadump registration fails
    ath10k: fix kernel panic issue during pci probe
    ath10k: fix use-after-free in ath10k_wmi_cmd_send_nowait
  * cgroup: Fix deadlock in cpu hotplug path
      kernel/cgroup.c
  * ext4: always verify the magic number in xattr blocks
      fs/ext4/xattr.c
  * ext4: add corruption check in ext4_xattr_set_entry()
      fs/ext4/xattr.c
    of: unittest: Disable interrupt node tests for old world MAC systems
  * tty: Drop tty->count on tty_reopen() failure
      drivers/tty/tty_io.c
    USB: serial: simple: add Motorola Tetra MTP6550 id
    usb: xhci-mtk: resume USB3 roothub first
  * xhci: Add missing CAS workaround for Intel Sunrise Point xHCI
      drivers/usb/host/xhci-pci.c
    dm cache: fix resize crash if user doesn't reload cache table
    dm cache metadata: ignore hints array being too small during resize
  * PM / core: Clear the direct_complete flag on errors
      drivers/base/power/main.c
    mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode keys
  * PCI: Reprogram bridge prefetch registers on resume
      drivers/pci/pci.c
    x86/vdso: Fix vDSO syscall fallback asm constraint regression
    x86/vdso: Fix asm constraints on vDSO syscall fallbacks
    xen-netback: fix input validation in xenvif_set_hash_mapping()
    fbdev/omapfb: fix omapfb_memory_read infoleak
  * mm/vmstat.c: skip NR_TLB_REMOTE_FLUSH* properly
      mm/vmstat.c
Linux 4.9.132
    dm thin metadata: fix __udivdi3 undefined on 32-bit
    ocfs2: fix locking for res->tracking and dlm->tracking_list
  * proc: restrict kernel stack dumps to root
      fs/proc/base.c
  * gpiolib: Free the last requested descriptor
      drivers/gpio/gpiolib.c
    crypto: mxs-dcp - Fix wait logic on chan threads
    crypto: qat - Fix KASAN stack-out-of-bounds bug in adf_probe()
    ALSA: hda/realtek - Cannot adjust speaker's volume on Dell XPS 27 7760
    smb2: fix missing files in root share directory listing
  * sysfs: Do not return POSIX ACL xattrs via listxattr
      fs/xattr.c
    xen: fix GCC warning and remove duplicate EVTCHN_ROW/EVTCHN_COL usage
    xen: avoid crash in disable_hotplug_cpu
    xen/manage: don't complain about an empty value in control/sysrq node
    cifs: read overflow in is_valid_oplock_break()
    s390/qeth: don't dump past end of unknown HW header
    s390/qeth: use vzalloc for QUERY OAT buffer
    r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED
    arm64: jump_label.h: use asm_volatile_goto macro instead of "asm goto"
    hexagon: modify ffs() and fls() to return int
    arch/hexagon: fix kernel/dma.c build warning
    dm thin metadata: try to avoid ever aborting transactions
    perf/x86/intel: Add support/quirk for the MISPREDICT bit on Knights Landing CPUs
    net: ena: fix driver when PAGE_SIZE == 64kB
    fs/cifs: suppress a string overflow warning
    dm raid: fix rebuild of specific devices by updating superblock
    drm/nouveau/TBDdevinit: don't fail when PMU/PRE_OS is missing from VBIOS
    net/mlx5: Consider PCI domain in search for next dev
    nvmet-rdma: fix possible bogus dereference under heavy load
    USB: yurex: Check for truncation in yurex_read()
    RDMA/ucma: check fd type in ucma_migrate_id()
    perf probe powerpc: Ignore SyS symbols irrespective of endianness
    perf evsel: Fix potential null pointer dereference in perf_evsel__new_idx()
  * HID: hid-saitek: Add device ID for RAT 7 Contagion
      drivers/hid/hid-ids.h
    usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep[i]
  * HID: add support for Apple Magic Keyboards
      drivers/hid/hid-apple.c
      drivers/hid/hid-ids.h
  * mm: madvise(MADV_DODUMP): allow hugetlbfs pages
      mm/madvise.c
    tools/vm/page-types.c: fix "defined but not used" warning
    tools/vm/slabinfo.c: fix sign-compare warning
    mac80211: shorten the IBSS debug messages
    mac80211: don't Tx a deauth frame if the AP forbade Tx
    mac80211: Fix station bandwidth setting after channel switch
    mac80211: fix a race between restart and CSA flows
  * cfg80211: fix a type issue in ieee80211_chandef_to_operating_class()
      net/wireless/util.c
    fs/cifs: don't translate SFM_SLASH (U+F026) to backslash
    net: cadence: Fix a sleep-in-atomic-context bug in macb_halt_tx()
    i2c: uniphier-f: issue STOP only for last message or I2C_M_STOP
    i2c: uniphier: issue STOP only for last message or I2C_M_STOP
    RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0
    ARC: atomics: unbork atomic_fetch_##op()
  * gpio: Fix crash due to registration race
      drivers/gpio/gpiolib-of.c
  * cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE
      net/wireless/nl80211.c
    net: hns: add netif_carrier_off before change speed and duplex
    mac80211: mesh: fix HWMP sequence numbering to follow standard
    gpio: adp5588: Fix sleep-in-atomic-context bug
    mac80211_hwsim: correct use of IEEE80211_VHT_CAP_RXSTBC_X
    mac80211: correct use of IEEE80211_VHT_CAP_RXSTBC_X
    KVM: PPC: Book3S HV: Don't truncate HPTE index in xlate function
    mac80211: Run TXQ teardown code before de-registering interfaces
  * time: Introduce jiffies64_to_nsecs()
      include/linux/jiffies.h
      kernel/time/time.c
      kernel/time/timeconst.bc
    serial: mvebu-uart: Fix reporting of effective CSIZE to userspace
Linux 4.9.131
  * media: v4l: event: Prevent freeing event subscriptions while accessed
      drivers/media/v4l2-core/v4l2-event.c
      drivers/media/v4l2-core/v4l2-fh.c
      include/media/v4l2-fh.h
    arm64: KVM: Sanitize PSTATE.M when being set from userspace
    i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus
  * arm/arm64: smccc-1.1: Handle function result as parameters
      include/linux/arm-smccc.h
  * arm/arm64: smccc-1.1: Make return values unsigned long
      include/linux/arm-smccc.h
    drm/amdgpu: Update power state at the end of smu hw_init.
    drm/amdgpu: Enable/disable gfx PG feature in rlc safe mode
    hwmon: (adt7475) Make adt7475_read_word() return errors
    hwmon: (ina2xx) fix sysfs shunt resistor read access
    e1000: ensure to free old tx/rx rings in set_ringparam()
    e1000: check on netif_running() before calling e1000_up()
    net: hns: fix skb->truesize underestimation
    net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES
  * thermal: of-thermal: disable passive polling when thermal zone is disabled
      drivers/thermal/of-thermal.c
    qed: Wait for MCP halt and resume commands to take place
    qed: Wait for ready indication before rereading the shmem
  * ext4: never move the system.data xattr out of the inode body
      fs/ext4/xattr.c
    arm64: KVM: Tighten guest core register access from userspace
    IB/hfi1: Fix SL array bounds check
    serial: imx: restore handshaking irq for imx1
    scsi: target: iscsi: Use bin2hex instead of a re-implementation
    IB/hfi1: Fix context recovery when PBC has an UnsupportedVL
    IB/hfi1: Invalid user input can result in crash
    IB/srp: Avoid that sg_reset -d ${srp_device} triggers an infinite loop
    Input: elantech - enable middle button of touchpad on ThinkPad P72
  * USB: remove LPM management from usb_driver_claim_interface()
      drivers/usb/core/driver.c
    Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()"
  * USB: usbdevfs: restore warning for nonsensical flags
      drivers/usb/core/devio.c
  * USB: usbdevfs: sanitize flags more
      drivers/usb/core/devio.c
    media: uvcvideo: Support realtek's UVC 1.5 device
  * slub: make ->cpu_partial unsigned int
      include/linux/slub_def.h
      mm/slub.c
  * USB: handle NULL config in usb_find_alt_setting()
      drivers/usb/core/usb.c
  * USB: fix error handling in usb_driver_claim_interface()
      drivers/usb/core/driver.c
  * regulator: fix crash caused by null driver data
      drivers/regulator/core.c
    spi: rspi: Fix interrupted DMA transfers
    spi: rspi: Fix invalid SPI use during system suspend
    spi: sh-msiof: Fix handling of write value for SISTR register
    spi: sh-msiof: Fix invalid SPI use during system suspend
    spi: tegra20-slink: explicitly enable/disable clock
    serial: cpm_uart: return immediately from console poll
    tty: serial: lpuart: avoid leaking struct tty_struct
    floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl
    ARM: dts: dra7: fix DCAN node addresses
  * EDAC: Fix memleak in module init error path
      drivers/edac/edac_mc_sysfs.c
    nfsd: fix corrupted reply to badly ordered compound
    gpio: Fix wrong rounding in gpio-menz127
  * module: exclude SHN_UNDEF symbols from kallsyms api
      kernel/module.c
  * ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs
      sound/soc/soc-dapm.c
    EDAC, i7core: Fix memleaks and use-after-free on probe and remove
    scsi: megaraid_sas: Update controller info during resume
    scsi: bnx2i: add error handling for ioremap_nocache
    perf/x86/intel/lbr: Fix incomplete LBR call stack
    HID: hid-ntrig: add error handling for sysfs_create_group
    ARM: mvebu: declare asm symbols as character arrays in pmsu.c
    wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout()
    rndis_wlan: potential buffer overflow in rndis_wlan_auth_indication()
    drm/sun4i: Fix releasing node when enumerating enpoints
    net: phy: xgmiitorgmii: Check phy_driver ready before accessing
    ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock
    net: phy: xgmiitorgmii: Check read_status results
    ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge
    media: tm6000: add error handling for dvb_register_adapter
    drivers/tty: add error handling for pcmcia_loop_config
  * staging: android: ashmem: Fix mmap size validation
      drivers/staging/android/ashmem.c
    media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data
    media: soc_camera: ov772x: correct setting of banding filter
    media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power
    ALSA: snd-aoa: add of_node_put() in error path
    s390/extmem: fix gcc 8 stringop-overflow warning
  * alarmtimer: Prevent overflow for relative nanosleep
      kernel/time/alarmtimer.c
    powerpc/powernv/ioda2: Reduce upper limit for DMA window size
    usb: wusbcore: security: cast sizeof to int for comparison
    scsi: ibmvscsi: Improve strings handling
  * scsi: klist: Make it safe to use klists in atomic context
      lib/klist.c
    scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size
    x86/entry/64: Add two more instruction suffixes
    ARM: hwmod: RTC: Don't assume lock/unlock will be called with irq enabled
    x86/tsc: Add missing header to tsc_msr.c
    media: fsl-viu: fix error handling in viu_of_probe()
    powerpc/kdump: Handle crashkernel memory reservation failure
    media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt()
    IB/core: type promotion bug in rdma_rw_init_one_mr()
    md-cluster: clear another node's suspend_area after the copy is finished
  * power: remove possible deadlock when unregistering power_supply
      drivers/power/supply/power_supply_core.c
      include/linux/power_supply.h
    s390/mm: correct allocate_pgste proc_handler callback
    6lowpan: iphc: reset mac_header after decompress to fix panic
    USB: serial: kobil_sct: fix modem-status error handling
    Bluetooth: Add a new Realtek 8723DE ID 0bda:b009
    iommu/amd: make sure TLB to be flushed before IOVA freed
    power: vexpress: fix corruption in notifier registration
    uwb: hwa-rc: fix memory leak at probe
    staging: rts5208: fix missing error check on call to rtsx_write_register
    x86/numa_emulation: Fix emulated-to-physical node mapping
    vmci: type promotion bug in qp_host_get_user_memory()
    tsl2550: fix lux1_input error in low light
  * crypto: skcipher - Fix -Wstringop-truncation warnings
      crypto/ablkcipher.c
      crypto/blkcipher.c

Change-Id: I20f8975728186d16d30d0be15426ff5a732935d1
Signed-off-by: Petri Gynther <pgynther@google.com>
2018-12-19 14:54:50 -08:00
Sabrina Dubroca
8d59c3a637 net: ipv4: update fnhe_pmtu when first hop's MTU changes
[ Upstream commit af7d6cce53694a88d6a1bb60c9a239a6a5144459 ]

Since commit 5aad1de5ea ("ipv4: use separate genid for next hop
exceptions"), exceptions get deprecated separately from cached
routes. In particular, administrative changes don't clear PMTU anymore.

As Stefano described in commit e9fa1495d738 ("ipv6: Reflect MTU changes
on PMTU of exceptions for MTU-less routes"), the PMTU discovered before
the local MTU change can become stale:
 - if the local MTU is now lower than the PMTU, that PMTU is now
   incorrect
 - if the local MTU was the lowest value in the path, and is increased,
   we might discover a higher PMTU

Similarly to what commit e9fa1495d738 did for IPv6, update PMTU in those
cases.

If the exception was locked, the discovered PMTU was smaller than the
minimal accepted PMTU. In that case, if the new local MTU is smaller
than the current PMTU, let PMTU discovery figure out if locking of the
exception is still needed.

To do this, we need to know the old link MTU in the NETDEV_CHANGEMTU
notifier. By the time the notifier is called, dev->mtu has been
changed. This patch adds the old MTU as additional information in the
notifier structure, and a new call_netdevice_notifiers_u32() function.

Fixes: 5aad1de5ea ("ipv4: use separate genid for next hop exceptions")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Stefano Brivio <sbrivio@redhat.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-18 09:13:22 +02:00
Manjunathappa Prakash
39e939a52b Revert "GRO: Add support for TCP with fixed IPv4 ID field, limit tunnel IP ID values"
This reverts commit 1530545ed6.
This in preparation of below followup change to ignore IP ID check for GRO
coalesce. "ipv4/GRO: Make GRO conform to RFC 6864"
This is required to support some streams with random ip ID values.

Change-Id: I94ede69e2cd14365238eeeaed0f507519350d64b
CRs-Fixed: 2221952
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: Manjunathappa Prakash <prakashpm@codeaurora.org>
2018-04-11 15:58:24 -07:00
Kyle Yan
01bff91034 Merge remote-tracking branch '4.9/tmp-8cca21f' into 4.9
* 4.9/tmp-8cca21f:
  Linux 4.9.65
  mm/pagewalk.c: report holes in hugetlb ranges
  coda: fix 'kernel memory exposure attempt' in fsync
  mm/page_alloc.c: broken deferred calculation
  ipmi: fix unsigned long underflow
  ocfs2: should wait dio before inode lock in ocfs2_setattr()
  ocfs2: fix cluster hang after a node dies
  dmaengine: dmatest: warn user when dma test times out
  serial: 8250_fintek: Fix finding base_port with activated SuperIO
  serial: omap: Fix EFR write on RTS deassertion
  ima: do not update security.ima if appraisal status is not INTEGRITY_PASS
  crypto: dh - Fix double free of ctx->p
  crypto: dh - fix memleak in setkey
  net/sctp: Always set scope_id in sctp_inet6_skb_msgname
  fealnx: Fix building error on MIPS
  sctp: do not peel off an assoc from one netns to another one
  af_netlink: ensure that NLMSG_DONE never fails in dumps
  vlan: fix a use-after-free in vlan_device_event()
  net: usb: asix: fill null-ptr-deref in asix_suspend
  qmi_wwan: Add missing skb_reset_mac_header-call
  net: qmi_wwan: fix divide by 0 on bad descriptors
  net: cdc_ether: fix divide by 0 on bad descriptors
  bonding: discard lowest hash bit for 802.3ad layer3+4
  netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed
  tcp: do not mangle skb->cb[] in tcp_make_synack()
  net: vrf: correct FRA_L3MDEV encode type
  tcp_nv: fix division by zero in tcpnv_acked()
  Linux 4.9.64
  staging: greybus: spilib: fix use-after-free after deregistration
  brcmfmac: don't preset all channels as disabled
  x86/MCE/AMD: Always give panic severity for UC errors in kernel context
  USB: serial: garmin_gps: fix memory leak on probe errors
  USB: serial: garmin_gps: fix I/O after failed probe and remove
  USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update
  usb: gadget: f_fs: Fix use-after-free in ffs_free_inst
  USB: Add delay-init quirk for Corsair K70 LUX keyboards
  USB: usbfs: compute urb->actual_length for isochronous
  crypto: dh - Don't permit 'key' or 'g' size longer than 'p'
  crypto: dh - Don't permit 'p' to be 0
  Revert "dt-bindings: Add LEGO MINDSTORMS EV3 compatible specification"
  Revert "dt-bindings: Add vendor prefix for LEGO"
  uapi: fix linux/rds.h userspace compilation errors
  uapi: fix linux/rds.h userspace compilation error
  Revert "uapi: fix linux/rds.h userspace compilation errors"
  Revert "crypto: xts - Add ECB dependency"
  MIPS: Netlogic: Exclude netlogic,xlp-pic code from XLR builds
  MIPS: traps: Ensure L1 & L2 ECC checking match for CM3 systems
  MIPS: init: Ensure reserved memory regions are not added to bootmem
  MIPS: init: Ensure bootmem does not corrupt reserved memory
  MIPS: End asm function prologue macros with .insn
  staging: greybus: add host device function pointer checks
  staging: wilc1000: Fix endian sparse warning
  staging: rtl8712: fixed little endian problem
  ixgbe: do not disable FEC from the driver
  ixgbe: add mask for 64 RSS queues
  ixgbe: Reduce I2C retry count on X550 devices
  ixgbe: Fix reporting of 100Mb capability
  ixgbe: handle close/suspend race with netif_device_detach/present
  ixgbe: fix AER error handling
  ixgbe: Configure advertised speeds correctly for KR/KX backplane
  arm64: dts: NS2: reserve memory for Nitro firmware
  ALSA: hda/realtek - Add new codec ID ALC299
  gpu: drm: mgag200: mgag200_main:- Handle error from pci_iomap
  backlight: adp5520: Fix error handling in adp5520_bl_probe()
  backlight: lcd: Fix race condition during register
  drm/omap: panel-sony-acx565akm.c: Add MODULE_ALIAS
  ALSA: vx: Fix possible transfer overflow
  ALSA: vx: Don't try to update capture stream before running
  power: supply: axp288_fuel_gauge: Read 12 bit values 2 registers at a time
  power: supply: axp288_fuel_gauge: Read 15 bit values 2 registers at a time
  rtc: rx8010: change lock mechanism
  scsi: lpfc: Clear the VendorVersion in the PLOGI/PLOGI ACC payload
  scsi: lpfc: Correct issue leading to oops during link reset
  scsi: lpfc: Correct host name in symbolic_name field
  scsi: lpfc: FCoE VPort enable-disable does not bring up the VPort
  scsi: lpfc: Add missing memory barrier
  x86/irq, trace: Add __irq_entry annotation to x86's platform IRQ handlers
  staging: rtl8188eu: fix incorrect ERROR tags from logs
  tcp: provide timestamps for partial writes
  scsi: ufs: add capability to keep auto bkops always enabled
  scsi: ufs-qcom: Fix module autoload
  igb: Fix hw_dbg logging in igb_update_flash_i210
  igb: close/suspend race in netif_device_detach
  igb: reset the PHY before reading the PHY ID
  drm/sti: sti_vtg: Handle return NULL error from devm_ioremap_nocache
  ata: SATA_MV should depend on HAS_DMA
  ata: SATA_HIGHBANK should depend on HAS_DMA
  ata: ATA_BMDMA should depend on HAS_DMA
  ARM: dts: omap5-uevm: Allow bootloader to configure USB Ethernet MAC
  ARM: dts: Fix omap3 off mode pull defines
  ARM: OMAP2+: Fix init for multiple quirks for the same SoC
  ARM: dts: Fix am335x and dm814x scm syscon to probe children
  ARM: dts: Fix compatible for ti81xx uarts for 8250
  fm10k: request reset when mbx->state changes
  extcon: palmas: Check the parent instance to prevent the NULL
  extcon: Remove potential problem when calling extcon_register_notifier()
  Bluetooth: btusb: fix QCA Rome suspend/resume
  arm: crypto: reduce priority of bit-sliced AES cipher
  media: dib0700: fix invalid dvb_detach argument
  media: imon: Fix null-ptr-deref in imon_probe
  Linux 4.9.63
  misc: panel: properly restore atomic counter on error path
  qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT (v2)
  target/iscsi: Fix iSCSI task reassignment handling
  brcmfmac: remove setting IBSS mode when stopping AP
  security/keys: add CONFIG_KEYS_COMPAT to Kconfig
  netfilter: nat: Revert "netfilter: nat: convert nat bysrc hash to rhashtable"
  netfilter: nat: avoid use of nf_conn_nat extension
  Revert "ARM: dts: imx53-qsb-common: fix FEC pinmux config"
  ALSA: seq: Cancel pending autoload work at unbinding device
  Input: ims-psu - check if CDC union descriptor is sane
  usb: usbtest: fix NULL pointer dereference
  mac80211: don't compare TKIP TX MIC key in reinstall prevention
  mac80211: use constant time comparison with keys
  mac80211: accept key reinstall without changing anything
  ppp: fix race in ppp device destruction
  net_sched: avoid matching qdisc with zero handle
  sctp: reset owner sk for data chunks on out queues when migrating a sock
  tun: allow positive return values on dev_get_valid_name() call
  ip6_gre: update dst pmtu if dev mtu has been updated by toobig in __gre6_xmit
  ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err
  ipip: only increase err_count for some certain type icmp in ipip_err
  tap: double-free in error path in tap_open()
  net/unix: don't show information about sockets from other namespaces
  tcp/dccp: fix other lockdep splats accessing ireq_opt
  tcp/dccp: fix lockdep splat in inet_csk_route_req()
  sctp: full support for ipv6 ip_nonlocal_bind & IP_FREEBIND
  ipv6: flowlabel: do not leave opt->tot_len with garbage
  soreuseport: fix initialization race
  packet: avoid panic in packet_getsockopt()
  tcp/dccp: fix ireq->opt races
  sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect
  tun: call dev_get_valid_name() before register_netdevice()
  l2tp: check ps->sock before running pppol2tp_session_ioctl()
  tcp: fix tcp_mtu_probe() vs highest_sack
  net: call cgroup_sk_alloc() earlier in sk_clone_lock()
  netlink: do not set cb_running if dump's start() errs
  ipv6: addrconf: increment ifp refcount before ipv6_del_addr()
  tun/tap: sanitize TUNSETSNDBUF input
  gso: fix payload length when gso_size is zero
  FROMLIST: binder: fix proc->files use-after-free

Conflicts:
	drivers/scsi/ufs/ufshcd.h
	include/net/netfilter/nf_conntrack.h

Change-Id: I38fd3aa5f077a7bde0a8de4ebe9dc9316075f199
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-11-29 13:12:37 -08:00
Cong Wang
3e2ab0ceef tun: call dev_get_valid_name() before register_netdevice()
[ Upstream commit 0ad646c81b2182f7fa67ec0c8c825e0ee165696d ]

register_netdevice() could fail early when we have an invalid
dev name, in which case ->ndo_uninit() is not called. For tun
device, this is a problem because a timer etc. are already
initialized and it expects ->ndo_uninit() to clean them up.

We could move these initializations into a ->ndo_init() so
that register_netdevice() knows better, however this is still
complicated due to the logic in tun_detach().

Therefore, I choose to just call dev_get_valid_name() before
register_netdevice(), which is quicker and much easier to audit.
And for this specific case, it is already enough.

Fixes: 96442e4242 ("tuntap: choose the txq based on rxq")
Reported-by: Dmitry Alexeev <avekceeb@gmail.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-18 11:22:21 +01:00
Mohammed Javid
7ea9946b5f msm: net: API to send list of SKB's to network driver
Existing network stack API's which are used to transmit
data to the network drivers send one SKB at a time. There
can be usecases where network driver expects a list of skb's
from the network stack. For example it will be needed in cases
where aggregation is needed before giving packets to HW. Create
a new API to send list of skb's from the network stack to
network driver. Re-use the existing functionality of
__dev_queue_xmit().

Change-Id: I67bd081c92eda63d3712d29f3b5bee21cde798ab
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
2017-10-24 03:11:30 -07:00
Kyle Yan
229226ed21 Merge remote-tracking branch '4.9/tmp-9452b2c' into msm-4.9
* 4.9/tmp-9452b2c:
  Linux 4.9.51
  ipv6: Fix may be used uninitialized warning in rt6_check
  xfs: fix compiler warnings
  md/raid5: release/flush io in raid5_do_work()
  xfs: use kmem_free to free return value of kmem_zalloc
  xfs: open code end_buffer_async_write in xfs_finish_page_writeback
  xfs: don't set v3 xflags for v2 inodes
  xfs: fix incorrect log_flushed on fsync
  xfs: disable per-inode DAX flag
  xfs: relog dirty buffers during swapext bmbt owner change
  xfs: disallow marking previously dirty buffers as ordered
  xfs: move bmbt owner change to last step of extent swap
  xfs: skip bmbt block ino validation during owner change
  xfs: don't log dirty ranges for ordered buffers
  xfs: refactor buffer logging into buffer dirtying helper
  xfs: ordered buffer log items are never formatted
  xfs: remove unnecessary dirty bli format check for ordered bufs
  xfs: open-code xfs_buf_item_dirty()
  xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster()
  xfs: evict all inodes involved with log redo item
  xfs: stop searching for free slots in an inode chunk when there are none
  xfs: add log recovery tracepoint for head/tail
  xfs: handle -EFSCORRUPTED during head/tail verification
  xfs: fix log recovery corruption error due to tail overwrite
  xfs: always verify the log tail during recovery
  xfs: fix recovery failure when log record header wraps log end
  xfs: Properly retry failed inode items in case of error during buffer writeback
  xfs: Add infrastructure needed for error propagation during buffer IO failure
  xfs: remove xfs_trans_ail_delete_bulk
  xfs: toggle readonly state around xfs_log_mount_finish
  xfs: write unmount record for ro mounts
  iomap: fix integer truncation issues in the zeroing and dirtying helpers
  xfs: don't leak quotacheck dquots when cow recovery
  xfs: clear MS_ACTIVE after finishing log recovery
  xfs: fix inobt inode allocation search optimization
  xfs: Fix per-inode DAX flag inheritance
  xfs: fix multi-AG deadlock in xfs_bunmapi
  xfs: fix quotacheck dquot id overflow infinite loop
  xfs: check _alloc_read_agf buffer pointer before using
  xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_write
  xfs: check _btree_check_block value
  xfs: don't crash on unexpected holes in dir/attr btrees
  xfs: free cowblocks and retry on buffered write ENOSPC
  xfs: free uncommitted transactions during log recovery
  xfs: don't allow bmap on rt files
  xfs: remove bli from AIL before release on transaction abort
  xfs: release bli from transaction properly on fs shutdown
  xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent
  xfs: push buffer of flush locked dquot to avoid quotacheck deadlock
  xfs: fix spurious spin_is_locked() assert failures on non-smp kernels
  xfs: Move handling of missing page into one place in xfs_find_get_desired_pgoff()
  x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
  x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
  x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
  f2fs: check hot_data for roll-forward recovery
  f2fs: let fill_super handle roll-forward errors
  ip_tunnel: fix setting ttl and tos value in collect_md mode
  sctp: fix missing wake ups in some situations
  ipv6: fix typo in fib6_net_exit()
  ipv6: fix memory leak with multiple tables during netns destruction
  ip6_gre: update mtu properly in ip6gre_err
  vhost_net: correctly check tx avail during rx busy polling
  gianfar: Fix Tx flow control deactivation
  Revert "net: fix percpu memory leaks"
  Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
  bridge: switchdev: Clear forward mark when transmitting packet
  mlxsw: spectrum: Forbid linking to devices that have uppers
  tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
  Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
  kcm: do not attach PF_KCM sockets to avoid deadlock
  packet: Don't write vnet header beyond end of buffer
  cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox()
  netvsc: fix deadlock betwen link status and removal
  qlge: avoid memcpy buffer overflow
  sctp: Avoid out-of-bounds reads from address storage
  fsl/man: Inherit parent device and of_node
  udp: on peeking bad csum, drop packets even if not at head
  macsec: add genl family module alias
  ipv6: fix sparse warning on rt6i_node
  ipv6: add rcu grace period before freeing fib6_node
  ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
  ANDROID: configs: remove config fragments

Conflicts:
	kernel/configs/android-recommended.config

Change-Id: Ifc0a477ea15c7cdf7154b5f047014549fbf28f88
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-09-21 10:25:46 -07:00
Ido Schimmel
73ee5a73e7 mlxsw: spectrum: Forbid linking to devices that have uppers
[ Upstream commit 25cc72a33835ed8a6f53180a822cadab855852ac ]

The mlxsw driver relies on NETDEV_CHANGEUPPER events to configure the
device in case a port is enslaved to a master netdev such as bridge or
bond.

Since the driver ignores events unrelated to its ports and their
uppers, it's possible to engineer situations in which the device's data
path differs from the kernel's.

One example to such a situation is when a port is enslaved to a bond
that is already enslaved to a bridge. When the bond was enslaved the
driver ignored the event - as the bond wasn't one of its uppers - and
therefore a bridge port instance isn't created in the device.

Until such configurations are supported forbid them by checking that the
upper device doesn't have uppers of its own.

Fixes: 0d65fc1304 ("mlxsw: spectrum: Implement LAG port join/leave")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: Nogah Frankel <nogahf@mellanox.com>
Tested-by: Nogah Frankel <nogahf@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-09-20 08:19:55 +02:00
Kyle Yan
2506cb5328 Merge remote-tracking branch '4.9/tmp-75d78c7' into 4.9
* 4.9/tmp-75d78c7:
  Linux 4.9.35
  brcmfmac: fix uninitialized warning in brcmf_usb_probe_phase2()
  jump label: fix passing kbuild_cflags when checking for asm goto support
  net: phy: fix marvell phy status reading
  spi: double time out tolerance
  dmaengine: bcm2835: Fix cyclic DMA period splitting
  net: phy: Initialize mdio clock at probe function
  rt2x00: avoid introducing a USB dependency in the rt2x00lib module
  usb: gadget: f_fs: avoid out of bounds access on comp_desc
  mtd: spi-nor: fix spansion quad enable
  of: Add check to of_scan_flat_dt() before accessing initial_boot_params
  rxrpc: Fix several cases where a padded len isn't checked in ticket decode
  drm/amdgpu: adjust default display clock
  drm/amdgpu/atom: fix ps allocation size for EnableDispPowerGating
  drm/radeon: add a quirk for Toshiba Satellite L20-183
  drm/radeon: add a PX quirk for another K53TK variant
  iscsi-target: Reject immediate data underflow larger than SCSI transfer length
  iscsi-target: Fix delayed logout processing greater than SECONDS_FOR_LOGOUT_COMP
  target: Fix kref->refcount underflow in transport_cmd_finish_abort
  arm64/vdso: Fix nsec handling for CLOCK_MONOTONIC_RAW
  time: Fix CLOCK_MONOTONIC_RAW sub-nanosecond accounting
  time: Fix clock->read(clock) race around clocksource changes
  brcmfmac: unbind all devices upon failure in firmware callback
  brcmfmac: use firmware callback upon failure to load
  brcmfmac: add parameter to pass error code in firmware callback
  Input: i8042 - add Fujitsu Lifebook AH544 to notimeout list
  powerpc/64s: Handle data breakpoints in Radix mode
  powerpc/kprobes: Pause function_graph tracing during jprobes handling
  signal: Only reschedule timers on signals timers have sent
  HID: Add quirk for Dell PIXART OEM mouse
  cxgb4: notify uP to route ctrlq compl to rdma rspq
  CIFS: Improve readdir verbosity
  KVM: PPC: Book3S HV: Context-switch EBB registers properly
  KVM: PPC: Book3S HV: Preserve userspace HTM state properly
  KVM: s390: gaccess: fix real-space designation asce handling for gmap shadows
  perf/x86/intel: Add 1G DTLB load/store miss support for SKL
  lib/cmdline.c: fix get_options() overflow while parsing ranges
  autofs: sanity check status reported with AUTOFS_DEV_IOCTL_FAIL
  powerpc/perf: Fix oops when kthread execs user process
  fs/exec.c: account for argv/envp pointers
  ALSA: pcm: Don't treat NULL chmap as a fatal error
  ALSA: firewire-lib: Fix stall of process context at packet error
  xen-blkback: don't leak stack data via response ring
  xen/blkback: fix disconnect while I/Os in flight
  clk: sunxi-ng: a31: Correct lcd1-ch1 clock register offset
  Revert "ANDROID: hardlockup: detect hard lockups without NMIs using secondary cpus"
  Revert "ANDROID: kernel/watchdog: fix unused variable warning"
  UPSTREAM: usb: gadget: f_fs: avoid out of bounds access on comp_desc
  Linux 4.9.34
  mm: fix new crash in unmapped_area_topdown()
  Allow stack to grow up to address space limit
  mm: larger stack guard gap, between vmas
  alarmtimer: Rate limit periodic intervals
  crypto: Work around deallocated stack frame reference gcc bug on sparc.
  vTPM: Fix missing NULL check
  MIPS: .its targets depend on vmlinux
  MIPS: Fix bnezc/jialc return address calculation
  usb: dwc3: exynos fix axius clock error path to do cleanup
  usb: gadget: composite: Fix function used to free memory
  alarmtimer: Prevent overflow of relative timers
  genirq: Release resources in __setup_irq() error path
  sched/core: Idle_task_exit() shouldn't use switch_mm_irqs_off()
  iio: imu: inv_mpu6050: add accel lpf setting for chip >= MPU6500
  swap: cond_resched in swap_cgroup_prepare()
  mm/memory-failure.c: use compound_head() flags for huge pages
  USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks
  USB: gadget: fix GPF in gadgetfs
  usb: xhci: ASMedia ASM1042A chipset need shorts TX quirk
  usb: xhci: Fix USB 3.1 supported protocol parsing
  drivers/misc/c2port/c2port-duramar2150.c: checking for NULL instead of IS_ERR()
  misc: mic: double free on ioctl error path
  ath10k: fix napi crash during rmmod when probe firmware fails
  usb: r8a66597-hcd: decrease timeout
  usb: r8a66597-hcd: select a different endpoint on timeout
  USB: gadget: dummy_hcd: fix hub-descriptor removable fields
  pvrusb2: reduce stack usage pvr2_eeprom_analyze()
  USB: usbip: fix nonconforming hub descriptor
  usb: core: fix potential memory leak in error path during hcd creation
  USB: hub: fix SS max number of ports
  usb: gadget: udc: renesas_usb3: lock for PN_ registers access
  usb: gadget: udc: renesas_usb3: fix deadlock by spinlock
  usb: gadget: udc: renesas_usb3: fix pm_runtime functions calling
  IB/mlx5: Fix kernel to user leak prevention logic
  iio: adc: ti_am335x_adc: allocating too much in probe
  iio: proximity: as3935: recalibrate RCO after resume
  iio: st_pressure: Fix data sign
  staging: iio: tsl2x7x_core: Fix standard deviation calculation
  staging: rtl8188eu: prevent an underflow in rtw_check_beacon_data()
  mfd: omap-usb-tll: Fix inverted bit use for USB TLL mode
  x86/mm/32: Set the '__vmalloc_start_set' flag in initmem_init()
  serial: sh-sci: Fix late enablement of AUTORTS
  serial: efm32: Fix parity management in 'efm32_uart_console_get_options()'
  drm/vc4: Fix OOPSes from trying to cache a partially constructed BO.
  drm/mediatek: fix mtk_hdmi_setup_vendor_specific_infoframe mistake
  mac80211: don't send SMPS action frame in AP mode when not needed
  mac80211: fix dropped counter in multiqueue RX
  mac80211: strictly check mesh address extension mode
  mac80211: fix IBSS presp allocation size
  mac80211: fix packet statistics for fast-RX
  mac80211: fix CSA in IBSS mode
  usb: musb: dsps: keep VBUS on for host-only mode
  drm/i915: Fix GVT-g PVINFO version compatibility check
  drm/amdgpu: Fix overflow of watermark calcs at > 4k resolutions.
  mac80211/wpa: use constant time memory comparison for MACs
  mac80211: don't look at the PM bit of BAR frames
  vb2: Fix an off by one error in 'vb2_plane_vaddr'
  cpufreq: conservative: Allow down_threshold to take values from 1 to 10
  ila_xlat: add missing hash secret initialization
  can: gs_usb: fix memory leak in gs_cmd_reset()
  configfs: Fix race between create_link and configfs_rmdir
  fs: pass on flags in compat_writev
  ANDROID: sdcardfs: remove dead function open_flags_to_access_mode()
  ANDROID: android-base.cfg: split out arm64-specific configs
  Linux 4.9.33
  sparc64: make string buffers large enough
  drm/i915: Always recompute watermarks when distrust_bios_wm is set, v2.
  drm/i915: Workaround VLV/CHV DSI scanline counter hardware fail
  s390/kvm: do not rely on the ILC on kvm host protection fauls
  xtensa: don't use linux IRQ #0
  RDMA/qedr: Return max inline data in QP query result
  RDMA/qedr: Don't spam dmesg if QP is in error state
  RDMA/qedr: Don't reset QP when queues aren't flushed
  RDMA/qedr: Fix and simplify memory leak in PD alloc
  RDMA/qedr: Dispatch port active event from qedr_add
  netfilter: nft_log: restrict the log prefix length to 127
  netfilter: nf_tables: fix set->nelems counting with no NLM_F_EXCL
  tipc: fix nametbl_lock soft lockup at node/link events
  tipc: add subscription refcount to avoid invalid delete
  tipc: fix connection refcount error
  tipc: ignore requests when the connection state is not CONNECTED
  ARCv2: smp-boot: wake_flag polling by non-Masters needs to be uncached
  ARC: smp-boot: Decouple Non masters waiting API from jump to entry point
  vhost/vsock: handle vhost_vq_init_access() error
  kernel/watchdog: prevent false hardlockup on overloaded system
  kernel/watchdog.c: move shared definitions to nmi.h
  kernel/watchdog.c: move hardlockup detector to separate file
  userfaultfd: fix SIGBUS resulting from false rwsem wakeups
  proc: add a schedule point in proc_pid_readdir()
  frv: add missing atomic64 operations
  frv: add atomic64_add_unless()
  romfs: use different way to generate fsid for BLOCK or MTD
  mn10300: fix build error of missing fpu_save()
  usb: musb: Fix external abort on non-linefetch for musb_irq_work()
  sctp: sctp_addr_id2transport should verify the addr before looking up assoc
  sctp: sctp gso should set feature with NETIF_F_SG when calling skb_segment
  bnxt_en: Fix RTNL lock usage on bnxt_get_port_module_status().
  bnxt_en: Fix RTNL lock usage on bnxt_update_link().
  bnxt_en: Enhance autoneg support.
  bnxt_en: Fix bnxt_reset() in the slow path task.
  net-next: ethernet: mediatek: change the compatible string
  r8152: avoid start_xmit to schedule napi when napi is disabled
  r8152: fix rtl8152_post_reset function
  r8152: re-schedule napi for tx
  r8152: check rx after napi is enabled
  r8152: avoid start_xmit to call napi_schedule during autosuspend
  nvmet-rdma: Fix missing dma sync to nvme data structures
  nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED"
  ravb: unmap descriptors when freeing rings
  drm/ast: Fixed system hanged if disable P2A
  drm/nouveau: Fix drm poll_helper handling
  drm/nouveau: Don't enabling polling twice on runtime resume
  drm/nouveau: Handle fbcon suspend/resume in seperate worker
  drm/nouveau: Rename acpi_work to hpd_work
  drm/nouveau: Intercept ACPI_VIDEO_NOTIFY_PROBE
  gtp: add genl family modules alias
  net: phy: micrel: add support for KSZ8795
  parisc, parport_gsc: Fixes for printk continuation lines
  net/mlx5: Return EOPNOTSUPP when failing to get steering name-space
  net/mlx5: E-Switch, Err when retrieving steering name-space fails
  drm/i915: Check for NULL i915_vma in intel_unpin_fb_obj()
  net: adaptec: starfire: add checks for dma mapping errors
  pinctrl: berlin-bg4ct: fix the value for "sd1a" of pin SCRD0_CRD_PRES
  drm: Don't race connector registration
  drm: prevent double-(un)registration for connectors
  cec: fix wrong last_la determination
  pinctrl: baytrail: Rectify debounce support (part 2)
  gianfar: synchronize DMA API usage by free_skb_rx_queue w/ gfar_new_page
  net/mlx4_core: Avoid command timeouts during VF driver device shutdown
  drm/nouveau/fence/g84-: protect against concurrent access to semaphore buffers
  drm/nouveau: prevent userspace from deleting client object
  ipv6: fix flow labels when the traffic class is non-0
  FS-Cache: Initialise stores_lock in netfs cookie
  fscache: Clear outstanding writes when disabling a cookie
  fscache: Fix dead object requeue
  net: fix ndo_features_check/ndo_fix_features comment ordering
  net: phy: Fix PHY module checks and NULL deref in phy_attach_direct()
  net: phy: Fix lack of reference count on PHY driver
  ethtool: do not vzalloc(0) on registers dump
  log2: make order_base_2() behave correctly on const input value zero
  kasan: respect /proc/sys/kernel/traceoff_on_warning
  shmem: fix sleeping from atomic context
  jump label: pass kbuild_cflags when checking for asm goto support
  PM / runtime: Avoid false-positive warnings from might_sleep_if()
  ARM: defconfigs: make NF_CT_PROTO_SCTP and NF_CT_PROTO_UDPLITE built-in
  ipv6: Fix IPv6 packet loss in scenarios involving roaming + snooping switches
  vfio/spapr_tce: Set window when adding additional groups to container
  ipv6: addrconf: fix generation of new temporary addresses
  net: thunderx: Fix PHY autoneg for SGMII QLM mode
  kernel/ucount.c: mark user_header with kmemleak_ignore()
  powerpc/powernv: Properly set "host-ipi" on IPIs
  i2c: piix4: Fix request_region size
  i2c: piix4: Request the SMBUS semaphore inside the mutex
  sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications
  sierra_net: Skip validating irrelevant fields for IDLE LSIs
  net: hns: Fix the device being used for dma mapping during TX
  NET: mkiss: Fix panic
  ibmvnic: Initialize completion variables before starting work
  ibmvnic: Call napi_disable instead of napi_enable in failure path
  NET: Fix /proc/net/arp for AX.25
  gfs2: Use rhashtable walk interface in glock_hash_walk
  tipc: Fix tipc_sk_reinit race conditions
  ipv6: Inhibit IPv4-mapped src address on the wire.
  ipv6: Handle IPv4-mapped src to in6addr_any dst.
  tcp: tcp_probe: use spin_lock_bh()
  net: xilinx_emaclite: fix receive buffer overflow
  net: xilinx_emaclite: fix freezes due to unordered I/O
  ibmvnic: Fix endian error when requesting device capabilities
  ibmvnic: Fix endian errors in error reporting output
  netfilter: nf_conntrack_sip: fix wrong memory initialisation
  partitions/msdos: FreeBSD UFS2 file systems are not recognized
  drm/i915: Prevent the system suspend complete optimization
  PCI/PM: Add needs_resume flag to avoid suspend complete optimization
  usb: gadget: f_fs: Fix possibe deadlock
  FROMLIST: Remove the redundant skb->dev initialization in ip6_fragment
  FROMLIST: bpf: Remove duplicate tcp_filter hook in ipv6
  FROMLIST: ipv6: Initial skb->dev and skb->protocol in ip6_output
  FROMLIST: bpf: cgroup skb progs cannot access ld_abs/ind
  ANDROID: uid_sys_stats: check previous uid_entry before call find_or_register_uid

Conflicts:
	drivers/usb/gadget/function/f_fs.c
	kernel/watchdog.c

Change-Id: Ib91e6121cace8bcdc4dd8b1727792dd5bb6f1535
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-07-05 13:17:33 -07:00
Subash Abhinov Kasiviswanathan
27cfd4edee net: add a per-cpu counter for the number of frames coalesced in GRO
A low cost method of determining GRO statistics is required. This
change introduces a new counter which tracks whenever GRO coalesces
ingress packets. The counter is per-CPU and exposed in
/proc/net/softnet_stat as the last column of data. No user space
impact is expected as a result of this change. However, this change
should be reverted if legacy tools have problems with the new column
in softnet_stat.

CRs-Fixed: 2062245
Change-Id: I05965c0cb150947935d5977884cc4d583b37131d
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2017-06-26 18:02:25 -06:00
Dimitris Michailidis
f4d2d05ffb net: fix ndo_features_check/ndo_fix_features comment ordering
[ Upstream commit 1a2a14444d32b89b28116daea86f63ced1716668 ]

Commit cdba756f58 ("net: move ndo_features_check() close to
ndo_start_xmit()") inadvertently moved the doc comment for
.ndo_fix_features instead of .ndo_features_check. Fix the comment
ordering.

Fixes: cdba756f58 ("net: move ndo_features_check() close to ndo_start_xmit()")
Signed-off-by: Dimitris Michailidis <dmichail@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-17 06:41:52 +02:00
Kyle Yan
e682dcb145 Merge remote-tracking branch '4.9/tmp-0455ac9' into 4.9
* 4.9/tmp-0455ac9:
  Linux 4.9.12
  videodev2.h: go back to limited range Y'CbCr for SRGB and, ADOBERGB
  bcache: Make gc wakeup sane, remove set_task_state()
  ntb_transport: Pick an unused queue
  ntb: ntb_perf missing dmaengine_unmap_put
  NTB: ntb_transport: fix debugfs_remove_recursive
  timekeeping: Use deferred printk() in debug code
  printk: use rcuidle console tracepoint
  PCI/PME: Restore pcie_pme_driver.remove
  Revert "i2c: designware: detect when dynamic tar update is possible"
  ARM: 8658/1: uaccess: fix zeroing of 64-bit get_user()
  futex: Move futex_init() to core_initcall
  drm/dp/mst: fix kernel oops when turning off secondary monitor
  drm/radeon: Use mode h/vdisplay fields to hide out of bounds HW cursor
  Input: elan_i2c - add ELAN0605 to the ACPI table
  Fix missing sanity check in /dev/sg
  scsi: don't BUG_ON() empty DMA transfers
  powerpc/64: Disable use of radix under a hypervisor
  mmc: core: fix multi-bit bus width without high-speed mode
  fuse: fix uninitialized flags in pipe_buffer
  fuse: fix use after free issue in fuse_dev_do_read()
  siano: make it work again with CONFIG_VMAP_STACK
  vfs: fix uninitialized flags in splice_to_pipe()
  Linux 4.9.11
  x86/fpu/xstate: Fix xcomp_bv in XSAVES header
  tcp: don't annotate mark on control socket from tcp_v6_send_response()
  net/mlx5: Don't unlock fte while still using it
  tcp: fix mark propagation with fwmark_reflect enabled
  igmp, mld: Fix memory leak in igmpv3/mld_del_delrec()
  mld: do not remove mld souce list info when set link down
  l2tp: do not use udp_ioctl()
  net: dsa: Do not destroy invalid network devices
  ping: fix a null pointer dereference
  packet: round up linear to header len
  net: introduce device min_header_len
  sit: fix a double free on error path
  lwtunnel: valid encap attr check should return 0 when lwtunnel is disabled
  sctp: avoid BUG_ON on sctp_wait_for_sndbuf
  mlx4: Invoke softirqs after napi_reschedule
  catc: Use heap buffer for memory size test
  catc: Combine failure cleanup code in catc_probe()
  rtl8150: Use heap buffers for all register access
  pegasus: Use heap buffers for all register access
  macvtap: read vnet_hdr_size once
  tun: read vnet_hdr_sz once
  tcp: avoid infinite loop in tcp_splice_read()
  ipv6: tcp: add a missing tcp_v6_restore_cb()
  ip6_gre: fix ip6gre_err() invalid reads
  netlabel: out of bound access in cipso_v4_validate()
  ipv4: keep skb->dst around in presence of IP options
  net: use a work queue to defer net_disable_timestamp() work
  stmmac: Discard masked flags in interrupt status register
  tcp: fix 0 divide in __tcp_select_window()
  ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim()
  ipv6: fix ip6_tnl_parse_tlv_enc_lim()
  net/sched: matchall: Fix configuration race
  net/mlx5e: Fix update of hash function/key via ethtool
  can: Fix kernel panic at security_sock_rcv_skb
  UPSTREAM: arm64: Disable PAN on uaccess_enable()
  UPSTREAM: arm64: Enable CONFIG_ARM64_SW_TTBR0_PAN
  UPSTREAM: arm64: xen: Enable user access before a privcmd hvc call
  UPSTREAM: arm64: Handle faults caused by inadvertent user access with PAN enabled
  BACKPORT: arm64: Disable TTBR0_EL1 during normal kernel execution
  BACKPORT: arm64: Introduce uaccess_{disable,enable} functionality based on TTBR0_EL1
  UPSTREAM: arm64: Factor out TTBR0_EL1 post-update workaround into a specific asm macro
  UPSTREAM: arm64: Factor out PAN enabling/disabling into separate uaccess_* macros
  UPSTREAM: cpufreq: schedutil: Add iowait boosting
  UPSTREAM: cpufreq / sched: ignore SMT when determining max cpu capacity
  BACKPORT: cpufreq / sched: Pass flags to cpufreq_update_util()
  UPSTREAM: cpufreq: schedutil: map raw required frequency to driver frequency
  UPSTREAM: cpufreq: governor: Create cpufreq_policy_apply_limits()
  BACKPORT: cpufreq: governor: Get rid of governor events
  UPSTREAM: cpufreq: schedutil: Improve prints messages with pr_fmt
  BACKPORT: cpufreq: Call cpufreq_disable_fast_switch() in sugov_exit()
  UPSTREAM: cpufreq: schedutil: Make default depend on CONFIG_SMP
  UPSTREAM: cpufreq: schedutil: Make it depend on CONFIG_SMP
  BACKPORT: cpufreq: schedutil: New governor based on scheduler utilization data
  Linux 4.9.10
  perf/core: Fix crash in perf_event_read()
  perf diff: Fix segfault on 'perf diff -o N' option
  perf diff: Fix -o/--order option behavior (again)
  stacktrace, lockdep: Fix address, newline ugliness
  IB/rxe: Fix mem_check_range integer overflow
  IB/rxe: Fix resid update
  x86/CPU/AMD: Fix Zen SMT topology
  x86/CPU/AMD: Bring back Compute Unit ID
  x86/mm/ptdump: Fix soft lockup in page table walker
  Revert "ALSA: line6: Only determine control port properties if needed"
  ALSA: seq: Don't handle loop timeout at snd_seq_pool_done()
  ALSA: seq: Fix race at creating a queue
  ALSA: hda - adding a new NV HDMI/DP codec ID in the driver
  xen-netfront: Delete rx_refill_timer in xennet_disconnect_backend()
  powerpc/powernv: Fix CPU hotplug to handle waking on HVI
  powerpc/mm/radix: Update ERAT flushes when invalidating TLB
  btrfs: fix btrfs_compat_ioctl failures on non-compat ioctls
  scsi: qla2xxx: Avoid that issuing a LIP triggers a kernel crash
  scsi: mpt3sas: disable ASPM for MPI2 controllers
  scsi: aacraid: Fix INTx/MSI-x issue with older controllers
  scsi: zfcp: fix use-after-free by not tracing WKA port open/close on failed send
  Drivers: hv: vmbus: finally fix hv_need_to_signal_on_read()
  Drivers: hv: vmbus: On the read path cleanup the logic to interrupt the host
  Drivers: hv: vmbus: On write cleanup the logic to interrupt the host
  Drivers: hv: vmbus: Base host signaling strictly on the ring state
  net/mlx5e: Modify TIRs hash only when it's needed
  mac80211: Fix adding of mesh vendor IEs
  nl80211: Fix mesh HT operation check
  drm/i915: Always convert incoming exec offsets to non-canonical
  ARM: 8642/1: LPAE: catch pending imprecise abort on unmask
  ARM: dts: imx6dl: fix GPIO4 range
  target: Fix COMPARE_AND_WRITE ref leak for non GOOD status
  target: Fix multi-session dynamic se_node_acl double free OOPs
  target: Fix early transport_generic_handle_tmr abort scenario
  target: Use correct SCSI status during EXTENDED_COPY exception
  target: Don't BUG_ON during NodeACL dynamic -> explicit conversion
  drm/atomic: Fix double free in drm_atomic_state_default_clear
  drm/i915/bxt: Add MST support when do DPLL calculation
  drm/i915: fix use-after-free in page_flip_completed()
  ARM: 8643/3: arm/ptrace: Preserve previous registers for short regset write
  hns: avoid stack overflow with CONFIG_KASAN
  ibmvscsis: Add SGL limit
  mm/slub.c: fix random_seq offset destruction
  cpumask: use nr_cpumask_bits for parsing functions
  rtlwifi: rtl8192ce: Fix loading of incorrect firmware
  Revert "x86/ioapic: Restore IO-APIC irq_chip retrigger callback"
  selinux: fix off-by-one in setprocattr
  Input: uinput - fix crash when mixing old and new init style
  ARC: [arcompact] brown paper bag bug in unaligned access delay slot fixup
  crypto: ccp - Fix double add when creating new DMA command
  crypto: ccp - Fix DMA operations when IOMMU is enabled
  crypto: qat - zero esram only for DH85x devices
  crypto: qat - fix bar discovery for c62x
  crypto: chcr - Check device is allocated before use
  crypto: algif_aead - Fix kernel panic on list_del
  dm rq: cope with DM device destruction while in dm_old_request_fn()
  libnvdimm, pfn: fix memmap reservation size versus 4K alignment
  libnvdimm, namespace: do not delete namespace-id 0
  acpi, nfit: fix acpi_nfit_flush_probe() crash
  cpufreq: intel_pstate: Disable energy efficiency optimization
  ANDROID: ext4 crypto: Disables zeroing on truncation when there's no key
  ANDROID: Refactor fs readpage/write tracepoints.

Conflicts:
	arch/arm64/Kconfig
	arch/arm64/include/asm/assembler.h
	arch/arm64/include/asm/mmu_context.h
	arch/arm64/include/asm/uaccess.h
	arch/arm64/kernel/entry.S
	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
	arch/arm64/xen/hypercall.S
	drivers/cpufreq/Kconfig

Change-Id: Ibd6d488060e080e2abaa34b0f038b4a3a3cfa44d
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-03-06 15:50:56 -08:00
Willem de Bruijn
6ebde312a8 net: introduce device min_header_len
[ Upstream commit 217e6fa24ce28ec87fca8da93c9016cb78028612 ]

The stack must not pass packets to device drivers that are shorter
than the minimum link layer header length.

Previously, packet sockets would drop packets smaller than or equal
to dev->hard_header_len, but this has false positives. Zero length
payload is used over Ethernet. Other link layer protocols support
variable length headers. Support for validation of these protocols
removed the min length check for all protocols.

Introduce an explicit dev->min_header_len parameter and drop all
packets below this value. Initially, set it to non-zero only for
Ethernet and loopback. Other protocols can follow in a patch to
net-next.

Fixes: 9ed988cd59 ("packet: validate variable length ll headers")
Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Willem de Bruijn <willemb@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Acked-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-02-18 15:11:43 +01:00
Channagoud Kadabi
8810e5fa00 Merge remote-tracking branch 'origin/tmp-dcb6110' into 4.8
* origin/tmp-dcb6110:
  ANDROID: goldfish_sync: 32 max cmds to save stack
  ANDROID: sched/walt: use div_u64 instead of do_div
  Linux 4.9.9
  drm/i915/execlists: Reset RING registers upon resume
  fs: break out of iomap_file_buffered_write on fatal signals
  iw_cxgb4: set correct FetchBurstMax for QPs
  x86/irq: Make irq activate operations symmetric
  irqdomain: Avoid activating interrupts more than once
  iio: health: max30100: fixed parenthesis around FIFO count check
  iio: dht11: Use usleep_range instead of msleep for start signal
  iio: health: afe4403: retrieve a valid iio_dev in suspend/resume
  iio: health: afe4404: retrieve a valid iio_dev in suspend/resume
  iio: adc: palmas_gpadc: retrieve a valid iio_dev in suspend/resume
  staging: greybus: timesync: validate platform state callback
  USB: serial: option: add device ID for HP lt2523 (Novatel E371)
  usb: gadget: f_fs: Assorted buffer overflow checks.
  usb: musb: Fix host mode error -71 regression
  USB: Add quirk for WORLDE easykey.25 MIDI keyboard
  USB: serial: pl2303: add ATEN device ID
  USB: serial: qcserial: add Dell DW5570 QDL
  KVM: x86: do not save guest-unsupported XSAVE state
  dmaengine: cppi41: Fix oops in cppi41_runtime_resume
  dmaengine: cppi41: Fix runtime PM timeouts with USB mass storage
  perf/x86/intel/uncore: Clean up hotplug conversion fallout
  HID: wacom: Fix poor prox handling in 'wacom_pl_irq'
  HID: hid-lg: Fix immediate disconnection of Logitech Rumblepad 2
  HID: usbhid: Quirk a AMI virtual mouse and keyboard with ALWAYS_POLL
  iwlwifi: mvm: avoid crash on restart w/o reserved queues
  iwlwifi: fix double hyphen in MODULE_FIRMWARE for 8000
  pinctrl: intel: merrifield: Add missed check in mrfld_config_set()
  pinctrl: baytrail: Debounce register is one per community
  Revert "vring: Force use of DMA API for ARM-based systems with legacy devices"
  Revert "bcma: init serial console directly from ChipCommon code"
  percpu-refcount: fix reference leak during percpu-atomic transition
  regulator: axp20x: AXP806: Fix dcdcb being set instead of dcdce
  vhost: fix initialization for vq->is_le
  mmc: sdhci: Ignore unexpected CARD_INT interrupts
  cgroup: don't online subsystems before cgroup_name/path() are operational
  can: bcm: fix hrtimer/tasklet termination in bcm op removal
  tracing: Fix hwlat kthread migration
  mm, fs: check for fatal signals in do_generic_file_read()
  base/memory, hotplug: fix a kernel oops in show_valid_zones()
  mm/memory_hotplug.c: check start_pfn in test_pages_in_a_zone()
  cifs: initialize file_info_lock
  zswap: disable changing params if init fails
  svcrpc: fix oops in absence of krb5 module
  NFSD: Fix a null reference case in find_or_create_lock_stateid()
  powerpc/mm: Use the correct pointer when setting a 2MB pte
  powerpc: Fix build failure with clang due to BUILD_BUG_ON()
  powerpc: Add missing error check to prom_find_boot_cpu()
  powerpc/eeh: Fix wrong flag passed to eeh_unfreeze_pe()
  libata: Fix ATA request sense
  libata: apply MAX_SEC_1024 to all CX1-JB*-HP devices
  ata: sata_mv:- Handle return value of devm_ioremap.
  perf/core: Fix PERF_RECORD_MMAP2 prot/flags for anonymous memory
  perf/core: Fix use-after-free bug
  crypto: arm64/aes-blk - honour iv_out requirement in CBC and CTR modes
  crypto: api - Clear CRYPTO_ALG_DEAD bit before registering an alg
  drm/nouveau/nv1a,nv1f/disp: fix memory clock rate retrieval
  drm/nouveau/disp/gt215: Fix HDA ELD handling (thus, HDMI audio) on gt215
  drm/amdgpu/si: fix crash on headless asics
  pinctrl: baytrail: Add missing spinlock usage in byt_gpio_irq_handler
  HID: cp2112: fix gpio-callback error handling
  HID: cp2112: fix sleep-while-atomic
  xtensa: fix noMMU build on cores with MMU
  efi/fdt: Avoid FDT manipulation after ExitBootServices()
  x86/efi: Always map the first physical page into the EFI pagetables
  ext4: validate s_first_meta_bg at mount time
  PCI/ASPM: Handle PCI-to-PCIe bridges as roots of PCIe hierarchies
  ANDROID: sched: Add Kconfig option DEFAULT_USE_ENERGY_AWARE to set ENERGY_AWARE feature flag
  ANDROID: goldfish_sync: Fix sync_file_obj is NULL but dereferenced problem
  ANDROID: goldfish_sync: Isolate single module to fix compilation
  ANDROID: goldfish_sync: update defconfig for 4.9-compatible version
  ANDROID: goldfish_sync: upgrade to new fence sync api
  Linux 4.9.8
  xfs: fix bmv_count confusion w/ shared extents
  xfs: clear _XBF_PAGES from buffers when readahead page
  xfs: extsize hints are not unlikely in xfs_bmap_btalloc
  xfs: remove racy hasattr check from attr ops
  xfs: verify dirblocklog correctly
  xfs: fix COW writeback race
  xfs: fix xfs_mode_to_ftype() prototype
  xfs: don't wrap ID in xfs_dq_get_next_id
  xfs: sanity check inode di_mode
  xfs: sanity check inode mode when creating new dentry
  xfs: replace xfs_mode_to_ftype table with switch statement
  xfs: add missing include dependencies to xfs_dir2.h
  xfs: sanity check directory inode di_size
  xfs: make the ASSERT() condition likely
  xfs: don't print warnings when xfs_log_force fails
  xfs: don't rely on ->total in xfs_alloc_space_available
  xfs: adjust allocation length in xfs_alloc_space_available
  xfs: fix bogus minleft manipulations
  xfs: bump up reserved blocks in xfs_alloc_set_aside
  net: dsa: Bring back device detaching in dsa_slave_suspend()
  lwtunnel: Fix oops on state free after encap module unload
  net: Specify the owning module for lwtunnel ops
  qmi_wwan/cdc_ether: add device ID for HP lt2523 (Novatel E371) WWAN card
  af_unix: move unix_mknod() out of bindlock
  r8152: don't execute runtime suspend if the tx is not empty
  net: mpls: Fix multipath selection for LSR use case
  bridge: netlink: call br_changelink() during br_dev_newlink()
  net/mlx5e: Do not recycle pages from emergency reserve
  tcp: initialize max window for a new fastopen socket
  ipv6: addrconf: Avoid addrconf_disable_change() using RCU read-side lock
  lwtunnel: fix autoload of lwt modules
  net: phy: bcm63xx: Utilize correct config_intr function
  net: fix harmonize_features() vs NETIF_F_HIGHDMA
  vxlan: fix byte order of vxlan-gpe port number
  virtio-net: restore VIRTIO_HDR_F_DATA_VALID on receiving
  virtio: don't set VIRTIO_NET_HDR_F_DATA_VALID on xmit
  net sched actions: fix refcnt when GETing of action after bind
  ax25: Fix segfault after sock connection timeout
  ip6_tunnel: Account for tunnel header in tunnel MTU
  ravb: do not use zero-length alignment DMA descriptor
  mlx4: do not call napi_schedule() without care
  openvswitch: maintain correct checksum state in conntrack actions
  tcp: fix tcp_fastopen unaligned access complaints on sparc
  net: systemport: Decouple flow control from __bcm_sysport_tx_reclaim
  net: ipv4: fix table id in getroute response
  net: lwtunnel: Handle lwtunnel_fill_encap failure
  mlxsw: pci: Fix EQE structure definition
  mlxsw: switchx2: Fix memory leak at skb reallocation
  mlxsw: spectrum: Fix memory leak at skb reallocation
  netvsc: add rcu_read locking to netvsc callback
  r8152: fix the sw rx checksum is unavailable
  FROMLIST: 9p: fix a potential acl leak
  ANDROID: sched/walt: use do_div instead of division operator
  ANDROID: sched: fix wrong truncation of walt_avg
  ANDROID: arm: Fix #if/#ifdef typo in topology.c
  ANDROID: arm: Fix build error "conflicting types for 'scale_cpu_capacity'"
  ANDROID: net: ipv6: remove unused variable ifindex in
  ANDROID: DEBUG: cpufreq: fix cpu_capacity tracing build for non-smp systems
  ANDROID: arm: topology: Define TC2 energy and provide it to the scheduler
  ANDROID: binder: fix format specifier for type binder_size_t
  Linux 4.9.7
  drm/i915: Remove WaDisableLSQCROPERFforOCL KBL workaround.
  perf/core: Fix concurrent sys_perf_event_open() vs. 'move_group' race
  mm, memcg: do not retry precharge charges
  platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT
  platform/x86: mlx-platform: free first dev on error
  virtio_mmio: Set DMA masks appropriately
  memory_hotplug: make zone_can_shift() return a boolean value
  pinctrl: baytrail: Rectify debounce support
  pinctrl: uniphier: fix Ethernet (RMII) pin-mux setting for LD20
  pinctrl: broxton: Use correct PADCFGLOCK offset
  s5k4ecgx: select CRC32 helper
  IB/rxe: Prevent from completer to operate on non valid QP
  IB/rxe: Fix rxe dev insertion to rxe_dev_list
  IB/umem: Release pid in error and ODP flow
  drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic()
  drm/i915: Fix calculation of rotated x and y offsets for planar formats
  drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend()
  drm/i915: Don't leak edid in intel_crt_detect_ddc()
  drm/i915: prevent crash with .disable_display parameter
  drm/i915: Clear ret before unbinding in i915_gem_evict_something()
  v4l: tvp5150: Don't override output pinmuxing at stream on/off time
  v4l: tvp5150: Fix comment regarding output pin muxing
  v4l: tvp5150: Reset device at probe time, not in get/set format handlers
  pctv452e: move buffer to heap, no mutex
  iw_cxgb4: free EQ queue memory on last deref
  SUNRPC: cleanup ida information when removing sunrpc module
  NFSv4.0: always send mode in SETATTR after EXCLUSIVE4
  NFSv4.1: Fix a deadlock in layoutget
  nfs: Don't increment lock sequence ID after NFS4ERR_MOVED
  parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header
  ARC: [arcompact] handle unaligned access delay slot corner case
  ARC: udelay: fix inline assembler by adding LP_COUNT to clobber list
  can: ti_hecc: add missing prepare and unprepare of the clock
  can: c_can_pci: fix null-pointer-deref in c_can_start() - set device pointer
  IB/srp: fix invalid indirect_sg_entries parameter value
  IB/srp: fix mr allocation when the device supports sg gaps
  IB/iser: Fix sg_tablesize calculation
  IB/cxgb3: fix misspelling in header guard
  s390/ptrace: Preserve previous registers for short regset write
  s390/mm: Fix cmma unused transfer from pgste into pte
  RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled
  Btrfs: remove ->{get, set}_acl() from btrfs_dir_ro_inode_operations
  Btrfs: disable xattr operations on subvolume directories
  Btrfs: remove old tree_root case in btrfs_read_locked_inode()
  ISDN: eicon: silence misleading array-bounds warning
  xfs: prevent quotacheck from overloading inode lru
  sysctl: fix proc_doulongvec_ms_jiffies_minmax()
  userns: Make ucounts lock irq-safe
  vring: Force use of DMA API for ARM-based systems with legacy devices
  mm, page_alloc: fix premature OOM when racing with cpuset mems update
  mm, page_alloc: move cpuset seqcount checking to slowpath
  mm, page_alloc: fix fast-path race with cpuset update or removal
  mm, page_alloc: fix check for NULL preferred_zone
  mm/mempolicy.c: do not put mempolicy before using its nodemask
  mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp
  drm/atomic: clear out fence when duplicating state
  Revert "drm/radeon: always apply pci shutdown callbacks"
  drm/vc4: fix a bounds check
  drm/vc4: Return -EINVAL on the overflow checks failing.
  drm/vc4: Fix an integer overflow in temporary allocation layout.
  drm/vc4: Fix memory leak of the CRTC state.
  drm/i915: Ignore bogus plane coordinates on SKL when the plane is not visible
  drm: Fix broken VT switch with video=1366x768 option
  drm: Schedule the output_poll_work with 1s delay if we have delayed event
  tile/ptrace: Preserve previous registers for short regset write
  fbdev: color map copying bounds checking
  ANDROID: sched/walt: Drop arch-specific timer access
  ANDROID: sched/walt: include missing header for arm_timer_read_counter()
  ANDROID: fs: Export vfs_rmdir2
  ANDROID: fs: Export free_fs_struct and set_fs_pwd
  ANDROID: cpufreq: interactive: Use idle-end notifiers
  FROMLIST: cpufreq: Add android's 'interactive' governor
  ANDROID: cpufreq: conservative: fix duplicate 'static' error
  ANDROID: sdcardfs: eliminate the offset argument to ->direct_IO
  ANDROID: sdcardfs: make it use new .rename i_op
  ANDROID: sdcardfs: Propagate dentry down to inode_change_ok()
  ANDROID: sdcardfs: get rid of 'parent' argument of ->d_compare()
  ANDROID: sdcardfs: add parent pointer into dentry name hash
  ANDROID: sdcardfs: use wrappers to access i_mutex
  ANDROID: mnt: remount should propagate to slaves of slaves
  ANDROID: sdcardfs: Fix locking issue with permision fix up
  ANDROID: sdcardfs: Switch ->d_inode to d_inode()
  ANDROID: sdcardfs: Change magic value
  ANDROID: sdcardfs: Use per mount permissions
  ANDROID: sdcardfs: Add gid and mask to private mount data
  ANDROID: sdcardfs: User new permission2 functions
  ANDROID: vfs: Add permission2 for filesystems with per mount permissions
  ANDROID: vfs: Add setattr2 for filesystems with per mount permissions
  ANDROID: vfs: Allow filesystems to access their private mount data
  ANDROID: mnt: Add filesystem private data to mount points
  ANDROID: sdcardfs: Move directory unlock before touch
  ANDROID: sdcardfs: fix external storage exporting incorrect uid
  ANDROID: sdcardfs: Added top to sdcardfs_inode_info
  ANDROID: sdcardfs: Switch package list to RCU
  ANDROID: sdcardfs: Fix locking for permission fix up
  ANDROID: sdcardfs: Check for other cases on path lookup
  ANDROID: sdcardfs: override umask on mkdir and create
  ANDROID: sched/debug: Add energy procfs interface
  ANDROID: cpufreq: sched: Fix kernel crash on accessing sysfs file
  ANDROID: FIXUP: sched/tune: add fixes missing from a previous patch
  ANDROID: sched: tune: Fix lacking spinlock initialization
  ANDROID: cgroup: Remove leftover instances of allow_attach
  ANDROID: FIXUP: sched: scheduler-driven cpu frequency selection
  ANDROID: sched/rt: Add Kconfig option to enable panicking for RT throttling
  ANDROID: sched/rt: print RT tasks when RT throttling is activated
  ANDROID: sched/fair: Favor higher cpus only for boosted tasks
  ANDROID: sched/fair: call OPP update when going idle after migration
  ANDROID: sched/cpufreq_sched: fix thermal capping events
  ANDROID: sched/fair: Picking cpus with low OPPs for tasks that prefer idle CPUs
  ANDROID: FIXUP: sched/tune: do initialization as a postcore_initicall
  ANDROID: DEBUG: sched: add tracepoint for RD overutilized
  ANDROID: sched/tune: Introducing a new schedtune attribute prefer_idle
  ANDROID: sched: use util instead of capacity to select busy cpu
  ANDROID: arch_timer: add error handling when the MPM global timer is cleared
  ANDROID: FIXUP: sched: Fix double-release of spinlock in move_queued_task
  ANDROID: FIXUP: sched/fair: Fix hang during suspend in sched_group_energy
  ANDROID: FIXUP: sched: fix SchedFreq integration for both PELT and WALT
  ANDROID: sched: EAS: Avoid causing spikes to max-freq unnecessarily
  ANDROID: FIXUP: sched: fix set_cfs_cpu_capacity when WALT is in use
  ANDROID: sched/walt: Accounting for number of irqs pending on each core
  ANDROID: sched: Introduce Window Assisted Load Tracking (WALT)
  ANDROID: sched/tune: fix PB and PC cuts indexes definition
  ANDROID: sched/fair: optimize idle cpu selection for boosted tasks
  ANDROID: FIXUP: sched/tune: fix accounting for runnable tasks
  ANDROID: sched/tune: use a single initialisation function
  ANDROID: FIXUP: sched/tune: fix payoff calculation for boost region
  ANDROID: sched/tune: Add support for negative boost values
  ANDROID: FIX: sched/tune: move schedtune_nornalize_energy into fair.c
  ANDROID: FIX: sched/tune: update usage of boosted task utilisation on CPU selection
  ANDROID: sched/fair: add tunable to set initial task load
  ANDROID: sched/fair: add tunable to force selection at cpu granularity
  ANDROID: sched: EAS: take cstate into account when selecting idle core
  ANDROID: sched/cpufreq_sched: Consolidated update
  ANDROID: FIXUP: sched: fix build for non-SMP target
  ANDROID: DEBUG: sched/tune: add tracepoint on P-E space filtering
  ANDROID: DEBUG: sched/tune: add tracepoint for energy_diff() values
  ANDROID: DEBUG: sched/tune: add tracepoint for task boost signal
  CHROMIUM: sched: update the average of nr_running
  ANDROID: DEBUG: schedtune: add tracepoint for schedtune_tasks_update() values
  ANDROID: DEBUG: schedtune: add tracepoint for CPU boost signal
  ANDROID: DEBUG: schedtune: add tracepoint for SchedTune configuration update
  ANDROID: DEBUG: sched,cpufreq: add cpu_capacity change tracepoint
  ANDROID: DEBUG: sched: add tracepoint for CPU load/util signals
  ANDROID: DEBUG: sched: add tracepoint for task load/util signals
  ANDROID: DEBUG: sched: add tracepoint for cpu/freq scale invariance
  ANDROID: sched/fair: filter energy_diff() based on energy_payoff value
  ANDROID: sched/tune: add support to compute normalized energy
  ANDROID: sched/fair: keep track of energy/capacity variations
  ANDROID: sched/fair: add boosted task utilization
  ANDROID: sched/{fair,tune}: track RUNNABLE tasks impact on per CPU boost value
  ANDROID: sched/tune: compute and keep track of per CPU boost value
  ANDROID: sched/tune: add initial support for CGroups based boosting
  ANDROID: sched/fair: add boosted CPU usage
  ANDROID: sched/fair: add function to convert boost value into "margin"
  ANDROID: sched/tune: add sysctl interface to define a boost value
  ANDROID: sched/tune: add detailed documentation
  ANDROID: fixup! sched: scheduler-driven cpu frequency selection
  ANDROID: sched: remove call of sched_avg_update from sched_rt_avg_update
  ANDROID: sched/cpufreq_sched: add trace events
  ANDROID: sched/fair: jump to max OPP when crossing UP threshold
  ANDROID: sched/fair: cpufreq_sched triggers for load balancing
  ANDROID: sched/{core,fair}: trigger OPP change request on fork()
  ANDROID: sched/fair: add triggers for OPP change requests
  ANDROID: sched: scheduler-driven cpu frequency selection
  ANDROID: cpufreq: introduce cpufreq_driver_is_slow
  ANDROID: sched: Add group_misfit_task load-balance type
  ANDROID: sched: Add per-cpu max capacity to sched_group_capacity
  ANDROID: sched: Do eas idle balance regardless of the rq avg idle value
  ANDROID: arm64: Enable max freq invariant scheduler load-tracking and capacity support
  ANDROID: arm: Enable max freq invariant scheduler load-tracking and capacity support
  ANDROID: sched: Update max cpu capacity in case of max frequency constraints
  ANDROID: cpufreq: Max freq invariant scheduler load-tracking and cpu capacity support
  ANDROID: sched: Disable energy-unfriendly nohz kicks
  ANDROID: sched: Consider a not over-utilized energy-aware system as balanced
  ANDROID: sched: Energy-aware wake-up task placement
  ANDROID: sched: Determine the current sched_group idle-state
  ANDROID: sched, cpuidle: Track cpuidle state index in the scheduler
  ANDROID: sched: Add over-utilization/tipping point indicator
  ANDROID: sched: Estimate energy impact of scheduling decisions
  ANDROID: sched: Extend sched_group_energy to test load-balancing decisions
  ANDROID: sched: Calculate energy consumption of sched_group
  ANDROID: sched: Highest energy aware balancing sched_domain level pointer
  ANDROID: sched: Relocated cpu_util() and change return type
  ANDROID: sched: Compute cpu capacity available at current frequency
  ANDROID: sched: Support for extracting EAS energy costs from DT
  ANDROID: arm64, topology: Updates to use DT bindings for EAS costing data
  ANDROID: arm64: Cpu invariant scheduler load-tracking and capacity support
  ANDROID: arm: Cpu invariant scheduler load-tracking and capacity support
  ANDROID: sched: Introduce SD_SHARE_CAP_STATES sched_domain flag
  ANDROID: sched: Initialize energy data structures
  ANDROID: sched: Make energy awareness a sched feature
  ANDROID: sched: Documentation for scheduler energy cost model
  ANDROID: sched: Prevent unnecessary active balance of single task in sched group
  ANDROID: sched: Enable idle balance to pull single task towards cpu with higher capacity
  ANDROID: sched: Consider spare cpu capacity at task wake-up
  ANDROID: sched: Add cpu capacity awareness to wakeup balancing
  ANDROID: arm: Update arch_scale_cpu_capacity() to reflect change to define
  ANDROID: arm64: Enable frequency invariant scheduler load-tracking support
  ANDROID: arm: Enable frequency invariant scheduler load-tracking support
  ANDROID: cpufreq: Frequency invariant scheduler load-tracking support
  ANDROID: [CPUFREQ] Don't export governors for default governor
  ANDROID: kernel/configs: recommended: CONFIG_ARM64_SW_TTBR0_PAN=y
  ANDROID: kernel/configs: base: Enable QUOTA related configs
  ANDROID: kernel/configs: recommended: Enable MEMORY_STATE_TIME
  FROMLIST: config: android-base: enable hardened usercopy and kernel ASLR
  FROMLIST: config: android-recommended: disable aio support
  ANDROID: kernel/configs: recommended: enable fstack-protector-strong
  ANDROID: kernel/configs: base: enable UID_CPUTIME
  ANDROID: kernel/configs: base: restrict access to perf events
  ANDROID: configs: base: enable configfs gadget functions
  ANDROID: configs: merge AOSP config fragments
  ANDROID: Implement memory_state_time, used by qcom,cpubw
  ANDROID: dm: rebase for 4.9
  ANDROID: usb: otg-wakelock: Remove wakelock.h dependencies
  ANDROID: gpio_matrix: Remove wakelock.h dependencies
  ANDROID: fiq_debugger: Remove wakelock.h dependencies
  UPSTREAM: net: socket: don't set sk_uid to garbage value in ->setattr()
  ANDROID: trace: net: use %pK for kernel pointers
  UPSTREAM: net: ipv4: Don't crash if passing a null sk to ip_rt_update_pmtu.
  UPSTREAM: net: inet: Support UID-based routing in IP protocols.
  UPSTREAM: net: core: add UID to flows, rules, and routes
  UPSTREAM: net: core: Add a UID field to struct sock.
  ANDROID: fs: FS tracepoints to track IO.
  ANDROID: MMC/UFS IO Latency Histograms.
  CHROMIUM: fix warning when releasing active sync point
  ANDROID: goldfish_pipe: fix allmodconfig build
  ANDROID: goldfish: goldfish_pipe: fix locking errors
  ANDROID: goldfish_pipe: fix call_kern.cocci warnings
  ANDROID: goldfish_pipe: An implementation of more parallel pipe
  ANDROID: goldfish_pipe: bugfixes and performance improvements.
  ANDROID: goldfish: disable GOLDFISH_SYNC
  ANDROID: goldfish: enable CONFIG_INET_DIAG_DESTROY
  ANDROID: build: fix build config kernel_dir
  ANDROID: dm verity: add minimum prefetch size
  ANDROID: build: add build server configs for goldfish
  UPSTREAM: trace: Update documentation for mono, mono_raw and boot clock
  UPSTREAM: trace: Add an option for boot clock as trace clock
  UPSTREAM: timekeeping: Add a fast and NMI safe boot clock
  ANDROID: video: goldfishfb: fix platform_no_drv_owner.cocci warnings
  ANDROID: arm64: rename ranchu defconfig to ranchu64
  ANDROID: arch: x86: disable pic for Android toolchain
  ANDROID: goldfish: Add goldfish sync driver
  ANDROID: goldfish: add ranchu defconfigs
  ANDROID: goldfish_audio: Clear audio read buffer status after each read
  ANDROID: goldfish_events: no extra EV_SYN; register goldfish
  ANDROID: goldfish_fb: Set pixclock = 0
  ANDROID: goldfish: Enable ACPI-based enumeration for goldfish audio
  ANDROID: goldfish: Enable ACPI-based enumeration for goldfish framebuffer
  ANDROID: video: goldfishfb: add devicetree bindings
  ANDROID: usb: gadget: function: cleanup: Add blank line after declaration
  ANDROID: usb: gadget: f_mtp: simplify ptp NULL pointer check
  ANDROID: usb: gadget: audio_source: fix comparison of distinct pointer types
  ANDROID: binder: support for file-descriptor arrays.
  ANDROID: binder: support for scatter-gather.
  ANDROID: binder: add extra size to allocator.
  ANDROID: binder: refactor binder_transact()
  ANDROID: binder: support multiple /dev instances.
  ANDROID: binder: deal with contexts in debugfs.
  ANDROID: binder: support multiple context managers.
  ANDROID: binder: split flat_binder_object.
  ANDROID: [RFC]cgroup: Change from CAP_SYS_NICE to CAP_SYS_RESOURCE for cgroup migration permissions
  CHROMIUM: cgroups: relax permissions on moving tasks between cgroups
  ANDROID: dm: android-verity: Remove fec_header location constraint
  ANDROID: fiq_debugger: Pass task parameter to unwind_frame()
  ANDROID: input: keyreset: switch to orderly_reboot
  ANDROID: cpuset: Make cpusets restore on hotplug
  ANDROID: Don't show empty tag stats for unprivileged uids
  ANDROID: dm: android-verity: Allow android-verity to be compiled as an independent module
  ANDROID: dm-verity: adopt changes made to dm callbacks
  ANDROID: dm verity fec: pack the fec_header structure
  ANDROID: dm: android-verity: Verify header before fetching table
  ANDROID: dm: allow adb disable-verity only in userdebug
  ANDROID: dm: mount as linear target if eng build
  ANDROID: dm: use default verity public key
  ANDROID: dm: fix signature verification flag
  ANDROID: dm: use name_to_dev_t
  ANDROID: dm: rename dm-linear methods for dm-android-verity
  ANDROID: dm: Minor cleanup
  ANDROID: dm: Mounting root as linear device when verity disabled
  ANDROID: dm-android-verity: Rebase on top of 4.1
  ANDROID: dm: Add android verity target
  ANDROID: dm: fix dm_substitute_devices()
  ANDROID: dm: Rebase on top of 4.9
  CHROMIUM: dm: boot time specification of dm=
  ANDROID: usb: gadget: f_accessory: remove duplicate endpoint alloc
  ANDROID: sdcardfs: fix itnull.cocci warnings
  ANDROID: sdcardfs: Truncate packages_gid.list on overflow
  ANDROID: netfilter: xt_quota2: make quota2_log work well
  ANDROID: cpu: send KOBJ_ONLINE event when enabling cpus
  ANDROID: dm verity fec: initialize recursion level
  ANDROID: dm verity fec: add missing release from fec_ktype
  ANDROID: dm verity fec: limit error correction recursion
  FROMLIST: security,perf: Allow further restriction of perf_event_open
  ANDROID: ARM64: Ignore Image-dtb from git point of view
  ANDROID: arm64: add option to build Image-dtb
  ANDROID: usb: gadget: f_midi: set fi->f to NULL when free f_midi function
  ANDROID: xt_qtaguid: Fix panic caused by processing non-full socket.
  ANDROID: fiq_debugger: Add fiq_debugger.disable option
  FROMLIST: wlcore: Disable filtering in AP role
  ANDROID: fiq_debugger: Add option to apply uart overlay by FIQ_DEBUGGER_UART_OVERLAY
  ANDROID: usb: dual-role: make stub functions inline
  ANDROID: quick selinux support for tracefs
  ANDROID: xt_qtaguid: Fix panic caused by synack processing
  ANDROID: fuse: Add support for d_canonical_path
  ANDROID: vfs: change d_canonical_path to take two paths
  ANDROID: netfilter: xt_qtaguid: seq_printf fixes
  ANDROID: mmc: Add CONFIG_MMC_SIMULATE_MAX_SPEED
  ANDROID: dm verity fec: add sysfs attribute fec/corrected
  ANDROID: mm: Export do_munmap
  ANDROID: sdcardfs: remove unneeded __init and __exit
  ANDROID: sdcardfs: Remove unused code
  ANDROID: fs: Export d_absolute_path
  ANDROID: sdcardfs: remove effectless config option
  ANDROID: inotify: Fix erroneous update of bit count
  ANDROID: fs: sdcardfs: Declare LOOKUP_CASE_INSENSITIVE unconditionally
  ANDROID: trace: cpufreq: fix typo in min/max cpufreq
  ANDROID: sdcardfs: Add support for d_canonical_path
  ANDROID: vfs: add d_canonical_path for stacked filesystem support
  ANDROID: sdcardfs: Bring up to date with Android M permissions:
  ANDROID: Changed type-casting in packagelist management
  ANDROID: Port of sdcardfs to 4.4
  ANDROID: Included sdcardfs source code for kernel 3.0
  ANDROID: usb: gadget: Add support for MTP OS desc
  CHROMIUM: usb: gadget: f_accessory: add .raw_request callback
  CHROMIUM: usb: gadget: audio_source: add .free_func callback
  CHROMIUM: usb: gadget: f_mtp: fix usb_ss_ep_comp_descriptor
  CHROMIUM: usb: gadget: f_mtp: Add SuperSpeed support
  ANDROID: dm-crypt: run in a WQ_HIGHPRI workqueue
  ANDROID: power: Provide dummy log_suspend_abort_reason() if SUSPEND is disabled
  ANDROID: PM / suspend: Add dependency on RTC_LIB
  ANDROID: net: pppolac/pppopns: Replace msg.msg_iov with iov_iter_kvec()
  ANDROID: mmc: sdio: Disable retuning in sdio_reset_comm()
  ANDROID: kernel/watchdog: fix unused variable warning
  ANDROID: usb: gadget: f_mtp: don't use le16 for u8 field
  ANDROID: lowmemorykiller: fix declaration order warnings
  ANDROID: mmc: move to a SCHED_FIFO thread
  ANDROID: skip building drivers as modules
  ANDROID: wakeup: Add the guard condition for len in pm_get_active_wakeup_sources
  ANDROID: goldfish: pipe: fix platform_no_drv_owner.cocci warnings
  ANDROID: epoll: use freezable blocking call
  ANDROID: Fix for in kernel emergency remount when loop mounts are used
  ANDROID: kbuild: Makefile.clean: make Kbuild and Makefile optional
  ANDROID: kbuild: make it possible to specify the module output dir
  ANDROID: ext4: Add support for FIDTRIM, a best-effort ioctl for deep discard trim
  ANDROID: hardlockup: detect hard lockups without NMIs using secondary cpus
  ANDROID: rtc-palmas: correct for bcd year
  ANDROID: w1: ds2482: Manage SLPZ pin sleep state
  ANDROID: fuse: Freeze client on suspend when request sent to userspace
  ANDROID: serial_core: Add wake_peer uart operation
  ANDROID: mm: add a field to store names for private anonymous memory
  ANDROID: pstore/ram: Add ramoops_console_write_buf api
  ANDROID: pstore: Update Documentation/android.txt
  ANDROID: initramfs: Add skip_initramfs command line option
  ANDROID: of: Fix build warnings
  ANDROID: of: fix CONFIG_CMDLINE_EXTEND
  ANDROID: ARM64: copy CONFIG_CMDLINE_EXTEND from ARM
  ANDROID: of: Support CONFIG_CMDLINE_EXTEND config option
  ANDROID: ARM: decompressor: Flush tlb before swiching domain 0 to client mode
  ANDROID: ARM64: add option to build Image.gz/dtb combo
  ANDROID: ARM: convert build of appended dtb zImage to list of dtbs
  ANDROID: ARM: add config option to build zImage/dtb combo
  ANDROID: ARM: Fix dtb list when DTB_IMAGE_NAMES is empty
  ANDROID: arm64: pass return address to dma_common_contiguous_remap
  ANDROID: arch: arm64: force -fno-pic
  ANDROID: arm64: process: dump memory around registers when displaying regs
  ANDROID: arm64: check for upper PAGE_SHIFT bits in pfn_valid()
  ANDROID: ARM: fault: assume no context when IRQs are disabled during data abort.
  ANDROID: ARM: Fix "Make low-level printk work" to use a separate config option
  ANDROID: ARM: add option to flush console before reboot
  ANDROID: ARM: Make low-level printk work
  ANDROID: Optionally flush entire dcache from v6_dma_flush_range
  ANDROID: process: Add display of memory around registers when displaying regs.
  ANDROID: security: Add proper checks for Android specific capability checks
  ANDROID: uid_cputime: skip power reporting per uid for now
  ANDROID: uid_cputime: Check for the range while removing range of UIDs.
  ANDROID: uid_cputime: Iterates over all the threads instead of processes.
  ANDROID: uid_cputime: fix cputime overflow
  ANDROID: uid_cputime: Avoids double accounting of process stime, utime and cpu_power in task exit.
  ANDROID: uid_cputime: Extends the cputime functionality to report power per uid
  ANDROID: proc: uid_cputime: fix show_uid_stat permission
  ANDROID: proc: uid_cputime: create uids from kuids
  ANDROID: proc: uid: Adds accounting for the cputimes per uid.
  ANDROID: fixup! proc: make oom adjustment files user read-only
  ANDROID: proc: make oom adjustment files user read-only
  ANDROID: proc: smaps: Allow smaps access for CAP_SYS_RESOURCE
  ANDROID: wakeup_reason: use vsnprintf instead of snsprintf for vargs.
  ANDROID: power: wakeup_reason: fix suspend time reporting
  ANDROID: wakeup: Add last wake up source logging for suspend abort reason.
  ANDROID: Power: Report suspend times from last_suspend_time
  ANDROID: Make suspend abort reason logging depend on CONFIG_PM_SLEEP
  ANDROID: power: Add check_wakeup_reason() to verify wakeup source irq
  ANDROID: power: Adds functionality to log the last suspend abort reason.
  ANDROID: power: Avoids bogus error messages for the suspend aborts.
  ANDROID: power: Add property CHARGE_COUNTER_EXT and 64-bit precision properties
  ANDROID: Power: Changes the permission to read only for sysfs file /sys/kernel/wakeup_reasons/last_resume_reason
  ANDROID: power: wakeup_reason: rename irq_count to irqcount
  ANDROID: Power: Add guard condition for maximum wakeup reasons
  ANDROID: POWER: fix compile warnings in log_wakeup_reason
  ANDROID: Power: add an API to log wakeup reasons
  ANDROID: PM / Suspend: Print wall time at suspend entry and exit
  ANDROID: power: power_supply: add POWER_SUPPLY_PROP_CHARGE_ENABLED
  ANDROID: power: power_supply: add POWER_SUPPLY_PROP_USB_OTG
  ANDROID: power: power_supply: move POWER_SUPPLY_PROP_USB_HC to type 'int' order
  ANDROID: power_supply: Add custom property for USB High Current mode
  ANDROID: trace: power: add trace_clock_set_parent
  ANDROID: trace: cpufreq: Add tracing for min/max cpufreq
  ANDROID: trace: fix compilation for 4.1
  ANDROID: trace/events: fix gpu event timestamp formatting
  ANDROID: trace: add non-hierarchical function_graph option
  ANDROID: trace: Add an option to show tgids in trace output
  ANDROID: trace/events: add gpu trace events
  ANDROID: sync: add Documentation/sync.txt
  ANDROID: ARM: Call idle notifiers
  ANDROID: Move x86_64 idle notifiers to generic
  ANDROID: cpuidle: governor: menu: don't use loadavg
  ANDROID: sched: add sched blocked tracepoint which dumps out context of sleep.
  ANDROID: sched: Enable might_sleep before initializing drivers.
  ANDROID: fiq_debugger: Build fixes for 4.1
  ANDROID: fiq_debugger: Add fiq_watchdog_triggered api
  ANDROID: fiq_debugger: Call fiq_debugger_printf through a function pointer from cpu specific code
  ANDROID: fiq_debugger: add ARM64 support
  ANDROID: fiq_debugger: split arm support into fiq_debugger_arm.c
  ANDROID: fiq_debugger: use pt_regs for registers
  ANDROID: fiq_debugger: allow compiling without CONFIG_FIQ_GLUE
  ANDROID: fiq_debugger: rename debug->fiq_debugger
  ANDROID: fiq_debugger: move into drivers/staging/android/fiq_debugger/
  ANDROID: ARM: fiq_glue: Add custom fiq return handler api.
  ANDROID: ARM: kgdb: ignore breakpoint instructions from user mode
  ANDROID: ARM: fiq_debugger: Update tty code for 3.9
  ANDROID: ARM: fiq_debugger: Use kmsg_dumper to dump kernel logs
  ANDROID: ARM: fiq_debugger: Fix to compile on 3.7
  ANDROID: ARM: fiq_debugger: fix uninitialised spin_lock.
  ANDROID: ARM: fiq_debugger: lock between tty and console writes
  ANDROID: ARM: fiq_debugger: add process context reboot command
  ANDROID: ARM: fiq_debugger: fix multiple consoles and make it a preferred console
  ANDROID: kdb: support new lines without carriage returns
  ANDROID: ARM: fiq_debugger: add support for kgdb
  ANDROID: ARM: fiq_debugger: add debug_putc
  ANDROID: ARM: fiq_debugger: add support for reboot commands
  ANDROID: ARM: fiq_debugger: fix compiling for v3.3
  ANDROID: ARM: Add generic fiq serial debugger
  ANDROID: ARM: Add fiq_glue
  ANDROID: fix false disconnect due to a signal sent to the reading process
  ANDROID: usb: gadget: cleanup: fix unused variable and function warnings
  ANDROID: usb: gadget: build audio_source function only if SND is enabled
  ANDROID: usb: gadget: configfs: handle gadget reset request for android
  ANDROID: usb: gadget: create F_midi device
  ANDROID: usb: gadget: Add device attribute to determine gadget state
  ANDROID: usb: phy: fix dual role sysfs build if kernel modules are supported
  ANDROID: usb: phy: Dual role sysfs class definition
  ANDROID: usb: gadget: fix NULL ptr derefer while symlinking PTP func
  ANDROID: usb:gadget:Add "state" attribute to android_device
  ANDROID: usb: gadget: Do not disconnect unregistered dev
  ANDROID: usb: gadget: Relocate f_accessory
  ANDROID: usb: gadget: Accessory:Migrate to USB_FUNCTION API
  ANDROID: usb: gadget: Move gadget functions code
  ANDROID: usb:gadget:audio_source: Move to USB_FUNCTION API
  ANDROID: usb: gadget: Add function devices to the parent
  ANDROID: usb: gadget: f_audio_source:replace deprecated API
  ANDROID: usb: gadget: check for accessory device before disconnecting HIDs
  ANDROID: usb: gadget: Add Uevent to notify userspace
  ANDROID: usb: gadget: configfs: Add usb_function ptr to fi struct
  ANDROID: usb: gadget: mtp/ptp: Migrate functions to the USB_FUNCTION interface
  Linux 4.9.6
  libceph: stop allocating a new cipher on every crypto request
  libceph: uninline ceph_crypto_key_destroy()
  tools/virtio/ringtest: fix run-on-all.sh for offline cpus
  selftest/powerpc: Wrong PMC initialized in pmc56_overflow test
  soc: ti: wkup_m3_ipc: Fix error return code in wkup_m3_ipc_probe()
  spi: pxa2xx: add missed break
  dmaengine: pl330: Fix runtime PM support for terminated transfers
  dmaengine: rcar-dmac: unmap slave resource when channel is freed
  s5p-mfc: Fix clock management in s5p_mfc_release() function
  s5p-cec: mark PM functions as __maybe_unused again
  st-hva: fix some error handling in hva_hw_probe()
  ite-cir: initialize use_demodulator before using it
  gs1662: drop kfree for memory allocated with devm_kzalloc
  platform: pxa_camera: add VIDEO_V4L2 dependency
  blackfin: check devm_pinctrl_get() for errors
  rpmsg: virtio_rpmsg_bus: fix channel creation
  mtd: spi-nor: Fix some error codes in cqspi_setup_flash()
  mtd: spi-nor: Off by one in cqspi_setup_flash()
  PM / devfreq: Fix the bug of devfreq_add_device when governor is NULL
  PM / devfreq: exynos-bus: Fix the wrong return value
  scsi: mpt3sas: fix hang on ata passthrough commands
  scsi: ses: Fix SAS device detection in enclosure
  swiotlb: Add swiotlb=noforce debug option
  swiotlb: Convert swiotlb_force from int to enum
  arm64: Fix swiotlb fallback allocation
  arm64: mm: avoid name clash in __page_to_voff()
  xprtrdma: Squelch "max send, max recv" messages at connect time
  xprtrdma: Make FRWR send queue entry accounting more accurate
  libceph: make sure ceph_aes_crypt() IV is aligned
  ceph: fix endianness bug in frag_tree_split_cmp
  ceph: fix endianness of getattr mask in ceph_d_revalidate
  ceph: fix ceph_get_caps() interruption
  ceph: fix scheduler warning due to nested blocking
  ARM: 8613/1: Fix the uaccess crash on PB11MPCore
  ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation
  ARM: dts: omap3: Fix Card Detect and Write Protect on Logic PD SOM-LV
  ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
  ARM: dts: omap2: Add an empty chosen node to top level DTSI
  ARM: dts: omap3: Add an empty chosen node to top level DTSI
  ARM: dts: am4372: Add an empty chosen node to top level DTSI
  ARM: dts: omap5: Add an empty chosen node to top level DTSI
  ARM: dts: omap4: Add an empty chosen node to top level DTSI
  ARM: dts: am33xx: Add an empty chosen node to top level DTSI
  ARM: dts: dm814x: Add an empty chosen node to top level DTSI
  ARM: dts: dm816x: Add an empty chosen node to top level DTSI
  ARM: dts: dra7: Add an empty chosen node to top level DTSI
  libceph: remove now unused ceph_*{en,de}crypt*() functions
  libceph: switch ceph_x_decrypt() to ceph_crypt()
  libceph: switch ceph_x_encrypt() to ceph_crypt()
  libceph: tweak calcu_signature() a little
  libceph: rename and align ceph_x_authorizer::reply_buf
  libceph: introduce ceph_crypt() for in-place en/decryption
  libceph: introduce ceph_x_encrypt_offset()
  libceph: old_key in process_one_ticket() is redundant
  libceph: ceph_x_encrypt_buflen() takes in_len
  Input: ALPS - fix TrackStick support for SS5 hardware
  arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields
  arm64/ptrace: Avoid uninitialised struct padding in fpr_set()
  arm64/ptrace: Preserve previous registers for short regset write - 3
  arm64/ptrace: Preserve previous registers for short regset write - 2
  arm64/ptrace: Preserve previous registers for short regset write
  arm64: avoid returning from bad_mode
  ARM: dts: da850-evm: fix read access to SPI flash
  ARM: dts: OMAP5 / DRA7: indicate that SATA port 0 is available.
  ceph: fix bad endianness handling in parse_reply_info_extra
  ibmvscsis: Fix max transfer length
  ibmvscsis: Fix sleeping in interrupt context
  ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs
  svcrdma: avoid duplicate dma unmapping during error recovery
  clocksource/exynos_mct: Clear interrupt when cpu is shut down
  ubifs: Fix journal replay wrt. xattr nodes
  mac80211: implement multicast forwarding on fast-RX path
  qla2xxx: Fix crash due to null pointer access
  x86/ioapic: Restore IO-APIC irq_chip retrigger callback
  powerpc: Ignore reserved field in DCSR and PVR reads and writes
  powerpc/ptrace: Preserve previous TM fprs/vsrs on short regset write
  powerpc/ptrace: Preserve previous fprs/vsrs on short regset write
  powerpc/perf: Fix PM_BRU_CMPL event code for power9
  powerpc/icp-opal: Fix missing KVM case and harden replay
  KVM: arm/arm64: vgic: Fix deadlock on error handling
  KVM: s390: do not expose random data via facility bitmap
  mtd: nand: xway: fix build because of module functions
  mtd: nand: xway: disable module support
  mtd: nand: lpc32xx: fix invalid error handling of a requested irq
  ieee802154: atusb: do not use the stack for buffers to make them DMA able
  mmc: mxs-mmc: Fix additional cycles after transmission stop
  mmc: sdhci-acpi: Only powered up enabled acpi child devices
  HID: corsair: fix control-transfer error handling
  HID: corsair: fix DMA buffers on stack
  PCI: Enumerate switches below PCI-to-PCIe bridges
  PCI: designware: Check for iATU unroll only on platforms that use ATU
  fuse: fix time_to_jiffies nsec sanity check
  fuse: clear FR_PENDING flag when moving requests out of pending queue
  ARC: module: Fix !CONFIG_ARC_DW2_UNWIND builds
  libnvdimm, namespace: fix pmem namespace leak, delete when size set to zero
  svcrpc: don't leak contexts on PROC_DESTROY
  sunrpc: don't call sleeping functions from the notifier block callbacks
  rcu: Narrow early boot window of illegal synchronous grace periods
  rcu: Remove cond_resched() from Tiny synchronize_sched()
  x86/PCI: Ignore _CRS on Supermicro X8DTH-i/6/iF/6F
  tmpfs: clear S_ISGID when setting posix ACLs
  ARM: dts: omap3: Add DTS for Logic PD SOM-LV 37xx Dev Kit
  ARM: dts: imx31: fix AVIC base address
  ARM: dts: imx31: move CCM device node to AIPS2 bus devices
  ARM: dts: imx31: fix clock control module interrupts description
  ARM: dts: imx6q-cm-fx6: fix fec pinctrl
  ARM: dts: r8a7794: remove Z clock
  ARM: dts: r8a7794: Use SYSC "always-on" PM Domain for sound
  ARM: dts: bcm283x: fix typo in mailbox address
  perf jit: Enable jitdump support without dwarf
  perf scripting: Avoid leaking the scripting_context variable
  perf callchain: Fixup help/config for no-unwinding
  perf diff: Do not overwrite valid build id
  perf trace: Check if MAP_32BIT is defined (again)
  perf mem: Fix --all-user/--all-kernel options
  perf trace: Use the syscall raw_syscalls:sys_enter timestamp
  IB/IPoIB: Remove can't use GFP_NOIO warning
  IB/mlx4: Check if GRH is available before using it
  IB/mlx4: When no DMFS for IPoIB, don't allow NET_IF QPs
  IB/mlx4: Fix port query for 56Gb Ethernet links
  IB/mlx4: Handle well-known-gid in mad_demux processing
  IB/mlx4: Fix out-of-range array index in destroy qp flow
  IB/mlx4: Set traffic class in AH
  IB/mlx5: Wait for all async command completions to complete
  IB/mlx5: Assign SRQ type earlier
  IB/mlx5: Fix reported max SGE calculation
  IB/mlx5: Avoid system crash when enabling many VFs
  IB/rxe: avoid putting a large struct rxe_qp on stack
  IB/rxe: Increase max number of completions to 32k
  IB/core: Release allocated memory in cache setup failure
  Linux 4.9.5
  ANDROID: usb: gadget: f_audio_source: Fixed USB Audio Class Interface Descriptor
  ANDROID: usb: gadget: f_audio_source: change max ISO packet size
  ANDROID: usb: gadget: f_accessory: Enabled Zero Length Packet (ZLP) for acc_write
  ANDROID: drivers: usb: gadget: 64-bit related type fixes
  ANDROID: usb: gadget: f_accessory: move userspace interface to uapi
  ANDROID: usb: gadget: f_mtp: move userspace interface to uapi
  ANDROID: USB: remove duplicate out endpoint creation in MTP mode
  ANDROID: usb: gadget: Fix android gadget driver build
  ANDROID: usb: gadget: Fixes and hacks to make android usb gadget compile on 3.8
  ANDROID: usb: otg: otg-wakelock: Fix build for 3.7
  ANDROID: usb: gadget: accessory: Fix section mismatch (again)
  ANDROID: USB: gadget: f_audio_source: New gadget driver for audio output
  ANDROID: USB: gadget: f_accessory: Add support for HID input devices
  ANDROID: USB: gadget: Add ACCESSORY_SET_AUDIO_MODE control request and ioctl
  ANDROID: usb: gadget: accessory: Fix section mismatch
  ANDROID: usb: otg: otg-wakelock: Fix build for 3.4
  ANDROID: usb: gadget: adb: Only enable the gadget when adbd is ready
  ANDROID: usb: gadget: adb: do not set error flag when dequeuing req
  ANDROID: usb: gadget: adb: allow freezing in adb_read
  ANDROID: usb: gadget: accessory: Add Android Accessory function
  ANDROID: usb: gadget: adb: Add ADB function
  ANDROID: usb: gadget: mtp: Add MTP/PTP function
  ANDROID: usb: otg: otg-wakelock: fix build for 3.3
  ANDROID: usb: otg: Temporarily grab wakelock on charger and disconnect events
  ANDROID: USB: OTG: Take wakelock when VBUS present
  ANDROID: wlan: Add get_wake_irq functionality
  ANDROID: Add flags parameter to get_country_code template
  ANDROID: net: wireless: Add get_country_code functionality to platform
  ANDROID: network: wireless: Add get_mac_addr functionality to platform
  ANDROID: wlan: Create generic wlan platform data header
  ANDROID: net: wireless: Decrease scan entry expiration to avoid stall results
  ANDROID: bridge: Have tx_bytes count headers like rx_bytes.
  ANDROID: rfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down
  ANDROID: net: ipv6: fix virtual tunneling build
  ANDROID: tcp: fix tcp_default_init_rwnd() for 4.1
  ANDROID: net: support marking accepting TCP sockets
  ANDROID: tcp: add a sysctl to config the tcp_default_init_rwnd
  ANDROID: xt_qtaguid: fix a race condition in if_tag_stat_update
  ANDROID: netfilter: xt_qtaguid/socket: build fixes for 4.4
  ANDROID: netfilter: xt_qtaguid: xt_socket: build fixes
  ANDROID: net: xt_qtaguid/xt_socket: fix refcount underflow and crash
  ANDROID: xt_qtaguid: use sock_gen_put() instead of xt_socket_put_sk()
  ANDROID: xt_qtaguid: Use sk_callback_lock read locks before reading sk->sk_socket
  ANDROID: xt_qtaguid: fix broken uid/gid range check
  ANDROID: netfilter: Build fixups - kuid/kguid changes & xt_socket_get/put_sk
  ANDROID: net: ipv6: autoconf routes into per-device tables
  ANDROID: nf: IDLETIMER: Fix broken uid field in the msg
  ANDROID: nf: IDLETIMER: Adds the uid field in the msg
  ANDROID: netfilter: fix seq_printf type mismatch warning
  ANDROID: nf: Remove compilation error caused by e8430cbed3ef15fdb1ac26cfd020e010aa5f1c35
  ANDROID: nf: IDLETIMER: time-stamp and suspend/resume handling.
  ANDROID: xt_qtaguid: Fix boot panic
  ANDROID: net: kuid/kguid build fixes
  ANDROID: netfilter: ipv6: fix crash caused by ipv6_find_hdr()
  ANDROID: netfilter: xt_qtaguid: 64-bit warning fixes
  ANDROID: netfilter: xt_qtaguid: fix memory leak in seq_file handlers
  ANDROID: netfilter: xt_qtaguid: fix bad tcp_time_wait sock handling
  ANDROID: netfilter: xt_qtaguid: 3.10 fixes
  ANDROID: netfilter: xt_quota2: 3.10 fixes.
  ANDROID: netfilter: qtaguid: rate limit some of the printks
  ANDROID: netfilter: xt_qtaguid: Allow tracking loopback
  ANDROID: netfilter: xt_qtaguid: extend iface stat to report protocols
  ANDROID: netfilter: xt_qtaguid: remove AID_* dependency for access control
  ANDROID: netfilter: qtaguid: Don't BUG_ON if create_if_tag_stat fails
  ANDROID: netfilter: xt_qtaguid: fix error exit that would keep a spinlock.
  ANDROID: netfilter: xt_qtaguid: report only uid tags to non-privileged processes
  ANDROID: netfilter: xt_qtaguid: start tracking iface rx/tx at low level
  ANDROID: netfilter: xt_IDLETIMER: Add new netlink msg type
  ANDROID: netfilter: xt_qtaguid: fix ipv6 protocol lookup
  ANDROID: netfilter: qtaguid: initialize a local var to keep compiler happy.
  ANDROID: netfilter: fixup the quota2, and enable.
  ANDROID: netfilter: adding the original quota2 from xtables-addons
  ANDROID: netfilter: add xt_qtaguid matching module
  ANDROID: net: PPPoPNS and PPPoLAC build fixes for 4.4
  ANDROID: Hack: net: PPPoPNS and PPPoLAC build fixes for 4.1
  ANDROID: net: pppopns: pppolac: fix sendmsg function calls
  ANDROID: net: PPPoPNS: Remove length argument from data_ready
  ANDROID: net: move PPPoLAC and PPPoPNS headers to uapi
  ANDROID: Include if_pppolac.h and if_pppopns.h into header-y target
  ANDROID: net: PPPoPNS and PPPoLAC update to use PPP_MRU instead of PPP_MRU
  ANDROID: net: Reorder incoming packets in PPPoLAC and PPPoPNS.
  ANDROID: net: PPPoPNS and PPPoLAC fixes.
  ANDROID: net: add PPP on PPTP Network Server (PPPoPNS) driver.
  ANDROID: net: add PPP on L2TP Access Concentrator (PPPoLAC) driver.
  ANDROID: sysfs_net_ipv4: Add sysfs-based knobs for controlling TCP window size
  ANDROID: net: Only NET_ADMIN is allowed to fully control TUN interfaces.
  ANDROID: net: Replace AID_NET_RAW checks with capable(CAP_NET_RAW).
  ANDROID: security: Add AID_NET_RAW and AID_NET_ADMIN capability check in cap_capable().
  ANDROID: Paranoid network.
  ANDROID: Add android_aid.h
  ANDROID: fs: block_dump: Don't display inode changes if block_dump < 2
  ANDROID: mmc: core: Remove stray CONFIG_EXPERIMENTAL dependencies
  ANDROID: mmc: Add "ignore mmc pm notify" functionality
  ANDROID: mmc: sdio: Fix sdio_reset_comm for sync
  ANDROID: mmc: sdio: fix sdio_reset_comm() voltage selection
  ANDROID: mmc: sdio: Fix enable_hs and enable_wide in sdio_reset_comm()
  ANDROID: mmc: sdio: Add high speed support to sdio_reset_comm()
  ANDROID: mmc: sdio: Claim host in sdio_reset_comm()
  ANDROID: mmc: Add new API call 'sdio_reset_comm' for resetting communication with an SDIO device
  ANDROID: mmc: Add sdio_readb_ext() function
  ANDROID: mmc: Add concept of an 'embedded' SDIO device.
  ANDROID: mmc: sd: Add retries in re-detection
  ANDROID: mmc: sd: When resuming, try a little harder to init the card
  ANDROID: mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD detection
  ANDROID: mtd: nand: Allow NAND chip ids to be included standalone.
  ANDROID: gpio_input: convert from wakelocks to wakeup sources
  ANDROID: input: Made keyreset more robust
  ANDROID: input: Changed keyreset to act as a wrapper for keycombo.
  ANDROID: input: add keycombo, a general key combo driver.
  ANDROID: input: misc: keychord: move header to uapi
  ANDROID: input: misc: keychord: log when keychord triggered
  ANDROID: input: keychord: Add keychord driver
  ANDROID: input: Add keyreset driver.
  ANDROID: input: misc: gpio_event: remove early suspend
  ANDROID: Input: Generic GPIO Input device.
  ANDROID: lowmemorykiller: use module_param_cb instead of __module_param_call
  ANDROID: lowmemorykiller: trace kill events.
  ANDROID: staging: lowmemorykiller: Add config option to support oom_adj values
  pinctrl: sh-pfc: Do not unconditionally support PIN_CONFIG_BIAS_DISABLE
  arm64: hugetlb: fix the wrong return value for huge_ptep_set_access_flags
  arm64: hugetlb: remove the wrong pmd check in find_num_contig()
  arm64: hugetlb: fix the wrong address for several functions
  powerpc/powernv: Don't warn on PE init if unfreeze is unsupported
  powerpc/ibmebus: Fix device reference leaks in sysfs interface
  powerpc/ibmebus: Fix further device reference leaks
  powerpc/mm: Correct process and partition table max size
  bus: vexpress-config: fix device reference leak
  blk-mq: Always schedule hctx->next_cpu
  power: supply: bq27xxx_battery: Fix register map for BQ27510 and BQ27520
  bq24190_charger: Fix PM runtime use for bq24190_battery_set_property
  iw_cxgb4: Fix error return code in c4iw_rdev_open()
  powercap/intel_rapl: fix and tidy up error handling
  ACPI / APEI: Fix NMI notification handling
  block: cfq_cpd_alloc() should use @gfp
  block: Change extern inline to static inline
  ACPI / CPPC: set an error code on probe error path
  regulators: helpers: Fix handling of bypass_val_on in get_bypass_regmap
  cpufreq: powernv: Disable preemption while checking CPU throttling state
  powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
  remoteproc: st: Fix error return code in st_rproc_probe()
  remoteproc: qcom_wcnss: Fix circular module dependency
  drm: Initialise drm_mm.head_node.allocated
  drm/i915: Move the min_pixclk[] handling to the end of readout
  drm/panel: simple: Check against num_timings when setting preferred for timing
  drm: avoid uninitialized timestamp use in wait_vblank
  drm/i915/gen9: Fix PCODE polling during SAGV disabling
  i2c: mux: pca954x: fix i2c mux selection caching
  NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success.
  NFS: Fix a performance regression in readdir
  pNFS: Fix race in pnfs_wait_on_layoutreturn
  NFS: fix typo in parameter description
  pinctrl: meson: fix gpio request disabling other modes
  btrfs: fix error handling when run_delayed_extent_op fails
  btrfs: fix locking when we put back a delayed ref that's too new
  nvme: apply DELAY_BEFORE_CHK_RDY quirk at probe time too
  x86/cpu: Fix bootup crashes by sanitizing the argument of the 'clearcpuid=' command-line option
  i2c: piix4: Avoid race conditions with IMC
  net/mlx5: Only cancel recovery work when cleaning up device
  USB: serial: ch341: fix modem-control and B0 handling
  drm/amdgpu: drop verde dpm quirks
  drm/amdgpu: update si kicker smc firmware
  drm/radeon: drop verde dpm quirks
  drm/radeon: update smc firmware selection for SI
  drm: Clean up planes in atomic commit helper failure path
  drm/i915/gen9: Fix PCODE polling timeout in stable backport
  net/af_iucv: don't use paged skbs for TX on HiperSockets
  sysctl: Drop reference added by grab_header in proc_sys_readdir
  Clearing FIFOs in RS485 emulation mode causes subsequent transmits to break
  extcon: return error code on failure
  sysrq: attach sysrq handler correctly for 32-bit kernel
  orinoco: Use shash instead of ahash for MIC calculations
  ibmvscsis: Fix srp_transfer_data fail return code
  tty/serial: atmel_serial: BUG: stop DMA from transmitting in stop_tx
  tty/serial: atmel: RS485 half duplex w/DMA: enable RX after TX is done
  virtio_blk: avoid DMA to stack for the sense buffer
  dmaengine: omap-dma: Fix dynamic lch_map allocation
  drivers: char: mem: Fix thinkos in kmem address checks
  mnt: Protect the mountpoint hashtable with mount_lock
  pid: fix lockdep deadlock warning due to ucount_lock
  vme: Fix wrong pointer utilization in ca91cx42_slave_get
  Revert "tty: serial: 8250: add CON_CONSDEV to flags"
  ASoC: hdmi-codec: use unsigned type to structure members with bit-field
  btrfs: fix crash when tracepoint arguments are freed by wq callbacks
  xhci: fix deadlock at host remove by running watchdog correctly
  fix a fencepost error in pipe_advance()
  i2c: fix kernel memory disclosure in dev interface
  i2c: print correct device invalid address
  Input: elants_i2c - avoid divide by 0 errors on bad touchscreen data
  USB: serial: ch341: fix open and resume after B0
  USB: serial: ch341: fix control-message error handling
  USB: serial: ch341: fix open error handling
  USB: serial: ch341: fix resume after reset
  USB: serial: ch341: fix initial modem-control state
  USB: serial: kl5kusb105: fix line-state error handling
  usb: musb: fix runtime PM in debugfs
  wusbcore: Fix one more crypto-on-the-stack bug
  x86/CPU/AMD: Fix Bulldozer topology
  x86/bugs: Separate AMD E400 erratum and C1E bug
  x86/cpu/AMD: Clean up cpu_llc_id assignment per topology feature
  bridge: netfilter: Fix dropping packets that moving through bridge interface
  xfs: Timely free truncated dirty pages
  gpio: Move freeing of GPIO hogs before numbing of the device
  nl80211: fix sched scan netlink socket owner destruction
  x86/efi: Don't allocate memmap through memblock after mm_init()
  efi/x86: Prune invalid memory map entries and fix boot regression
  efi/libstub/arm*: Pass latest memory map to the kernel
  KVM: x86: Introduce segmented_write_std
  KVM: x86: emulate FXSAVE and FXRSTOR
  KVM: x86: add asm_safe wrapper
  KVM: x86: add Align16 instruction flag
  KVM: x86: fix NULL deref in vcpu_scan_ioapic
  KVM: x86: flush pending lapic jump label updates on module unload
  jump_labels: API for flushing deferred jump label updates
  KVM: eventfd: fix NULL deref irqbypass consumer
  KVM: x86: fix emulation of "MOV SS, null selector"
  mm/hugetlb.c: fix reservation race when freeing surplus pages
  mm/slab.c: fix SLAB freelist randomization duplicate entries
  mm: support anonymous stable page
  mm, memcg: fix the active list aging for lowmem requests when memcg is enabled
  ocfs2: fix crash caused by stale lvb with fsdlm plugin
  mm: fix devm_memremap_pages crash, use mem_hotplug_{begin, done}
  mm: pmd dirty emulation in page fault handler
  dax: fix deadlock with DAX 4k holes
  zram: support BDI_CAP_STABLE_WRITES
  zram: revalidate disk under init_lock
  selftests: do not require bash for the generated test
  selftests: do not require bash to run netsocktests testcase
  drm/savage: dereferencing an error pointer
  drm/vc4: Fix a couple error codes in vc4_cl_lookup_bos()
  drm/tegra: dpaux: Fix error handling
  regulator: axp20x: Fix axp809 ldo_io registration error on cold boot
  regulator: tps65086: Fix 25mV ranges for BUCK regulators
  pinctrl: sh-pfc: Add helper to handle bias lookup table
  pinctrl: sh-pfc: r8a7795: Use lookup function for bias data
  pinctrl: imx: fix imx_pinctrl_desc initialization
  Input: i8042 - add Pegatron touchpad to noloop table
  Input: xpad - use correct product id for x360w controllers
  Linux 4.9.4
  rtlwifi: rtl_usb: Fix missing entry in USB driver's private data
  rtlwifi: Fix enter/exit power_save
  drm/i915/gen9: Fix PCODE polling during CDCLK change notification
  ALSA: usb-audio: Add a quirk for Plantronics BT600
  spi: mvebu: fix baudrate calculation for armada variant
  ARM: omap2+: am437x: rollback to use omap3_gptimer_timer_init()
  ARM: 8631/1: clkdev: Detect errors in clk_hw_register_clkdev() for mass registration
  ARM: OMAP4+: Fix bad fallthrough for cpuidle
  ARM: OMAP5: Fix build for PM code
  ARM: OMAP5: Fix mpuss_early_init
  bus: arm-ccn: Prevent hotplug callback leak
  svcrdma: Clear xpt_bc_xps in xprt_setup_rdma_bc() error exit arm
  ARM: qcom_defconfig: Fix MDM9515 LCC and GCC config
  ARM: zynq: Reserve correct amount of non-DMA RAM
  ARM: pxa: fix pxa25x interrupt init
  ARM64: dts: bcm2835: Fix bcm2837 compatible string
  ARM64: dts: bcm2837-rpi-3-b: remove incorrect pwr LED
  arm64: dts: mt8173: Fix auxadc node
  tools/virtio: fix READ_ONCE()
  powerpc: Fix build warning on 32-bit PPC
  ALSA: firewire-tascam: Fix to handle error from initialization of stream data
  HID: hid-cypress: validate length of report
  net: vrf: do not allow table id 0
  net: ipv4: Fix multipath selection with vrf
  net/mlx5e: Remove WARN_ONCE from adaptive moderation code
  gro: Disable frag0 optimization on IPv6 ext headers
  gro: use min_t() in skb_gro_reset_offset()
  gro: Enter slow-path if there is no tailroom
  net: add the AF_QIPCRTR entries to family name tables
  net: dsa: Ensure validity of dst->ds[0]
  r8152: fix rx issue for runtime suspend
  r8152: split rtl8152_suspend function
  net: dsa: bcm_sf2: Utilize nested MDIO read/write
  net: dsa: bcm_sf2: Do not clobber b53_switch_ops
  bpf: change back to orig prog on too many passes
  net: vrf: Add missing Rx counters
  ipv4: Do not allow MAIN to be alias for new LOCAL w/ custom rules
  igmp: Make igmp group member RFC 3376 compliant
  flow_dissector: Update pptp handling to avoid null pointer deref.
  drop_monitor: consider inserted data in genlmsg_end
  drop_monitor: add missing call to genlmsg_end
  net: ipv4: dst for local input routes should use l3mdev if relevant
  net: fix incorrect original ingress device index in PKTINFO
  rtnl: stats - add missing netlink message size checks
  net/mlx5e: Disable netdev after close
  net/mlx5e: Don't sync netdev state when not registered
  net/mlx5: Prevent setting multicast macs for VFs
  net/mlx5: Mask destination mac value in ethtool steering rules
  net/mlx5: Avoid shadowing numa_node
  net/mlx5: Cancel recovery work in remove flow
  net/mlx5: Check FW limitations on log_max_qp before setting it
  net/sched: cls_flower: Fix missing addr_type in classify
  net: stmmac: Fix race between stmmac_drv_probe and stmmac_open
  net, sched: fix soft lockup in tc_classify
  ipv6: handle -EFAULT from skb_copy_bits
  inet: fix IP(V6)_RECVORIGDSTADDR for udp sockets
  sctp: sctp_transport_lookup_process should rcu_read_unlock when transport is null
  net: vrf: Drop conntrack data after pass through VRF device on Tx
  net: vrf: Fix NAT within a VRF
  Linux 4.9.3
  usb: gadget: composite: always set ep->mult to a sensible value
  Revert "usb: gadget: composite: always set ep->mult to a sensible value"
  Revert "rtlwifi: Fix enter/exit power_save"
  tick/broadcast: Prevent NULL pointer dereference
  clocksource/dummy_timer: Move hotplug callback after the real timers
  xfs: fix max_retries _show and _store functions
  xfs: fix crash and data corruption due to removal of busy COW extents
  xfs: use the actual AG length when reserving blocks
  xfs: fix double-cleanup when CUI recovery fails
  xfs: use GPF_NOFS when allocating btree cursors
  xfs: ignore leaf attr ichdr.count in verifier during log replay
  xfs: don't cap maximum dedupe request length
  xfs: don't allow di_size with high bit set
  xfs: error out if trying to add attrs and anextents > 0
  xfs: don't crash if reading a directory results in an unexpected hole
  xfs: complain if we don't get nextents bmap records
  xfs: check for bogus values in btree block headers
  xfs: forbid AG btrees with level == 0
  xfs: handle cow fork in xfs_bmap_trace_exlist
  xfs: pass state not whichfork to trace_xfs_extlist
  xfs: Move AGI buffer type setting to xfs_read_agi
  xfs: pass post-eof speculative prealloc blocks to bmapi
  xfs: use new extent lookup helpers xfs_file_iomap_begin_delay
  xfs: clean up cow fork reservation and tag inodes correctly
  xfs: use new extent lookup helpers in __xfs_reflink_reserve_cow
  xfs: track preallocation separately in xfs_bmapi_reserve_delalloc()
  xfs: remove prev argument to xfs_bmapi_reserve_delalloc
  xfs: always succeed when deduping zero bytes
  xfs: factor rmap btree size into the indlen calculations
  xfs: new inode extent list lookup helpers
  xfs: fix unbalanced inode reclaim flush locking
  xfs: check minimum block size for CRC filesystems
  xfs: provide helper for counting extents from if_bytes
  xfs: don't BUG() on mixed direct and mapped I/O
  xfs: don't skip cow forks w/ delalloc blocks in cowblocks scan
  xfs: check return value of _trans_reserve_quota_nblks
  xfs: don't call xfs_sb_quota_from_disk twice
  tpm_tis: Check return values from get_burstcount.
  drm/i915/gen9: fix the WM memory bandwidth WA for Y tiling cases
  drm/i915/gen9: unconditionally apply the memory bandwidth WA
  drm/i915: disable PSR by default on HSW/BDW
  drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
  s390/pci: fix dma address calculation in map_sg
  s390/topology: always use s390 specific sched_domain_topology_level
  powerpc/pci/rpadlpar: Fix device reference leaks
  PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3)
  PCI: Support INTx masking on ConnectX-4 with firmware x.14.1100+
  PCI: Convert Mellanox broken INTx quirks to be for listed devices only
  PCI: Convert broken INTx masking quirks from HEADER to FINAL
  PCI: Add Mellanox device IDs
  PCI: rockchip: Correct the use of FTS mask
  PCI: rockchip: Fix negotiated lanes calculation
  staging: media: davinci_vpfe: unlock on error in vpfe_reqbufs()
  f2fs: hide a maybe-uninitialized warning
  f2fs: remove percpu_count due to performance regression
  md: fix refcount problem on mddev when stopping array.
  md: MD_RECOVERY_NEEDED is set for mddev->recovery
  crypto: arm64/aes-ce - fix for big endian
  crypto: arm64/aes-xts-ce: fix for big endian
  crypto: arm64/sha1-ce - fix for big endian
  crypto: arm64/aes-neon - fix for big endian
  crypto: arm64/aes-ccm-ce: fix for big endian
  crypto: arm/aes-ce - fix for big endian
  crypto: arm64/ghash-ce - fix for big endian
  crypto: arm64/sha2-ce - fix for big endian
  s390/crypto: unlock on error in prng_tdes_read()
  mm, compaction: fix NR_ISOLATED_* stats for pfn based migration
  mm: khugepaged: fix radix tree node leak in shmem collapse error path
  mm: khugepaged: close use-after-free race during shmem collapsing
  docs-rst: fix LaTeX \DURole renewcommand with Sphinx 1.3+
  mm/hugetlb.c: use the right pte val for compare in hugetlb_cow
  rpmsg: qcom_smd: Correct return value for O_NONBLOCK
  mmc: mmc_test: Uninitialized return value
  genirq/affinity: Fix node generation from cpumask
  PM / wakeirq: Fix dedicated wakeirq for drivers not using autosuspend
  irqchip/bcm7038-l1: Implement irq_cpu_offline() callback
  PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()
  ima: fix memory leak in ima_release_policy
  relay: check array offset before using it
  sbp-target: Fix second argument of percpu_ida_alloc()
  target/iscsi: Fix double free in lio_target_tiqn_addtpg()
  scsi: mvsas: fix command_active typo
  scsi: g_NCR5380: Fix release_region in error handling
  ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call
  ASoC: Intel: Skylake: Fix a shift wrapping bug
  ASoC: cht_bsw_rt5645: Fix leftover kmalloc
  ASoC: lpass-platform: initialize dma channel number
  iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped
  iommu/vt-d: Fix pasid table size encoding
  iommu/amd: Fix the left value check of cmd buffer
  iommu/amd: Missing error code in amd_iommu_init_device()
  clk: renesas: mstp: Support 8-bit registers for r7s72100
  clk: imx31: fix rewritten input argument of mx31_clocks_init()
  clk: sunxi-ng: sun8i-h3: Set CLK_SET_RATE_PARENT for audio module clocks
  clk: sunxi-ng: sun8i-a23: Set CLK_SET_RATE_PARENT for audio module clocks
  clk: ti: dra7: fix "failed to lookup clock node gmac_gmii_ref_clk_div" boot message
  clk: clk-wm831x: fix a logic error
  clk: qcom: ipq806x: Fix board clk rates
  Input: synaptics-rmi4 - unlock on error
  hwmon: (lm90) fix temp1_max_alarm attribute
  hwmon: (g762) Fix overflows and crash seen when writing limit attributes
  hwmon: (nct7802) Fix overflows seen when writing into limit attributes
  hwmon: (ds620) Fix overflows seen when writing temperature limits
  hwmon: (amc6821) sign extension temperature
  hwmon: (scpi) Fix module autoload
  platform/x86: fujitsu-laptop: use brightness_set_blocking for LED-setting callbacks
  x86/cpu: Probe CPUID leaf 6 even when cpuid_level == 6
  x86/prctl/uapi: Remove #ifdef for CHECKPOINT_RESTORE
  debugfs: improve DEFINE_DEBUGFS_ATTRIBUTE for !CONFIG_DEBUG_FS
  clk: renesas: cpg-mssr: Fix inverted debug check
  efi/efivar_ssdt_load: Don't return success on allocation failure
  cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected
  ath10k: use the right length of "background"
  mfd: tps65217: Fix page fault on unloading modules
  ath10k: fix failure to send NULL func frame for 10.4
  nl80211: Use different attrs for BSSID and random MAC addr in scan req
  mac80211: fix tid_agg_rx NULL dereference
  drm/i915: tune down the fast link training vs boot fail
  drm/i915/dp: add lane_count check in intel_dp_check_link_status
  usb: dwc3: gadget: always unmap EP0 requests
  usb: dwc3: ep0: explicitly call dwc3_ep0_prepare_one_trb()
  usb: dwc3: ep0: add dwc3_ep0_prepare_one_trb()
  iio: accel: st_accel: fix LIS3LV02 reading and scaling
  staging: iio: ad7606: fix improper setting of oversampling pins
  mei: move write cb to completion on credentials failures
  mei: bus: fix mei_cldev_enable KDoc
  mei: fix parameter rename KDoc
  USB: serial: io_ti: bind to interface after fw download
  dibusb: fix possible memory leak in dibusb_rc_query()
  ARM: dts: sun7i: bananapi-m1-plus: Enable USB PHY for USB host support
  arm64: dts: hip06: Correct hardware pin number of usb node
  USB: phy: am335x-control: fix device and of_node leaks
  ARM: dts: r8a7794: Correct hsusb parent clock
  usb: gadget: fix request length error for isoc transfer
  usb: gadget: Fix second argument of percpu_ida_alloc()
  USB: serial: kl5kusb105: abort on open exception path
  ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream()
  usb: musb: blackfin: add bfin_fifo_offset in bfin_ops
  usb: gadget: udc: core: fix return code of usb_gadget_probe_driver()
  usb: hub: Move hub_port_disable() to fix warning if PM is disabled
  usb: musb: Fix trying to free already-free IRQ 4
  usb: dwc3: gadget: Fix full speed mode
  usb: dwc3: pci: Fix dr_mode misspelling
  usb: dwc3: pci: add Intel Gemini Lake PCI ID
  xhci: Fix race related to abort operation
  xhci: Use delayed_work instead of timer for command timeout
  usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL
  USB: serial: mos7720: fix parallel probe
  USB: serial: mos7720: fix parport use-after-free on probe errors
  USB: serial: mos7720: fix use-after-free on probe errors
  USB: serial: mos7720: fix NULL-deref at open
  USB: serial: mos7840: fix NULL-deref at open
  USB: serial: kobil_sct: fix NULL-deref in write
  USB: serial: cyberjack: fix NULL-deref at open
  USB: serial: oti6858: fix NULL-deref at open
  USB: serial: io_edgeport: fix NULL-deref at open
  USB: serial: ti_usb_3410_5052: fix NULL-deref at open
  USB: serial: garmin_gps: fix memory leak on failed URB submit
  USB: serial: iuu_phoenix: fix NULL-deref at open
  USB: serial: io_ti: fix I/O after disconnect
  USB: serial: io_ti: fix another NULL-deref at open
  USB: serial: io_ti: fix NULL-deref at open
  USB: serial: spcp8x5: fix NULL-deref at open
  USB: serial: keyspan_pda: verify endpoints at probe
  USB: serial: pl2303: fix NULL-deref at open
  USB: serial: quatech2: fix sleep-while-atomic in close
  USB: serial: omninet: fix NULL-derefs at open and disconnect
  usb: return error code when platform_get_irq fails
  usb: xhci: hold lock over xhci_abort_cmd_ring()
  xhci: Handle command completion and timeout race
  usb: host: xhci: Fix possible wild pointer when handling abort command
  usb: xhci: fix return value of xhci_setup_device()
  xhci: free xhci virtual devices with leaf nodes first
  usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Apollo Lake
  usb: xhci: fix possible wild pointer
  usb: dwc3: core: avoid Overflow events
  usb: gadget: composite: Test get_alt() presence instead of set_alt()
  USB: dummy-hcd: fix bug in stop_activity (handle ep0)
  USB: fix problems with duplicate endpoint addresses
  USB: gadgetfs: fix checks of wTotalLength in config descriptors
  USB: gadgetfs: fix use-after-free bug
  USB: gadgetfs: fix unbounded memory allocation bug
  usb: gadgetfs: restrict upper bound on device configuration size
  usb: storage: unusual_uas: Add JMicron JMS56x to unusual device
  usb: musb: dsps: implement clear_ep_rxintr() callback
  usb: musb: core: add clear_ep_rxintr() to musb_platform_ops
  KVM: MIPS: Flush KVM entry code from icache globally
  KVM: MIPS: Don't clobber CP0_Status.UX
  KVM: x86: reset MMU on KVM_SET_VCPU_EVENTS
  drm/i915: Initialize overlay->last_flip properly
  drm/i915: Force VDD off on the new power seqeuencer before starting to use it
  drm/i915: Fix oops in overlay due to frontbuffer tracking
  drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff
  gcc-plugins: update gcc-common.h for gcc-7
  asm-prototypes: Clear any CPP defines before declaring the functions
  mac80211: initialize fast-xmit 'info' later
  pinctrl/amd: Set the level based on ACPI tables
  ARM: davinci: da850: don't add emac clock to lookup table twice
  HID: sensor-hub: Move the memset to sensor_hub_get_feature()
  parisc: Mark cr16 clocksource unstable on SMP systems
  parisc: Add line-break when printing segfault info
  fscrypt: fix renaming and linking special files
  ALSA: usb-audio: Fix irq/process data synchronization
  ALSA: hda - Apply asus-mode8 fixup to ASUS X71SL
  ALSA: hda - Fix up GPIO for ASUS ROG Ranger
  staging: octeon: Call SET_NETDEV_DEV()
  iio: bmi160: Fix time needed to sleep after command execution
  iio: max44000: correct value in illuminance_integration_time_available
  iio: common: st_sensors: fix channel data parsing
  Linux 4.9.2
  drm/i915: Fix setting of boost freq tunable
  drm/i915: skip the first 4k of stolen memory on everything >= gen8
  drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time
  drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things
  drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating
  drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting
  net: mvpp2: fix dma unmapping of TX buffers for fragments
  sg_write()/bsg_write() is not fit to be called under KERNEL_DS
  kconfig/nconf: Fix hang when editing symbol with a long prompt
  target/user: Fix use-after-free of tcmu_cmds if they are expired
  libnvdimm, pfn: fix align attribute
  of, numa: Return NUMA_NO_NODE from disable of_node_to_nid() if nid not possible.
  powerpc/boot: Request no dynamic linker for boot wrapper
  powerpc/ps3: Fix system hang with GCC 5 builds
  powerpc/64e: Convert cmpi to cmpwi in head_64.S
  SUNRPC: fix refcounting problems with auth_gss messages.
  pNFS: Fix a deadlock between read resends and layoutreturn
  pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid
  pNFS: Don't clear the layout stateid if a layout return is outstanding
  pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed
  nfs_write_end(): fix handling of short copies
  libceph: verify authorize reply on connect
  PCI: Check for PME in targeted sleep state
  i40iw: Use correct src address in memcpy to rdma stats counters
  bad_inode: add missing i_op initializers
  Input: drv260x - fix input device's parent assignment
  v4l: tvp5150: Add missing break in set control handler
  media: solo6x10: fix lockup by avoiding delayed register write
  s5p-mfc: fix failure path of s5p_mfc_alloc_memdev()
  mn88473: fix chip id check on probe
  mn88472: fix chip id check on probe
  IB/cma: Fix a race condition in iboe_addr_get_sgid()
  IB/rxe: Fix a memory leak in rxe_qp_cleanup()
  IB/multicast: Check ib_find_pkey() return value
  IPoIB: Avoid reading an uninitialized member variable
  IB/mad: Fix an array index check
  fgraph: Handle a case where a tracer ignores set_graph_notrace
  x86/smpboot: Make logical package management more robust
  platform/x86: asus-nb-wmi.c: Add X45U quirk
  ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it
  vsock/virtio: fix src/dst cid format
  fsnotify: Fix possible use-after-free in inode iteration on umount
  kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF)
  KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT
  KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
  scsi: aacraid: remove wildcard for series 9 controllers
  md/raid5: limit request size according to implementation limits
  sc16is7xx: Drop bogus use of IRQF_ONESHOT
  latent_entropy: fix ARM build error on earlier gcc
  arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest
  s390/kexec: use node 0 when re-adding crash kernel memory
  s390/vmlogrdr: fix IUCV buffer allocation
  firmware: fix usermode helper fallback loading
  ARC: mm: arc700: Don't assume 2 colours for aliasing VIPT dcache
  scsi: avoid a permanent stop of the scsi device's request queue
  scsi: zfcp: fix rport unblock race with LUN recovery
  scsi: zfcp: do not trace pure benign residual HBA responses at default level
  scsi: zfcp: fix use-after-"free" in FC ingress path after TMF
  iscsi-target: Return error if unable to add network portal
  scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map
  scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset
  stm class: Fix device leak in open error path
  vt: fix Scroll Lock LED trigger name
  block: protect iterate_bdevs() against concurrent close
  mei: me: add lewisburg device ids
  mei: request async autosuspend at the end of enumeration
  drivers/gpu/drm/ast: Fix infinite loop if read fails
  drm/amdgpu: fix init save/restore list in gfx_v8.0
  drm/amdgpu: fix enable_cp_power_gating in gfx_v8.0.
  drm/amd/powerplay: bypass fan table setup if no fan connected
  drm/gma500: Add compat ioctl
  drm/radeon/si: load the proper firmware on 0x87 oland boards
  drm/radeon: add additional pci revision to dpm workaround
  drm/radeon: Hide the HW cursor while it's out of bounds
  drm/radeon: Also call cursor_move_locked when the cursor size changes
  drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex
  drm/nouveau/i2c/gk110b,gm10x: use the correct implementation
  drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas
  drm/nouveau/ltc: protect clearing of comptags with mutex
  drm/nouveau/bios: require checksum to match for fast acpi shadow method
  drm/nouveau/kms: lvds panel strap moved again on maxwell
  drm/nouveau/gr: fallback to legacy paths during firmware lookup
  drm/amd/amdgpu: enable GUI idle INT after enabling CGCG
  drm/amdgpu: Also call cursor_move_locked when the cursor size changes
  drm/amdgpu: Store CRTC relative amdgpu_crtc->cursor_x/y values
  drm/amdgpu: add additional pci revision to dpm workaround
  drm/amdgpu/si: load the proper firmware on 0x87 oland boards
  ACPI / video: Add force_native quirk for HP Pavilion dv6
  ACPI / video: Add force_native quirk for Dell XPS 17 L702X
  staging: comedi: ni_mio_common: fix E series ni_ai_insn_read() data
  staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask
  staging: lustre: ldlm: pl_recalc time handling is wrong
  staging/lustre/osc: Revert erroneous list_for_each_entry_safe use
  hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
  docs: sphinx-extensions: make rstFlatTable work with docutils 0.13
  thermal: hwmon: Properly report critical temperature in sysfs
  clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk
  arm64: tegra: Add VDD_GPU regulator to Jetson TX1
  gpio: chardev: Return error for seek operations
  gpio: stmpe: fix interrupt handling bug
  timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
  mmc: sd: Meet alignment requirements for raw_ssr DMA
  regulator: stw481x-vmmc: fix ages old enable error
  mmc: sdhci: Fix recovery from tuning timeout
  Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure"
  ath9k: do not return early to fix rcu unlocking
  ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards.
  ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
  cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts
  rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting
  perf/x86/intel/cstate: Prevent hotplug callback leak
  perf annotate: Don't throw error for zero length symbols
  perf/x86: Fix exclusion of BTS and LBR for Goldmont
  rtlwifi: Fix enter/exit power_save
  ath10k: fix soft lockup during firmware crash/hw-restart
  ssb: Fix error routine when fallback SPROM fails
  Linux 4.9.1
  x86/kbuild: enable modversions for symbols exported from asm
  builddeb: fix cross-building to arm64 producing host-arch debs
  xfs: set AGI buffer type in xlog_recover_clear_agi_bucket
  xfs: fix up xfs_swap_extent_forks inline extent handling
  arm/xen: Use alloc_percpu rather than __alloc_percpu
  xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
  tpm xen: Remove bogus tpm_chip_unregister
  kernel/debug/debug_core.c: more properly delay for secondary CPUs
  watchdog: qcom: fix kernel panic due to external abort on non-linefetch
  watchdog: mei_wdt: request stop on reboot to prevent false positive event
  kernel/watchdog: use nmi registers snapshot in hardlockup handler
  CIFS: Fix a possible memory corruption in push locks
  CIFS: Decrease verbosity of ioctl call
  CIFS: Fix a possible double locking of mutex during reconnect
  CIFS: Fix missing nls unload in smb2_reconnect()
  CIFS: Fix a possible memory corruption during reconnect
  cifs: Fix smbencrypt() to stop pointing a scatterlist at the stack
  ASoC: intel: Fix crash at suspend/resume without card registration
  dm space map metadata: fix 'struct sm_metadata' leak on failed create
  dm raid: fix discard support regression
  dm rq: fix a race condition in rq_completed()
  dm crypt: mark key as invalid until properly loaded
  dm flakey: return -EINVAL on interval bounds error in flakey_ctr()
  dm table: an 'all_blk_mq' table must be loaded for a blk-mq DM device
  dm table: fix 'all_blk_mq' inconsistency when an empty table is loaded
  blk-mq: Do not invoke .queue_rq() for a stopped queue
  PM / OPP: Don't use OPP structure outside of rcu protected section
  PM / OPP: Pass opp_table to dev_pm_opp_put_regulator()
  usb: gadget: composite: always set ep->mult to a sensible value
  mm, page_alloc: keep pcp count and list contents in sync if struct page is corrupted
  mm/vmscan.c: set correct defer count for shrinker
  nvmet: Fix possible infinite loop triggered on hot namespace removal
  loop: return proper error from loop_queue_rq()
  f2fs: fix to determine start_cp_addr by sbi->cur_cp_pack
  f2fs: fix overflow due to condition check order
  f2fs: set ->owner for debugfs status file's file_operations
  Revert "f2fs: use percpu_counter for # of dirty pages in inode"
  ext4: do not perform data journaling when data is encrypted
  ext4: return -ENOMEM instead of success
  ext4: reject inodes with negative size
  ext4: add sanity checking to count_overhead()
  ext4: fix in-superblock mount options processing
  ext4: use more strict checks for inodes_per_block on mount
  ext4: fix stack memory corruption with 64k block size
  ext4: fix mballoc breakage with 64k block size
  ext4: don't lock buffer in ext4_commit_super if holding spinlock
  crypto: caam - fix AEAD givenc descriptors
  ptrace: Don't allow accessing an undumpable mm
  ptrace: Capture the ptracer's creds not PT_PTRACE_CAP
  vfs,mm: fix return value of read() at s_maxbytes
  mm: Add a user_ns owner to mm_struct and fix ptrace permission checks
  block_dev: don't test bdev->bd_contains when it is not stable
  splice: reinstate SIGPIPE/EPIPE handling
  fs: exec: apply CLOEXEC before changing dumpable task flags
  exec: Ensure mm->user_ns contains the execed files
  clk: ti: omap36xx: Work around sprz319 advisory 2.1
  ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq
  ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO
  ALSA: hda - fix headset-mic problem on a Dell laptop
  ALSA: hda - ignore the assoc and seq when comparing pin configurations
  ALSA: hda/ca0132 - Add quirk for Alienware 15 R2 2016
  ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
  ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
  usbip: vudc: fix: Clear already_seen flag also for ep0
  USB: UHCI: report non-PME wakeup signalling for Intel hardware
  usb: gadget: composite: correctly initialize ep->maxpacket
  usb: gadget: f_uac2: fix error handling at afunc_bind
  usb: core: usbport: Use proper LED API to fix potential crash
  usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
  usb: dwc3: gadget: set PCM1 field of isochronous-first TRBs
  USB: cdc-acm: add device id for GW Instek AFG-125
  USB: serial: kl5kusb105: fix open error path
  USB: serial: option: add dlink dwm-158
  USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041
  Btrfs: fix qgroup rescan worker initialization
  Btrfs: fix emptiness check for dirtied extent buffers at check_leaf()
  btrfs: store and load values of stripes_min/stripes_max in balance status item
  Btrfs: fix relocation incorrectly dropping data references
  Btrfs: fix tree search logic when replaying directory entry deletes
  Btrfs: fix deadlock caused by fsync when logging directory entries
  Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty
  btrfs: limit async_work allocation and worker func duration
  hotplug: Make register and unregister notifier API symmetric
  ANDROID: Shrink ashmem directly through shmem_fallocate
  ANDROID: ashmem: Add shmem_set_file to mm/shmem.c
  ANDROID: Add android config documentation to boot framework.

Conflicts:
	Documentation/android.txt
	Documentation/cpu-freq/governors.txt
	Documentation/networking/ip-sysctl.txt
	arch/arm64/boot/Makefile
	arch/arm64/kernel/process.c
	arch/arm64/kernel/topology.c
	arch/arm64/mm/dma-mapping.c
	drivers/cpufreq/cpufreq_interactive.c
	drivers/input/misc/gpio_matrix.c
	drivers/md/Kconfig
	drivers/md/dm-android-verity.c
	drivers/md/dm-android-verity.h
	drivers/md/dm-linear.c
	drivers/md/dm-verity-fec.h
	drivers/mmc/core/host.c
	drivers/platform/goldfish/goldfish_pipe.c
	drivers/power/supply/power_supply_sysfs.c
	drivers/scsi/ufs/ufshcd.c
	drivers/scsi/ufs/ufshcd.h
	drivers/staging/android/fiq_debugger/fiq_debugger.c
	drivers/staging/android/lowmemorykiller.c
	drivers/usb/dwc3/core.h
	drivers/usb/gadget/Kconfig
	drivers/usb/gadget/configfs.c
	drivers/usb/gadget/function/Makefile
	drivers/usb/gadget/function/f_accessory.c
	drivers/usb/gadget/function/f_audio_source.c
	drivers/usb/gadget/function/f_fs.c
	drivers/usb/gadget/function/f_mtp.c
	drivers/usb/phy/Kconfig
	drivers/usb/phy/otg-wakelock.c
	fs/ext4/inode.c
	fs/ext4/ioctl.c
	fs/f2fs/data.c
	fs/proc/task_mmu.c
	fs/sdcardfs/derived_perm.c
	fs/sdcardfs/file.c
	fs/sdcardfs/inode.c
	fs/sdcardfs/lookup.c
	fs/sdcardfs/main.c
	fs/sdcardfs/packagelist.c
	fs/sdcardfs/sdcardfs.h
	fs/sdcardfs/super.c
	include/linux/mmc/core.h
	include/linux/power_supply.h
	include/linux/sched.h
	include/linux/usb/f_mtp.h
	include/net/fib_rules.h
	include/net/route.h
	include/trace/events/cpufreq_interactive.h
	include/trace/events/power.h
	include/trace/events/sched.h
	include/uapi/linux/magic.h
	include/uapi/linux/prctl.h
	init/Kconfig
	kernel/cgroup.c
	kernel/configs/android-base.config
	kernel/power/process.c
	kernel/sched/Makefile
	kernel/sched/core.c
	kernel/sched/cputime.c
	kernel/sched/fair.c
	kernel/sched/rt.c
	kernel/sched/sched.h
	kernel/sched/stop_task.c
	kernel/sched/tune.c
	lib/Kconfig.debug
	net/core/fib_rules.c
	net/ipv4/inet_connection_sock.c
	net/ipv4/ping.c
	net/ipv4/raw.c
	net/ipv4/route.c
	net/ipv4/syncookies.c
	net/ipv4/udp.c
	net/ipv6/af_inet6.c
	net/ipv6/ah6.c
	net/ipv6/datagram.c
	net/ipv6/esp6.c
	net/ipv6/icmp.c
	net/ipv6/inet6_connection_sock.c
	net/ipv6/ip6_vti.c
	net/ipv6/ipcomp6.c
	net/ipv6/ping.c
	net/ipv6/raw.c
	net/ipv6/route.c
	net/ipv6/syncookies.c
	net/ipv6/tcp_ipv6.c
	net/ipv6/udp.c

Change-Id: I82455dc7b564fc5d3ad2b784a0eb8f96c6b05d4c
Signed-off-by: Channagoud Kadabi <ckadabi@codeaurora.org>
2017-02-17 16:14:38 -08:00
Herbert Xu
17a561b19a gro: Disable frag0 optimization on IPv6 ext headers
[ Upstream commit 57ea52a865144aedbcd619ee0081155e658b6f7d ]

The GRO fast path caches the frag0 address.  This address becomes
invalid if frag0 is modified by pskb_may_pull or its variants.
So whenever that happens we must disable the frag0 optimization.

This is usually done through the combination of gro_header_hard
and gro_header_slow, however, the IPv6 extension header path did
the pulling directly and would continue to use the GRO fast path
incorrectly.

This patch fixes it by disabling the fast path when we enter the
IPv6 extension header path.

Fixes: 78a478d0ef ("gro: Inline skb_gro_header and cache frag0 virtual address")
Reported-by: Slava Shwartsman <slavash@mellanox.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-15 13:42:55 +01:00
Kyle Yan
5044bbd0f3 Merge remote-tracking branch '4.4/tmp-e5517c2' into 4.8
* 4.4/tmp-e5517c2:
  Linux 4.9-rc7
  fix default_file_splice_read()
  tipc: resolve connection flow control compatibility problem
  mvpp2: use correct size for memset
  net/mlx5: drop duplicate header delay.h
  net: ieee802154: drop duplicate header delay.h
  ibmvnic: drop duplicate header seq_file.h
  fsl/fman: fix a leak in tgec_free()
  net: ethtool: don't require CAP_NET_ADMIN for ETHTOOL_GLINKSETTINGS
  tipc: improve sanity check for received domain records
  tipc: fix compatibility bug in link monitoring
  net: ethernet: mvneta: Remove IFF_UNICAST_FLT which is not implemented
  Fix subtle CONFIG_MODVERSIONS problems
  MAINTAINERS: Add bug tracking system location entry type
  Revert "i2c: designware: do not disable adapter after transfer"
  dwc_eth_qos: drop duplicate headers
  parisc: Also flush data TLB in flush_icache_page_asm
  parisc: Fix race in pci-dma.c
  parisc: Switch to generic sched_clock implementation
  parisc: Fix races in parisc_setup_cache_timing()
  mfd: wm8994-core: Don't use managed regulator bulk get API
  mfd: wm8994-core: Disable regulators before removing them
  MIPS: mm: Fix output of __do_page_fault
  mfd: syscon: Support native-endian regmaps
  powerpc/mm: Fixup kernel read only mapping
  mpi: Fix NULL ptr dereference in mpi_powm() [ver #3]
  X.509: Fix double free in x509_cert_parse() [ver #3]
  gpu/drm/exynos/exynos_hdmi - Unmap region obtained by of_iomap
  net sched filters: fix filter handle ID in tfilter_notify_chain()
  net: dsa: bcm_sf2: Ensure we re-negotiate EEE during after link change
  bnxt: do not busy-poll when link is down
  udplite: call proper backlog handlers
  KVM: x86: check for pic and ioapic presence before use
  KVM: x86: fix out-of-bounds accesses of rtc_eoi map
  KVM: x86: drop error recovery in em_jmp_far and em_ret_far
  KVM: x86: fix out-of-bounds access in lapic
  init: use pr_cont() when displaying rotator during ramdisk loading.
  ipv6: bump genid when the IFA_F_TENTATIVE flag is clear
  MIPS: Mask out limit field when calculating wired entry count
  i2c: designware: fix rx fifo depth tracking
  i2c: designware: report short transfers
  drm/mediatek: fix null pointer dereference
  drm/mediatek: fixed the calc method of data rate per lane
  drm/mediatek: fix a typo of DISP_OD_CFG to OD_RELAYMODE
  powerpc/boot: Fix the early OPAL console wrappers
  net/mlx4_en: Free netdev resources under state lock
  net: revert "net: l2tp: Treat NET_XMIT_CN as success in l2tp_eth_dev_xmit"
  rtnetlink: fix the wrong minimal dump size getting from rtnl_calcit()
  bnxt_en: Fix a VXLAN vs GENEVE issue
  netdevice.h: fix kernel-doc warning
  driver: macvlan: Check if need rollback multicast setting in macvlan_open
  net: phy: micrel: fix KSZ8041FTL supported value
  xc2028: Fix use-after-free bug properly
  tile: avoid using clocksource_cyc2ns with absolute cycle count
  drm/radeon: fix power state when port pm is unavailable (v2)
  drm/amdgpu: fix power state when port pm is unavailable
  HID: hid-sensor-hub: clear memory to avoid random data
  HID: rmi: make transfer buffers DMA capable
  HID: magicmouse: make transfer buffers DMA capable
  HID: lg: make transfer buffers DMA capable
  HID: cp2112: make transfer buffers DMA capable
  can: bcm: fix support for CAN FD frames
  Revert "arm: move exports to definitions"
  Bluetooth: Fix using the correct source address type
  NFSv4.x: hide array-bounds warning
  flow_dissect: call init_default_flow_dissectors() earlier
  parisc: Fix printk continuations in system detection
  drm/arm: hdlcd: fix plane base address update
  perf/x86/intel/uncore: Allow only a single PMU/box within an events group
  perf/x86/intel: Cure bogus unwind from PEBS entries
  perf/x86: Restore TASK_SIZE check on frame pointer
  sched/autogroup: Do not use autogroup->tg in zombie threads
  sched/autogroup: Fix autogroup_move_group() to never skip sched_move_task()
  powerpc: Fix missing CRCs, add more asm-prototypes.h declarations
  crypto: scatterwalk - Remove unnecessary aliasing check in map_and_copy
  crypto: algif_hash - Fix result clobbering in recvmsg
  powerpc: Set missing wakeup bit in LPCR on POWER9
  watchdog: wdat_wdt: Select WATCHDOG_CORE
  tcp: zero ca_priv area when switching cc algorithms
  net: l2tp: Treat NET_XMIT_CN as success in l2tp_eth_dev_xmit
  NFSv4.1: Keep a reference on lock states while checking
  ethernet: stmmac: make DWMAC_STM32 depend on it's associated SoC
  Revert "ACPI: Execute _PTS before system reboot"
  thermal/powerclamp: add back module device table
  perf/core: Fix address filter parser
  mmc: dw_mmc: fix the error handling for dma operation
  x86/platform/intel-mid: Rename platform_wdt to platform_mrfld_wdt
  x86/build: Build compressed x86 kernels as PIE when !CONFIG_RELOCATABLE as well
  x86/platform/intel-mid: Register watchdog device after SCU
  x86/fpu: Fix invalid FPU ptrace state after execve()
  x86/boot: Fail the boot if !M486 and CPUID is missing
  x86/traps: Ignore high word of regs->cs in early_fixup_exception()
  apparmor: fix change_hat not finding hat after policy replacement
  tipc: eliminate obsolete socket locking policy description
  rtnl: fix the loop index update error in rtnl_dump_ifinfo()
  l2tp: fix racy SOCK_ZAPPED flag check in l2tp_ip{,6}_bind()
  iommu/vt-d: Fix PASID table allocation
  sparc: drop duplicate header scatterlist.h
  net: macb: add check for dma mapping error in start_xmit()
  lockdep: Limit static allocations if PROVE_LOCKING_SMALL is defined
  config: Adding the new config parameter CONFIG_PROVE_LOCKING_SMALL for sparc
  NFSv4.1: Handle NFS4ERR_OLD_STATEID in nfs4_reclaim_open_state
  sunbmac: Fix compiler warning
  sunqe: Fix compiler warnings
  NFSv4: Don't call close if the open stateid has already been cleared
  sparc64: Enable 64-bit DMA
  sparc64: Enable sun4v dma ops to use IOMMU v2 APIs
  sparc64: Bind PCIe devices to use IOMMU v2 service
  sparc64: Initialize iommu_map_table and iommu_pool
  sparc64: Add ATU (new IOMMU) support
  sparc64: Add FORCE_MAX_ZONEORDER and default to 13
  rtnetlink: fix FDB size computation
  netns: fix get_net_ns_by_fd(int pid) typo
  af_unix: conditionally use freezable blocking calls in read
  net: ethernet: ti: cpsw: fix fixed-link phy probe deferral
  net: ethernet: ti: cpsw: add missing sanity check
  net: ethernet: ti: cpsw: fix secondary-emac probe error path
  net: ethernet: ti: cpsw: fix of_node and phydev leaks
  net: ethernet: ti: cpsw: fix deferred probe
  net: ethernet: ti: cpsw: fix mdio device reference leak
  net: ethernet: ti: cpsw: fix bad register access in probe error path
  net: sky2: Fix shutdown crash
  NFSv4: Fix CLOSE races with OPEN
  NFSv4.1: Fix a regression in DELEGRETURN
  mmc: sdhci-of-esdhc: fixup PRESENT_STATE read
  usb: gadget: f_fs: fix wrong parenthesis in ffs_func_req_match()
  perf/x86: Add perf support for AMD family-17h processors
  x86/dumpstack: Prevent KASAN false positive warnings
  x86/unwind: Prevent KASAN false positive warnings in guess unwinder
  cfg80211: limit scan results cache size
  net sched filters: pass netlink message flags in event notification
  ip6_tunnel: disable caching when the traffic class is inherited
  net: phy: fixed_phy: fix of_node leak in fixed_phy_unregister
  of_mdio: fix device reference leak in of_phy_find_device
  of_mdio: fix node leak in of_phy_register_fixed_link error path
  net: check dead netns for peernet2id_alloc()
  phy: twl4030-usb: Fix for musb session bit based PM
  usb: musb: Drop pointless PM runtime code for dsps glue
  usb: musb: Add missing pm_runtime_disable and drop 2430 PM timeout
  usb: musb: Fix PM for hub disconnect
  usb: musb: Fix sleeping function called from invalid context for hdrc glue
  usb: musb: Fix broken use of static variable for multiple instances
  x86/boot: Avoid warning for zero-filling .bss
  bnxt: add a missing rcu synchronization
  net: dsa: b53: Fix VLAN usage and how we treat CPU port
  net/phy/vitesse: Configure RGMII skew on VSC8601, if needed
  cxgb4: do not call napi_hash_del()
  be2net: do not call napi_hash_del()
  virtio-net: add a missing synchronize_net()
  drm/amd/powerplay: avoid out of bounds access on array ps.
  clk: efm32gg: Pass correct type to hw provider registration
  clk: berlin: Pass correct type to hw provider registration
  net: thunderx: Fix memory leak and other issues upon interface toggle
  net: thunderx: Fix VF driver's interface statistics
  net: thunderx: Fix configuration of L3/L4 length checking
  net: thunderx: Program LMAC credits based on MTU
  net: thunderx: Introduce BGX_ID_MASK macro to extract bgx_id
  ipv4: Fix memory leak in exception case for splitting tries
  ipv4: Restore fib_trie_flush_external function and fix call ordering
  bpf: fix range arithmetic for bpf map access
  device-dax: fail all private mapping attempts
  USB: serial: cp210x: add ID for the Zone DPMX
  perf/x86/uncore: Fix crash by removing bogus event_list[] handling for SNB client uncore IMC
  x86/sysfb: Fix lfb_size calculation
  x86/sysfb: Add support for 64bit EFI lfb_base
  rtnetlink: fix rtnl message size computation for XDP
  rtnetlink: fix rtnl_vfinfo_size
  gro_cells: mark napi struct as not busy poll candidates
  udp: restore UDPlite many-cast delivery
  net: arc_emac: don't pass multicast packets to kernel in non-multicast mode
  net: arc_emac: annonce IFF_MULTICAST support
  stmmac: fix PTP type ethtool stats
  stmmac: fix PTP support for GMAC4
  stmmac: update the PTP header file
  igmp: do not remove igmp souce list info when set link down
  usb: chipidea: move the lock initialization to core file
  net: ethernet: Fix SGMII unable to switch speed and autonego failure
  mac80211_hwsim: fix beacon delta calculation
  mac80211: fix A-MSDU aggregation with fast-xmit + txq
  mac80211: remove bogus skb vif assignment
  mac80211: update A-MPDU flag on tx dequeue
  cfg80211: add bitrate for 20MHz MCS 9
  Revert "mac80211: allow using AP_LINK_PS with mac80211-generated TIM IE"
  mac80211: Ignore VHT IE from peer with wrong rx_mcs_map
  perf/core: Do not set cpuctx->cgrp for unscheduled cgroups
  Fix USB CB/CBI storage devices with CONFIG_VMAP_STACK=y
  scsi: qla2xxx: do not abort all commands in the adapter during EEH recovery
  sparc64: fix compile warning section mismatch in find_node()
  scsi: mpt3sas: Fix secure erase premature termination
  sparc32: Fix inverted invalid_frame_pointer checks on sigreturns
  sparc64: Fix find_node warning if numa node cannot be found
  USB: serial: ftdi_sio: add support for TI CC3200 LaunchPad
  batman-adv: Detect missing primaryif during tp_send as error
  batman-adv: Revert "fix splat on disabling an interface"
  clk: sunxi: Fix M factor computation for APB1
  iommu/vt-d: Fix IOMMU lookup for SR-IOV Virtual Functions
  device-dax: check devm_nsio_enable() return value
  clk: sunxi-ng: sun6i-a31: Force AHB1 clock to use PLL6 as parent

Conflicts:
	net/wireless/scan.c

Change-Id: I1371442c0867c8680282c344fb6ecdba7eb032d4
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2016-12-05 16:08:42 -08:00
Randy Dunlap
920c1cd366 netdevice.h: fix kernel-doc warning
Fix kernel-doc warning in <linux/netdevice.h> (missing ':'):

..//include/linux/netdevice.h:1904: warning: No description found for parameter 'prio_tc_map[TC_BITMASK + 1]'

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-23 20:18:36 -05:00
Kyle Yan
f2cf423ddb Merge remote-tracking branch 'origin/tmp-9c76358' into msm-4.8
* origin/tmp-9c76358:
  Linux 4.9-rc6
  ext4: sanity check the block and cluster size at mount time
  fscrypto: don't use on-stack buffer for key derivation
  fscrypto: don't use on-stack buffer for filename encryption
  i2c: i2c-mux-pca954x: fix deselect enabling for device-tree
  kvm: x86: merge kvm_arch_set_irq and kvm_arch_set_irq_inatomic
  KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr
  KVM: async_pf: avoid recursive flushing of work items
  kvm: kvmclock: let KVM_GET_CLOCK return whether the master clock is in use
  KVM: Disable irq while unregistering user notifier
  KVM: x86: do not go through vcpu in __get_kvmclock_ns
  MAINTAINERS: Add LED subsystem co-maintainer
  crypto: algif_hash - Fix NULL hash crash with shash
  powerpc/mm: Fix missing update of HID register on secondary CPUs
  KVM: arm64: Fix the issues when guest PMCCFILTR is configured
  arm64: KVM: pmu: Fix AArch32 cycle counter access
  powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
  i2c: digicolor: use clk_disable_unprepare instead of clk_unprepare
  ipmi/bt-bmc: change compatible node to 'aspeed, ast2400-ibt-bmc'
  Revert "drm/mediatek: set vblank_disable_allowed to true"
  Revert "drm/mediatek: fix a typo of OD_CFG to OD_RELAYMODE"
  mremap: fix race between mremap() and page cleanning
  crypto: caam - fix type mismatch warning
  dmaengine: cppi41: More PM runtime fixes
  fix iov_iter_advance() for ITER_PIPE
  xattr: Fix setting security xattrs on sockfs
  iw_cxgb4: invalidate the mr when posting a read_w_inv wr
  iw_cxgb4: set *bad_wr for post_send/post_recv errors
  IB/rxe: Update qp state for user query
  IB/rxe: Clear queue buffer when modifying QP to reset
  IB/rxe: Fix handling of erroneous WR
  IB/rxe: Fix kernel panic in UDP tunnel with GRO and RX checksum
  IB/mlx4: Fix create CQ error flow
  IB/mlx4: Check gid_index return value
  IB/mlx5: Fix NULL pointer dereference on debug print
  IB/mlx5: Fix fatal error dispatching
  IB/mlx5: Resolve soft lock on massive reg MRs
  IB/mlx5: Use cache line size to select CQE stride
  IB/mlx5: Validate requested RQT size
  IB/mlx5: Fix memory leak in query device
  IB/core: Avoid unsigned int overflow in sg_alloc_table
  IB/core: Add missing check for addr_resolve callback return value
  IB/core: Set routable RoCE gid type for ipv4/ipv6 networks
  IB/cm: Mark stale CM id's whenever the mad agent was unregistered
  IB/uverbs: Fix leak of XRC target QPs
  ARM: Fix XIP kernels
  tools/power/acpi: Remove direct kernel source include reference
  gpio: Remove GPIO_DEVRES option
  nvme/pci: Don't free queues on error
  orangefs: add .owner to debugfs file_operations
  mfd: core: Fix device reference leak in mfd_clone_cell
  mfd: stmpe: Fix RESET regression on STMPE2401
  mfd: intel_soc_pmic_bxtwc: Fix usbc interrupt
  mfd: intel-lpss: Do not put device in reset state on suspend
  mfd: lpss: Fix Intel Kaby Lake PCH-H properties
  drm/i915: Assume non-DP++ port if dvo_port is HDMI and there's no AUX ch specified in the VBT
  IB/hfi1: Remove incorrect IS_ERR check
  IB/hfi1: Prevent hardware counter names from being cut off
  IB/hfi1: Fix ECN processing in prescan_rxq
  IB/hfi1: Fix status error code for unsupported packets
  IB/hfi1: Relocate rcvhdrcnt module parameter check.
  IB/hfi1: Fix rnr_timer addition
  IB/hfi1: Delete unused lock
  IB/hfi1: Clean up unused argument
  IB/hfi1: Remove leftover snoop references
  IB/hfi1: Fix a potential memory leak in hfi1_create_ctxts()
  IB/hfi1: Return ENODEV for unsupported PCI device ids.
  IB/hfi1: Fix an Oops on pci device force remove
  IB/hfi1: Fix integrity check flags default values
  IB/hfi1: Remove redundant sysfs irq affinity entry
  IB/rdmavt: rdmavt can handle non aligned page maps
  drm/amdgpu:fix vpost_needed routine
  drm/amdgpu/powerplay: drop a redundant NULL check
  kbuild: Steal gcc's pie from the very beginning
  ARM: 8628/1: dma-mapping: preallocate DMA-debug hash tables in core_initcall
  ARM: 8624/1: proc-v7m.S: fix init section name
  ARM: fix backtrace
  fuse: fix fuse_write_end() if zero bytes were copied
  ARM: dts: STiH410-b2260: Fix typo in spi0 chipselect definition
  powerpc/64: Fix setting of AIL in hypervisor mode
  gpio: tc3589x: fix up .get_direction()
  gpio: do not double-check direction on sleeping chips
  tile: handle __ro_after_init like parisc does
  mlxsw: spectrum_router: Flush FIB tables during fini
  net: stmmac: Fix lack of link transition for fixed PHYs
  ftrace: Add more checks for FTRACE_FL_DISABLED in processing ip records
  ftrace: Ignore FTRACE_FL_DISABLED while walking dyn_ftrace records
  sctp: change sk state only when it has assocs in sctp_shutdown
  bnx2: Wait for in-flight DMA to complete at probe stage
  Revert "bnx2: Reset device during driver initialization"
  mailbox: PCC: Fix lockdep warning when request PCC channel
  ALSA: usb-audio: Fix use-after-free of usb_device at disconnect
  ARM: dts: omap5: board-common: fix wrong SMPS6 (VDD-DDR3) voltage
  xtensa: wire up new pkey_{mprotect,alloc,free} syscalls
  Revert "ACPICA: FADT support cleanup"
  ps3_gelic: fix spelling mistake in debug message
  ASoC: lpass-platform: fix uninitialized variable
  Revert "printk: make reading the kernel log flush pending lines"
  i2c: mux: fix up dependencies
  gp8psk-fe: add missing MODULE_foo() macros
  sunrpc: svc_age_temp_xprts_now should not call setsockopt non-tcp transports
  dmaengine: cpp41: Fix handling of error path
  dmaengine: cppi41: Fix unpaired pm runtime when only a USB hub is connected
  dmaengine: cppi41: Fix list not empty warning on module removal
  dmaengine: sun6i: fix the uninitialized value for v_lli
  nvmet-rdma: drain the queue-pair just before freeing it
  nvme-rdma: stop and free io queues on connect failure
  nvmet-rdma: don't forget to delete a queue from the list of connection failed
  nvmet: Don't queue fatal error work if csts.cfs is set
  nvme-rdma: reject non-connect commands before the queue is live
  nvmet-rdma: Fix possible NULL deref when handling rdma cm events
  ntb_perf: potential info leak in debugfs
  ntb: ntb_hw_intel: init peer_addr in struct intel_ntb_dev
  ntb: make DMA_OUT_RESOURCE_TO HZ independent
  ntb_transport: make DMA_OUT_RESOURCE_TO HZ independent
  NTB: ntb_hw_intel: Fix typo in module parameter descriptions
  ntb_pingpong: Fix db_init parameter description
  net: ethernet: ixp4xx_eth: fix spelling mistake in debug message
  ibmvnic: Fix size of debugfs name buffer
  ibmvnic: Unmap ibmvnic_statistics structure
  sfc: clear napi_hash state when copying channels
  mlxsw: spectrum_router: Correctly dump neighbour activity
  mlxsw: spectrum: Fix refcount bug on span entries
  bnxt_en: Fix VF virtual link state.
  bnxt_en: Fix ring arithmetic in bnxt_setup_tc().
  Revert "include/uapi/linux/atm_zatm.h: include linux/time.h"
  tcp: take care of truncations done by sk_filter()
  ipv4: use new_gw for redirect neigh lookup
  r8152: Fix error path in open function
  crypto: caam - do not register AES-XTS mode on LP units
  x86/efi: Prevent mixed mode boot corruption with CONFIG_VMAP_STACK=y
  x86/efi: Fix EFI memmap pointer size warning
  net: bpqether.h: remove if_ether.h guard
  net: __skb_flow_dissect() must cap its return value
  bpf: Add test for bpf_redirect to ipip/ip6tnl
  bpf: Fix bpf_redirect to an ipip/ip6tnl dev
  powerpc/oops: Fix missing pr_cont()s in instruction dump
  powerpc/oops: Fix missing pr_cont()s in show_regs()
  powerpc/oops: Fix missing pr_cont()s in print_msr_bits() et. al.
  powerpc/oops: Fix missing pr_cont()s in show_stack()
  powerpc: Fix exception vector build with 2.23 era binutils
  powerpc/64s: Fix system reset interrupt winkle wakeups
  drm/amdgpu: Attach exclusive fence to prime exported bo's. (v5)
  ALSA: hda - Fix mic regression by ASRock mobo fixup
  drm/i915: Refresh that status of MST capable connectors in ->detect()
  drm/i915: Grab the rotation from the passed plane state for VLV sprites
  drm/i915: Mark CPU cache as dirty when used for rendering
  perf/x86/intel/uncore: Add more Intel uncore IMC PCI IDs for SkyLake
  drm/arcpgu: Accommodate adv7511 switch to DRM bridge
  i2c: Documentation: i2c-topology: fix minor whitespace nit
  i2c: mux: demux-pinctrl: make drivers with no pinctrl work again
  mlxsw: spectrum_router: Ignore FIB notification events for non-init namespaces
  mlxsw: spectrum_router: Fix handling of neighbour structure
  qed: Correct rdma params configuration
  qed: configure ll2 RoCE v1/v2 flavor correctly
  ipv4: update comment to document GSO fragmentation cases.
  ALSA: hda - add a new condition to check if it is thinkpad
  net: tcp response should set oif only if it is L3 master
  Net Driver: Add Cypress GX3 VID=04b4 PID=3610.
  rtnl: reset calcit fptr in rtnl_unregister()
  vxlan: hide unused local variable
  ibmvnic: Start completion queue negotiation at server-provided optimum values
  net: icmp_route_lookup should use rt dev to determine L3 domain
  net: qcom/emac: enable flow control if requested
  net: qcom/emac: configure the external phy to allow pause frames
  ARM: omap3: Add missing memory node in SOM-LV
  kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL
  x86/kexec: add -fno-PIE
  scripts/has-stack-protector: add -fno-PIE
  x86/cpu: Deal with broken firmware (VMWare/XEN)
  net: bgmac: fix reversed checks for clock control flag
  bna: Add synchronization for tx ring.
  Revert "net/mlx4_en: Fix panic during reboot"
  net-ipv6: on device mtu change do not add mtu to mtu-less routes
  sock: fix sendmmsg for partial sendmsg
  driver: macvlan: Destroy new macvlan port if macvlan_common_newlink failed.
  x86/cpu/AMD: Fix cpu_llc_id for AMD Fam17h systems
  perf hists: Fix column length on --hierarchy
  perf hists browser: Fix column indentation on --hierarchy
  perf hists browser: Show folded sign properly on --hierarchy
  perf hists browser: Fix indentation of folded sign on --hierarchy
  perf hist browser: Fix hierarchy column counts
  arm64: dts: marvell: add unique identifiers for Armada A8k SPI controllers
  arm64: dts: marvell: fix clocksource for CP110 slave SPI0
  arm64: dts: marvell: Fix typo in label name on Armada 37xx
  drm/fsl-dcu: disable planes before disabling CRTC
  drm/fsl-dcu: update all registers on flush
  drm/fsl-dcu: do not update when modifying irq registers
  netfilter: nf_tables: fix oops when inserting an element into a verdict map
  netfilter: conntrack: refine gc worker heuristics
  netfilter: conntrack: fix CT target for UNSPEC helpers
  netfilter: connmark: ignore skbs with magic untracked conntrack objects
  ipvs: use IPVS_CMD_ATTR_MAX for family.maxattr
  kbuild: add -fno-PIE
  genirq: Use irq type from irqdata instead of irqdesc
  gpio: pca953x: Move memcpy into mutex lock for set multiple
  gpio: pca953x: Fix corruption of other gpios in set_multiple.
  fib_trie: Correct /proc/net/route off by one error
  Documentation: networking: dsa: Update tagging protocols
  virtio-net: drop legacy features in virtio 1 mode
  net: icmp6_send should use dst dev to determine L3 domain
  ASoC: omap-abe-twl6040: fix typo in bindings documentation
  dts: omap5: board-common: enable twl6040 headset jack detection
  dts: omap5: board-common: add phandle to reference Palmas gpadc
  ARM: OMAP2+: avoid NULL pointer dereference
  ARM: OMAP2+: PRM: initialize en_uart4_mask and grpsel_uart4_mask
  ARM: dts: omap3: Fix memory node in Torpedo board
  ARM: AM43XX: Select OMAP_INTERCONNECT in Kconfig
  ARM: OMAP3: Fix formatting of features printed
  bpf: fix map not being uncharged during map creation failure
  bpf: fix htab map destruction when extra reserve is in use
  sctp: assign assoc_id earlier in __sctp_connect
  net: hns: fix device reference leaks
  net: ethernet: ti: davinci_emac: fix device reference leak
  net: ethernet: ti: cpsw: fix device and of_node leaks
  phy: fix device reference leaks
  drm/sun4i: Propagate error to the caller
  x86/platform/intel-mid: Retrofit pci_platform_pm_ops ->get_state hook
  xtensa: clean up printk usage for boot/crash logging
  ARM: dts: imx53-qsb: Fix regulator constraints
  rtc: omap: prevent disabling of clock/module during suspend
  rtc: omap: Fix selecting external osc
  net/mlx5: Fix invalid pointer reference when prof_sel parameter is invalid
  net/mlx5: E-Switch, Set the actions for offloaded rules properly
  net/mlx5e: Handle matching on vlan priority for offloaded TC rules
  net/mlx5e: Disallow changing name-space for VF representors
  net/mlx5e: Re-arrange XDP SQ/CQ creation
  net/mlx5e: Fix XDP error path of mlx5e_open_channel()
  taskstats: fix the length of cgroupstats_cmd_get_policy
  genetlink: fix a memory leak on error path
  ipv6: dccp: add missing bind_conflict to dccp_ipv6_mapped
  ehea: fix operation state report
  ipv6: dccp: fix out of bound access in dccp_v6_err()
  netlink: netlink_diag_dump() runs without locks
  dccp: fix out of bound access in dccp_v4_err()
  dccp: do not send reset to already closed sockets
  dccp: do not release listeners too soon
  tcp: fix return value for partial writes
  ipv4: allow local fragmentation in ip_finish_output_gso()
  net: tcp: check skb is non-NULL for exact match on lookups
  tcp: fix potential memory corruption
  qede: Correctly map aggregation replacement pages
  cxgb4: correct device ID of T6 adapter
  inet: fix sleeping inside inet_wait_for_connect()
  video: ARM CLCD: fix Vexpress regression
  xen-netfront: cast grant table reference first to type int
  ip6_udp_tunnel: remove unused IPCB related codes
  ip6_tunnel: Clear IP6CB in ip6tunnel_xmit()
  MAINTAINERS: Update MELLANOX MLX5 core VPI driver maintainers
  drm/sun4i: Fix error handling
  net: mv643xx_eth: ensure coalesce settings survive read-modify-write
  net/mlx5: Simplify a test
  unix: escape all null bytes in abstract unix domain socket
  net: qcom/emac: use correct value for SGMII_LN_UCDR_SO_GAIN_MODE0
  drivers: net: xgene: fix: Coalescing values for v2 hardware
  drivers: net: xgene: fix: Disable coalescing on v1 hardware
  kbuild: modversions for EXPORT_SYMBOL() for asm
  bgmac: stop clearing DMA receive control register right after it is set
  sctp: hold transport instead of assoc when lookup assoc in rx path
  sctp: return back transport in __sctp_rcv_init_lookup
  sctp: hold transport instead of assoc in sctp_diag
  xen-netfront: do not cast grant table reference to signed short
  can: bcm: fix warning in bcm_connect/proc_register
  can: sja1000: plx_pci: Add support for Moxa CAN devices
  mlxsw: spectrum: Fix incorrect reuse of MID entries
  qede: Fix statistics' strings for Tx/Rx queues
  net: mangle zero checksum in skb_checksum_help()
  net: clear sk_err_soft in sk_clone_lock()
  dctcp: avoid bogus doubling of cwnd after loss
  ipv6: add mtu lock check in __ip6_rt_update_pmtu
  ipv6: Don't use ufo handling on later transformed packets
  netfilter: nft_dup: do not use sreg_dev if the user doesn't specify it
  netfilter: nf_tables: destroy the set if fail to add transaction
  r8152: Fix broken RX checksums.
  netfilter: ip_vs_sync: fix bogus maybe-uninitialized warning
  netfilter: conntrack: avoid excess memory allocation
  netfilter: nf_tables: fix type mismatch with error return from nft_parse_u32_check
  netfilter: nf_conntrack_sip: extend request line validation
  netfilter: nf_tables: fix race when create new element in dynset
  netfilter: nf_tables: fix *leak* when expr clone fail
  netfilter: nft_dynset: fix panic if NFT_SET_HASH is not enabled
  brcmfmac: avoid maybe-uninitialized warning in brcmf_cfg80211_start_ap
  ARM: dts: sun8i: fix the pinmux for UART1
  kbuild: prevent lib-ksyms.o rebuilds
  rtc: cmos: Don't enable interrupts in the middle of the interrupt handler
  iwlwifi: mvm: fix netdetect starting/stopping for unified images
  iwlwifi: pcie: fix SPLC structure parsing
  rtc: cmos: remove all __exit_p annotations
  rtc: asm9260: fix module autoload
  iwlwifi: mvm: wake the wait queue when the RX sync counter is zero
  iwlwifi: mvm: comply with fw_restart mod param on suspend
  iwlwifi: mvm: fix d3_test with unified D0/D3 images
  iwlwifi: mvm: use ssize_t for len in iwl_debugfs_mem_read()
  iwlwifi: pcie: mark command queue lock with separate lockdep class
  drm/mediatek: modify the factor to make the pll_rate set in the 1G-2G range
  drm/mediatek: enhance the HDMI driving current
  drm/mediatek: do mtk_hdmi_send_infoframe after HDMI clock enable
  drm/mediatek: clear IRQ status before enable OVL interrupt
  drm/mediatek: set vblank_disable_allowed to true
  drm/mediatek: fix a typo of OD_CFG to OD_RELAYMODE
  dmaengine: mmp_tdma: add missing select GENERIC_ALLOCATOR in Kconfig
  dmaengine: edma: Fix error return code in edma_alloc_chan_resources()
  fuse: fix root dentry initialization
  drm/sun4i: rgb: Remove the bridge enable/disable functions
  drm/sun4i: rgb: Enable panel after controller

Change-Id: I1fab8716aff3b316b38add803837e6bb49fa8422
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2016-11-20 15:03:58 -08:00
Martin KaFai Lau
4e3264d21b bpf: Fix bpf_redirect to an ipip/ip6tnl dev
If the bpf program calls bpf_redirect(dev, 0) and dev is
an ipip/ip6tnl, it currently includes the mac header.
e.g. If dev is ipip, the end result is IP-EthHdr-IP instead
of IP-IP.

The fix is to pull the mac header.  At ingress, skb_postpull_rcsum()
is not needed because the ethhdr should have been pulled once already
and then got pushed back just before calling the bpf_prog.
At egress, this patch calls skb_postpull_rcsum().

If bpf_redirect(dev, BPF_F_INGRESS) is called,
it also fails now because it calls dev_forward_skb() which
eventually calls eth_type_trans(skb, dev).  The eth_type_trans()
will set skb->type = PACKET_OTHERHOST because the mac address
does not match the redirecting dev->dev_addr.  The PACKET_OTHERHOST
will eventually cause the ip_rcv() errors out.  To fix this,
____dev_forward_skb() is added.

Joint work with Daniel Borkmann.

Fixes: cfc7381b30 ("ip_tunnel: add collect_md mode to IPIP tunnel")
Fixes: 8d79266bc4 ("ip6_tunnel: add collect_md mode to IPv6 tunnels")
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@fb.com>
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-11-12 23:38:07 -05:00
Channagoud Kadabi
dd5e9ddd9c Merge remote-tracking branch 'origin/tmp-bc33b0c' into 4.8
* origin/tmp-bc33b0c:
  Linux 4.9-rc4
  PCI: designware: Check for iATU unroll support after initializing host
  i2c: core: fix NULL pointer dereference under race condition
  MIPS: Fix max_low_pfn with disabled highmem
  MIPS: Correct MIPS I FP sigcontext layout
  MIPS: Fix ISA I/II FP signal context offsets
  MIPS: Remove FIR from ISA I FP signal context
  MIPS: Fix ISA I FP sigcontext access violation handling
  MIPS: Fix FCSR Cause bit handling for correct SIGFPE issue
  MIPS: ptrace: Also initialize the FP context on individual FCSR writes
  MIPS: dump_tlb: Fix printk continuations
  MIPS: Fix __show_regs() output
  MIPS: traps: Fix output of show_code
  MIPS: traps: Fix output of show_stacktrace
  MIPS: traps: Fix output of show_backtrace
  MIPS: Fix build of compressed image
  MIPS: generic: Fix KASLR for generic kernel.
  MIPS: KASLR: Fix handling of NULL FDT
  MIPS: Malta: Fixup reboot
  MIPS: CPC: Provide default mips_cpc_default_phys_base to ignore CPC
  firewire: net: fix fragmented datagram_size off-by-one
  firewire: net: guard against rx buffer overflows
  sched/core: Remove pointless printout in sched_show_task()
  sched/core: Fix oops in sched_show_task()
  virtio-gpu: fix vblank events
  parisc: Ignore the pkey system calls for now
  parisc: Use LINUX_GATEWAY_ADDR define instead of hardcoded value
  parisc: Ensure consistent state when switching to kernel stack at syscall entry
  parisc: Avoid trashing sr2 and sr3 in LWS code
  parisc: use KERN_CONT when printing device inventory
  kvm: x86: Check memopp before dereference (CVE-2016-8630)
  kvm: nVMX: VMCLEAR an active shadow VMCS after last use
  KVM: x86: drop TSC offsetting kvm_x86_ops to fix KVM_GET/SET_CLOCK
  nfsd: Fix general protection fault in release_lock_stateid()
  svcrdma: backchannel cannot share a page for send and rcv buffers
  gpio/mvebu: Use irq_domain_add_linear
  fork: Add task stack refcounting sanity check and prevent premature task stack freeing
  drm/nouveau/acpi: fix check for power resources support
  gpio: of: fix GPIO drivers with multiple gpio_chip for a single node
  gpio: GPIO_GET_LINE{HANDLE,EVENT}_IOCTL: Fix file descriptor leak
  latent_entropy: Fix wrong gcc code generation with 64 bit variables
  gcc-plugins: Export symbols needed by gcc
  tpm: remove invalid min length check from tpm_do_selftest()
  ovl: fsync after copy-up
  ovl: fix get_acl() on tmpfs
  ovl: update S_ISGID when setting posix ACLs
  virtio_ring: mark vring_dma_dev inline
  virtio/vhost: add Jason to list of maintainers
  virtio_blk: Delete an unnecessary initialisation in init_vq()
  virtio_blk: Use kmalloc_array() in init_vq()
  virtio: remove config.c
  virtio: console: Unlock vqs while freeing buffers
  ringtest: poll for new buffers once before updating event index
  ringtest: commonize implementation of poll_avail/poll_used
  ringtest: use link-time optimization
  virtio: update balloon size in balloon "probe"
  virtio_ring: Make interrupt suppression spec compliant
  virtio_pci: Limit DMA mask to 44 bits for legacy virtio devices
  geneve: avoid using stale geneve socket.
  vxlan: avoid using stale vxlan socket.
  qede: Fix out-of-bound fastpath memory access
  net: phy: dp83848: add dp83822 PHY support
  enic: fix rq disable
  tipc: fix broadcast link synchronization problem
  ibmvnic: Fix missing brackets in init_sub_crq_irqs
  ibmvnic: Fix releasing of sub-CRQ IRQs in interrupt context
  Revert "ibmvnic: Fix releasing of sub-CRQ IRQs in interrupt context"
  arch/powerpc: Update parameters for csum_tcpudp_magic & csum_tcpudp_nofold
  net/mlx4_en: Save slave ethtool stats command
  net/mlx4_en: Fix potential deadlock in port statistics flow
  net/mlx4: Fix firmware command timeout during interrupt test
  net/mlx4_core: Do not access comm channel if it has not yet been initialized
  net/mlx4_en: Fix panic during reboot
  net/mlx4_en: Process all completions in RX rings after port goes up
  net/mlx4_en: Resolve dividing by zero in 32-bit system
  net/mlx4_core: Change the default value of enable_qos
  net/mlx4_core: Avoid setting ports to auto when only one port type is supported
  net/mlx4_core: Fix the resource-type enum in res tracker to conform to FW spec
  rds: debug messages are enabled by default
  ibmvnic: Fix releasing of sub-CRQ IRQs in interrupt context
  net: mv643xx_eth: Fetch the phy connection type from DT
  Revert "hv_netvsc: report vmbus name in ethtool"
  packet: on direct_xmit, limit tso and csum to supported devices
  net_sched actions: use nla_parse_nested()
  cxgb4: Fix error handling in alloc_uld_rxqs().
  IB/mlx4: avoid a -Wmaybe-uninitialize warning
  spi: dspi: clear SPI_SR before enable interrupt
  ip6_tunnel: Update skb->protocol to ETH_P_IPV6 in ip6_tnl_xmit()
  bpf: fix samples to add fake KBUILD_MODNAME
  inet: Fix missing return value in inet6_hash
  net/mlx5: Avoid passing dma address 0 to firmware
  net/mlx5: PCI error recovery health care simulation
  net/mlx5: Fix race between PCI error handlers and health work
  net/mlx5: Clear health sick bit when starting health poll
  net/mlx5: Change the acl enable prototype to return status
  net/mlx5e: Unregister netdev before detaching it
  net/mlx5e: Choose best nearest LRO timeout
  net/mlx5: Correctly initialize last use of flow counters
  net/mlx5: Fix autogroups groups num not decreasing
  net/mlx5: Keep autogroups list ordered
  net/mlx5: Always Query HCA caps after setting them
  {net, ib}/mlx5: Make cache line size determination at runtime.
  sctp: validate chunk len before actually using it
  md: be careful not lot leak internal curr_resync value into metadata. -- (all)
  raid1: handle read error also in readonly mode
  raid5-cache: correct condition for empty metadata write
  sunrpc: fix some missing rq_rbuffer assignments
  mlxsw: spectrum_router: Compare only trees which are in use during tree get
  mlxsw: spectrum_router: Save requested prefix bitlist when creating tree
  regulator: core: silence warning: "VDD1: ramp_delay not set"
  regmap: Rename ret variable in regmap_read_poll_timeout
  drm/i915: Fix SKL+ 90/270 degree rotated plane coordinate computation
  drm/i915: Remove two invalid warns
  drm/i915: Rotated view does not need a fence
  drm/i915/fbc: fix CFB size calculation for gen8+
  drm: i915: Wait for fences on new fb, not old
  drm/i915: Clean up DDI DDC/AUX CH sanitation
  drm/i915: Respect alternate_aux_channel for all DDI ports
  drm/i915/gen9: fix watermarks when using the pipe scaler
  drm/i915: Fix mismatched INIT power domain disabling during suspend
  drm/i915: fix a read size argument
  drm/i915: Use fence_write() from rpm resume
  drm/i915/gen9: fix DDB partitioning for multi-screen cases
  drm/i915: workaround sparse warning on variable length arrays
  drm/i915: keep declarations in i915_drv.h
  KVM: x86: fix wbinvd_dirty_mask use-after-free
  mtd: mtk: avoid warning in mtk_ecc_encode
  mtd: nand: Fix data interface configuration logic
  mtd: nand: gpmi: disable the clocks on errors
  i40e: fix call of ndo_dflt_bridge_getlink()
  net sched filters: fix notification of filter delete with proper handle
  i40e: disable MSI-X interrupts if we cannot reserve enough vectors
  i40e: Fix configure TCs after initial DCB disable
  ixgbe: fix panic when using macvlan with l2-fwd-offload enabled
  net: bgmac: fix spelling mistake: "connecton" -> "connection"
  flow_dissector: fix vlan tag handling
  net: ipv6: Do not consider link state for nexthop validation
  net: ipv6: Fix processing of RAs in presence of VRF
  kalmia: avoid potential uninitialized variable use
  MAINTAINERS: add more people to the MTD maintainer team
  macsec: Fix header length if SCI is added if explicitly disabled
  MAINTAINERS: add a maintainer for the SPI NOR subsystem
  at803x: double check SGMII side autoneg
  Revert "at803x: fix suspend/resume for SGMII link"
  kvm/x86: Show WRMSR data is in hex
  drm/amd/powerplay: fix bug get wrong evv voltage of Polaris.
  drm/amdgpu/si_dpm: workaround for SI kickers
  sparc64: Handle extremely large kernel TLB range flushes more gracefully.
  kvm: nVMX: Fix kernel panics induced by illegal INVEPT/INVVPID types
  KVM: document lock orders
  mmc: sdhci-msm: Fix error return code in sdhci_msm_probe()
  MAINTAINERS: Update qlogic networking drivers
  netvsc: fix incorrect receive checksum offloading
  scsi: arcmsr: Send SYNCHRONIZE_CACHE command to firmware
  scsi: scsi_debug: Fix memory leak if LBP enabled and module is unloaded
  udp: fix IP_CHECKSUM handling
  sctp: fix the panic caused by route update
  doc: update docbook annotations for socket and skb
  rocker: fix error return code in rocker_world_check_init()
  sunrpc: don't pass on-stack memory to sg_set_buf
  vfio/pci: Fix integer overflows, bitmask check
  PCI: qcom: Fix pp->dev usage before assignment
  drm/radeon/si_dpm: workaround for SI kickers
  drm/amdgpu: fix s3 resume back, uvd dpm randomly can't disable.
  sparc64: Fix illegal relative branches in hypervisor patched TLB cross-call code.
  sparc64: Fix instruction count in comment for __hypervisor_flush_tlb_pending.
  drm/dp/mst: Check peer device type before attempting EDID read
  drm/dp/mst: Clear port->pdt when tearing down the i2c adapter
  drm/fb-helper: Keep references for the current set of used connectors
  drm: Don't force all planes to be added to the state due to zpos
  drm/fb-helper: Fix connector ref leak on error
  KVM: fix OOPS on flush_work
  KVM: s390: Fix STHYI buffer alignment for diag224
  KVM: MIPS: Precalculate MMIO load resume PC
  KVM: MIPS: Make ERET handle ERL before EXL
  KVM: MIPS: Fix lazy user ASID regenerate for SMP
  spi: fsl-espi: avoid processing uninitalized data on error
  drm/fb-helper: Don't call dirty callback for untouched clips
  drm: Release reference from blob lookup after replacing property
  mac80211: fix some sphinx warnings
  cfg80211: process events caused by suspend before suspending
  sparc64: Handle extremely large kernel TSB range flushes sanely.
  sparc: Handle negative offsets in arch_jump_label_transform
  sparc64: Fix illegal relative branches in hypervisor patched TLB code.
  drm/radeon: drop register readback in cayman_cp_int_cntl_setup
  drm/amdgpu/vce3: only enable 3 rings on new enough firmware (v2)
  mmc: dw_mmc-pltfm: fix the potential NULL pointer dereference
  sparc64: Delete now unused user copy fixup functions.
  sparc64: Delete now unused user copy assembler helpers.
  sparc64: Convert U3copy_{from,to}_user to accurate exception reporting.
  sparc64: Convert NG2copy_{from,to}_user to accurate exception reporting.
  sparc64: Convert NGcopy_{from,to}_user to accurate exception reporting.
  sparc64: Convert NG4copy_{from,to}_user to accurate exception reporting.
  scsi: megaraid_sas: Fix data integrity failure for JBOD (passthrough) devices
  Input: psmouse - cleanup Focaltech code
  md: report 'write_pending' state when array in sync
  md/raid5: write an empty meta-block when creating log super-block
  md/raid5: initialize next_checkpoint field before use
  RAID10: ignore discard error
  RAID1: ignore discard error
  drm/amdgpu: fix fence slab teardown
  drm/amdgpu: update kernel-doc for some functions
  drm/amdgpu: fix a vm_flush fence leak
  drm/amdgpu: fix sched fence slab teardown
  Revert "drm/radeon: fix DP link training issue with second 4K monitor"
  drm/amdgpu/dpm: flush any thermal work on fini
  drm/amdgpu: cancel reset work on fini
  nfsd: move blocked lock handling under a dedicated spinlock
  sparc64: Convert U1copy_{from,to}_user to accurate exception reporting.
  sparc64: Convert GENcopy_{from,to}_user to accurate exception reporting.
  sparc64: Convert copy_in_user to accurate exception reporting.
  sparc64: Prepare to move to more saner user copy exception handling.
  sparc64: Delete __ret_efault.
  sparc32: Fix old style declaration GCC warnings
  sparc64: Fix old style declaration GCC warnings
  sparc64: Setup a scheduling domain for highest level cache.
  spi: mark device nodes only in case of successful instantiation
  btrfs: fix WARNING in btrfs_select_ref_head()
  Btrfs: remove some no-op casts
  btrfs: pass correct args to btrfs_async_run_delayed_refs()
  btrfs: make file clone aware of fatal signals
  btrfs: qgroup: Prevent qgroup->reserved from going subzero
  net: sctp, forbid negative length
  net: fec: Call swap_buffer() prior to IP header alignment
  ipv6: do not increment mac header when it's unset
  bnx2x: Use the correct divisor value for PHC clock readings.
  qede: Fix incorrrect usage of APIs for un-mapping DMA memory
  qed: Zero-out the buffer paased to dcbx_query() API
  qede: Reconfigure rss indirection direction table when rss count is updated
  qed*: Reduce the memory footprint for Rx path
  qede: Loopback implementation should ignore the normal traffic
  qede: Do not allow RSS config for 100G devices
  qede: get_channels() need to populate max tx/rx coalesce values
  ipv4: use the right lock for ping_group_range
  net: dsa: bcm_sf2: Do not rely on kexec_in_progress
  Revert "kexec: Export kexec_in_progress to modules"
  netns: revert "netns: avoid disabling irq for netns id"
  ipv6: fix a potential deadlock in do_ipv6_setsockopt()
  drm/amd/powerplay: don't give up if DPM is already running
  drm/amd/powerplay: fix static checker warning in process_pptables_v1_0.c
  drm/amdgpu: avoid drm error log during S3 on RHEL7.3
  drm/amdgpu: explicitly set pg_flags for ST
  drm/amdgpu/st: move ATC CG golden init from gfx to mc
  drm/amd/amdgpu: expose max engine and memory clock for powerplay enabled case
  drm/amdgpu: move atom scratch register save/restore to common code
  drm/amdgpu: drop atom scratch save/restore in gpu reset
  drm/radeon/si_dpm: Limit clocks on HD86xx part
  drm/amdgpu/powerplay/smu7: fix static checker warning
  batman-adv: fix splat on disabling an interface
  kexec: Export kexec_in_progress to modules
  ipv4: disable BH in set_ping_group_range()
  udp: must lock the socket in udp_disconnect()
  net: dsa: bcm_sf2: Prevent GPHY shutdown for kexec'd kernels
  bpf, test: fix ld_abs + vlan push/pop stress test
  net: add recursion limit to GRO
  ipv6: properly prevent temp_prefered_lft sysctl race
  netfilter: fix nf_queue handling
  netfilter: conntrack: restart gc immediately if GC_MAX_EVICTS is reached
  stmmac: display the descriptors if DES0 = 0
  net/ncsi: Improve HNCDSC AEN handler
  net/ncsi: Choose hot channel as active one if necessary
  net/ncsi: Fix stale link state of inactive channels on failover
  net/ncsi: Avoid if statements in ncsi_suspend_channel()
  net/sched: act_mirred: Use passed lastuse argument
  mlxsw: pci: Fix reset wait for SwitchX2
  mlxsw: switchx2: Fix ethernet port initialization
  mlxsw: spectrum_router: Make mlxsw_sp_router_fib4_del return void and remove warn
  mlxsw: spectrum_router: Use correct tree index for binding
  drm/imx: ipuv3-plane: disable local alpha for planes without alpha channel
  drm/imx: ipuv3-plane: make sure x/y offsets are even in case of chroma subsampling
  Bluetooth: btwilink: Fix probe return value
  stmmac: fix and review the ptp registration.
  Input: i8042 - add XMG C504 to keyboard reset table
  Bluetooth: Fix append max 11 bytes of name to scan rsp data
  netfilter: x_tables: suppress kmemcheck warning
  tcp: do not export sysctl_tcp_low_latency
  rtnetlink: Add rtnexthop offload flag to compare mask
  switchdev: Execute bridge ndos only for bridge ports
  net: core: Correctly iterate over lower adjacency list
  flow_dissector: Check skb for VLAN only if skb specified.
  ARM: wire up new pkey syscalls
  ARM: fix oops when using older ARMv4T CPUs
  qed: Use list_move_tail instead of list_del/list_add_tail
  rocker: fix maybe-uninitialized warning
  net/hyperv: avoid uninitialized variable
  net: bcm63xx: avoid referencing uninitialized variable
  soreuseport: do not export reuseport_add_sock()
  ibmvnic: Update MTU after device initialization
  ibmvnic: Fix GFP_KERNEL allocation in interrupt context
  ibmvnic: Driver Version 1.0.1
  bridge: multicast: restore perm router ports on multicast enable
  netfilter: nf_tables: avoid uninitialized variable warning
  tcp: Remove unused but set variable
  cxgb4: Fix number of queue sets corssing the limit
  ipv4: Remove unused but set variable
  dwc_eth_qos: enable flow control by default
  dwc_eth_qos: do not clear pause flags from phy_device->supported
  net/hsr: Remove unused but set variable
  bnx2: fix locking when netconsole is used
  drm/imx: ipuv3-plane: Access old u/vbo properly in ->atomic_check for YU12/YV12
  drm/imx: drm_dev_alloc() returns error pointers
  drm/imx: ipuv3-plane: Skip setting u/vbo only when we don't need modeset
  drm/imx: ipuv3-plane: Switch EBA buffer only when we don't need modeset
  net: dsa: bcm_sf2: Fix module autoload for OF registration
  net: dsa: b53: Fix module autoload
  net: hisilicon: Fix hns_mdio module autoload for OF registration
  net: qcom/emac: Fix module autoload for OF registration
  net: hns: Fix hns_dsaf module autoload for OF registration
  net: ethernet: nb8800: Fix module autoload
  net: nps_enet: Fix module autoload
  netfilter: nft_range: validate operation netlink attribute
  netfilter: nft_exthdr: fix error handling in nft_exthdr_init()
  netfilter: nf_tables: underflow in nft_parse_u32_check()
  netfilter: nft_hash: add missing NFTA_HASH_OFFSET's nla_policy
  netfilter: xt_ipcomp: add "ip[6]t_ipcomp" module alias name
  netfilter: xt_NFLOG: fix unexpected truncated packet
  netfilter: conntrack: remove obsolete sysctl (nf_conntrack_events_retry_timeout)
  netfilter: nft_dynset: fix element timeout for HZ != 1000
  netfilter: xt_hashlimit: Add missing ULL suffixes for 64-bit constants
  cxgb4: fix memory leak of qe on error exit path
  net: pktgen: remove rcu locking in pktgen_change_name()
  net: Require exact match for TCP socket lookups if dif is l3mdev
  mac80211: move struct aead_req off the stack
  [media] radio-bcm2048: don't ignore errors
  batman-adv: Add BATADV_DBG_TP_METER to BATADV_DBG_ALL
  batman-adv: Modify neigh_list only with rcu-list functions
  Btrfs: kill BUG_ON in do_relocation
  gpu: ipu-v3: Use ERR_CAST instead of ERR_PTR(PTR_ERR())
  drm/imx: hide an unused label
  vmxnet3: avoid assumption about invalid dma_pa in vmxnet3_set_mc()
  stmmac: fix an error code in stmmac_ptp_register()
  net: qcom/emac: disable interrupts before calling phy_disconnect
  r8169: set coherent DMA mask as well as streaming DMA mask
  net: asix: Avoid looping when the device does not respond
  ethtool: silence warning on bit loss
  [media] pctv452e: fix semicolon.cocci warnings
  [media] flexcop-usb: don't use stack for DMA
  [media] stk-webcam: don't use stack for DMA
  [media] s2255drv: don't use stack for DMA
  [media] cpia2_usb: don't use stack for DMA
  [media] digitv: handle error code on RC query
  [media] dw2102: return error if su3000_power_ctrl() fails
  [media] nova-t-usb2: handle error code on RC query
  [media] technisat-usb2: use DMA buffers for I2C transfers
  [media] pctv452e: don't call BUG_ON() on non-fatal error
  [media] pctv452e: don't do DMA on stack
  [media] nova-t-usb2: don't do DMA on stack
  [media] gp8psk: don't go past the buffer size
  [media] gp8psk: don't do DMA on stack
  [media] dtv5100: don't do DMA on stack
  [media] dtt200u: handle USB control message errors
  [media] dtt200u: don't do DMA on stack
  [media] dtt200u-fe: handle errors on USB control messages
  [media] dtt200u-fe: don't do DMA on stack
  [media] dtt200u-fe: don't keep waiting for lock at set_frontend()
  [media] digitv: don't do DMA on stack
  [media] dibusb: handle error code on RC query
  [media] dibusb: don't do DMA on stack
  [media] dib0700_core: don't use stack on I2C reads
  [media] dib0700: be sure that dib0700_ctrl_rd() users can do DMA
  [media] cxusb: don't do DMA on stack
  [media] cinergyT2-fe: don't do DMA on stack
  [media] cinergyT2-fe: cache stats at cinergyt2_fe_read_status()
  [media] cinergyT2-core: handle error code on RC query
  [media] cinergyT2-core: don't do DMA on stack
  [media] af9005: don't do DMA on stack
  net/mlx4_en: fixup xdp tx irq to match rx
  qed: Additional work toward cleaning C=1
  qed*: Fix Kconfig dependencies with INFINIBAND_QEDR
  qed: Fix static checker warning.
  IPv6: fix DESYNC_FACTOR
  IPv6: Drop the temporary address regen_timer
  IB/ipoib: move back IB LL address into the hard header
  Documentation/networking: update git urls to use https over http
  net: wan: slic_ds26522: Allow driver to built if COMPILE_TEST is enabled
  net: wan: slic_ds26522: Export OF module alias information
  net: wan: slic_ds26522: add SPI device ID table to fix module autoload
  ipv6: correctly add local routes when lo goes up
  ip6_tunnel: fix ip6_tnl_lookup
  afs: call->operation_ID sometimes used as __be32 sometimes as u32
  regmap: include <linux/delay.h> from include/linux/regmap.h
  ath6kl: add Dell OEM SDIO I/O for the Venue 8 Pro
  Revert "ath9k_hw: implement temperature compensation support for AR9003+"
  ath10k: cache calibration data when the core is stopped
  rtlwifi: Fix regression caused by commit d86e647688
  rxrpc: Fix checking of error from ip6_route_output()
  rxrpc: Fix checker warning by not passing always-zero value to ERR_PTR()
  afs: unmapping the wrong buffer
  Bluetooth: hci_bcm: Fix autosuspend PM for Lenovo ThinkPad 8
  mac80211: fix CMD_FRAME for AP_VLAN
  mac80211: validate DA/SA during A-MSDU decapsulation
  cfg80211: add ability to check DA/SA in A-MSDU decapsulation
  cfg80211: let ieee80211_amsdu_to_8023s() take only header-less SKB
  mac80211: discard multicast and 4-addr A-MSDUs
  rtl8xxxu: Fix rtl8192eu driver reload issue
  rtl8xxxu: Fix rtl8723bu driver reload issue
  rtl8xxxu: Fix big-endian problem reporting mactime
  rtl8xxxu: Fix memory leak in handling rxdesc16 packets
  wlcore: sdio: drop kfree for memory allocated with devm_kzalloc

Conflicts:
	net/ipv6/route.c

Signed-off-by: Channagoud Kadabi <ckadabi@codeaurora.org>
Change-Id: I217e64cee0157f80c45e63acd3311e138e33b949
2016-11-07 20:12:20 -08:00
Subash Abhinov Kasiviswanathan
80c888a1ab net: Add the get current NAPI context API
Commit 69235aa80090 ("net: Remove the get current NAPI context API")
removed the definition of get_current_napi_context() as rmnet_data
was no longer using it. However, the rmnet_data change to use its
NAPI in multiple contexts was prone to race in hotplug scenarios.

Add back get_current_napi_context() and current_napi to the
softnet_data struct.

CRs-Fixed: 1078373
Change-Id: I7cf1c5e39a5ccbd7a74a096b11efd179a4d0d034
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
2016-11-01 13:46:24 -06:00
Sabrina Dubroca
fcd91dd449 net: add recursion limit to GRO
Currently, GRO can do unlimited recursion through the gro_receive
handlers.  This was fixed for tunneling protocols by limiting tunnel GRO
to one level with encap_mark, but both VLAN and TEB still have this
problem.  Thus, the kernel is vulnerable to a stack overflow, if we
receive a packet composed entirely of VLAN headers.

This patch adds a recursion counter to the GRO layer to prevent stack
overflow.  When a gro_receive function hits the recursion limit, GRO is
aborted for this skb and it is processed normally.  This recursion
counter is put in the GRO CB, but could be turned into a percpu counter
if we run out of space in the CB.

Thanks to Vladimír Beneš <vbenes@redhat.com> for the initial bug report.

Fixes: CVE-2016-7039
Fixes: 9b174d88c2 ("net: Add Transparent Ethernet Bridging GRO support.")
Fixes: 66e5133f19 ("vlan: Add GRO support for non hardware accelerated vlan")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Jiri Benc <jbenc@redhat.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Acked-by: Tom Herbert <tom@herbertland.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-10-20 14:32:22 -04:00
Ido Schimmel
e4961b0768 net: core: Correctly iterate over lower adjacency list
Tamir reported the following trace when processing ARP requests received
via a vlan device on top of a VLAN-aware bridge:

 NMI watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [swapper/1:0]
[...]
 CPU: 1 PID: 0 Comm: swapper/1 Tainted: G        W       4.8.0-rc7 #1
 Hardware name: Mellanox Technologies Ltd. "MSN2100-CB2F"/"SA001017", BIOS 5.6.5 06/07/2016
 task: ffff88017edfea40 task.stack: ffff88017ee10000
 RIP: 0010:[<ffffffff815dcc73>]  [<ffffffff815dcc73>] netdev_all_lower_get_next_rcu+0x33/0x60
[...]
 Call Trace:
  <IRQ>
  [<ffffffffa015de0a>] mlxsw_sp_port_lower_dev_hold+0x5a/0xa0 [mlxsw_spectrum]
  [<ffffffffa016f1b0>] mlxsw_sp_router_netevent_event+0x80/0x150 [mlxsw_spectrum]
  [<ffffffff810ad07a>] notifier_call_chain+0x4a/0x70
  [<ffffffff810ad13a>] atomic_notifier_call_chain+0x1a/0x20
  [<ffffffff815ee77b>] call_netevent_notifiers+0x1b/0x20
  [<ffffffff815f2eb6>] neigh_update+0x306/0x740
  [<ffffffff815f38ce>] neigh_event_ns+0x4e/0xb0
  [<ffffffff8165ea3f>] arp_process+0x66f/0x700
  [<ffffffff8170214c>] ? common_interrupt+0x8c/0x8c
  [<ffffffff8165ec29>] arp_rcv+0x139/0x1d0
  [<ffffffff816e505a>] ? vlan_do_receive+0xda/0x320
  [<ffffffff815e3794>] __netif_receive_skb_core+0x524/0xab0
  [<ffffffff815e6830>] ? dev_queue_xmit+0x10/0x20
  [<ffffffffa06d612d>] ? br_forward_finish+0x3d/0xc0 [bridge]
  [<ffffffffa06e5796>] ? br_handle_vlan+0xf6/0x1b0 [bridge]
  [<ffffffff815e3d38>] __netif_receive_skb+0x18/0x60
  [<ffffffff815e3dc0>] netif_receive_skb_internal+0x40/0xb0
  [<ffffffff815e3e4c>] netif_receive_skb+0x1c/0x70
  [<ffffffffa06d7856>] br_pass_frame_up+0xc6/0x160 [bridge]
  [<ffffffffa06d63d7>] ? deliver_clone+0x37/0x50 [bridge]
  [<ffffffffa06d656c>] ? br_flood+0xcc/0x160 [bridge]
  [<ffffffffa06d7b14>] br_handle_frame_finish+0x224/0x4f0 [bridge]
  [<ffffffffa06d7f94>] br_handle_frame+0x174/0x300 [bridge]
  [<ffffffff815e3599>] __netif_receive_skb_core+0x329/0xab0
  [<ffffffff81374815>] ? find_next_bit+0x15/0x20
  [<ffffffff8135e802>] ? cpumask_next_and+0x32/0x50
  [<ffffffff810c9968>] ? load_balance+0x178/0x9b0
  [<ffffffff815e3d38>] __netif_receive_skb+0x18/0x60
  [<ffffffff815e3dc0>] netif_receive_skb_internal+0x40/0xb0
  [<ffffffff815e3e4c>] netif_receive_skb+0x1c/0x70
  [<ffffffffa01544a1>] mlxsw_sp_rx_listener_func+0x61/0xb0 [mlxsw_spectrum]
  [<ffffffffa005c9f7>] mlxsw_core_skb_receive+0x187/0x200 [mlxsw_core]
  [<ffffffffa007332a>] mlxsw_pci_cq_tasklet+0x63a/0x9b0 [mlxsw_pci]
  [<ffffffff81091986>] tasklet_action+0xf6/0x110
  [<ffffffff81704556>] __do_softirq+0xf6/0x280
  [<ffffffff8109213f>] irq_exit+0xdf/0xf0
  [<ffffffff817042b4>] do_IRQ+0x54/0xd0
  [<ffffffff8170214c>] common_interrupt+0x8c/0x8c

The problem is that netdev_all_lower_get_next_rcu() never advances the
iterator, thereby causing the loop over the lower adjacency list to run
forever.

Fix this by advancing the iterator and avoid the infinite loop.

Fixes: 7ce856aaaf ("mlxsw: spectrum: Add couple of lower device helper functions")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Reported-by: Tamir Winetroub <tamirw@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Acked-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-10-19 10:38:08 -04:00
Pablo Neira Ayuso
f20fbc0717 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Conflicts:
	net/netfilter/core.c
	net/netfilter/nf_tables_netdev.c

Resolve two conflicts before pull request for David's net-next tree:

1) Between c73c248490 ("netfilter: nf_tables_netdev: remove redundant
   ip_hdr assignment") from the net tree and commit ddc8b6027a
   ("netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()").

2) Between e8bffe0cf9 ("net: Add _nf_(un)register_hooks symbols") and
   Aaron Conole's patches to replace list_head with single linked list.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-09-25 23:34:19 +02:00
Aaron Conole
e3b37f11e6 netfilter: replace list_head with single linked list
The netfilter hook list never uses the prev pointer, and so can be trimmed to
be a simple singly-linked list.

In addition to having a more light weight structure for hook traversal,
struct net becomes 5568 bytes (down from 6400) and struct net_device becomes
2176 bytes (down from 2240).

Signed-off-by: Aaron Conole <aconole@bytheb.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-09-25 14:38:48 +02:00
Moshe Shemesh
79aab093a0 net: Update API for VF vlan protocol 802.1ad support
Introduce new rtnl UAPI that exposes a list of vlans per VF, giving
the ability for user-space application to specify it for the VF, as an
option to support 802.1ad.
We adjusted IP Link tool to support this option.

For future use cases, the new UAPI supports multiple vlans. For now we
limit the list size to a single vlan in kernel.
Add IFLA_VF_VLAN_LIST in addition to IFLA_VF_VLAN to keep backward
compatibility with older versions of IP Link tool.

Add a vlan protocol parameter to the ndo_set_vf_vlan callback.
We kept 802.1Q as the drivers' default vlan protocol.
Suitable ip link tool command examples:
  Set vf vlan protocol 802.1ad:
    ip link set eth0 vf 1 vlan 100 proto 802.1ad
  Set vf to VST (802.1Q) mode:
    ip link set eth0 vf 1 vlan 100 proto 802.1Q
  Or by omitting the new parameter
    ip link set eth0 vf 1 vlan 100

Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-24 08:01:26 -04:00
Jakub Kicinski
332ae8e2f6 net: cls_bpf: add hardware offload
This patch adds hardware offload capability to cls_bpf classifier,
similar to what have been done with U32 and flower.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-21 19:50:02 -04:00
Nogah Frankel
2c9d85d4d8 netdevice: Add offload statistics ndo
Add a new ndo to return statistics for offloaded operation.
Since there can be many different offloaded operation with many
stats types, the ndo gets an attribute id by which it knows which
stats are wanted. The ndo also gets a void pointer to be cast according
to the attribute id.

Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Reviewed-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-18 22:33:41 -04:00
David S. Miller
b20b378d49 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts:
	drivers/net/ethernet/mediatek/mtk_eth_soc.c
	drivers/net/ethernet/qlogic/qed/qed_dcbx.c
	drivers/net/phy/Kconfig

All conflicts were cases of overlapping commits.

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-12 15:52:44 -07:00
Mahesh Bandewar
24b27fc4cd bonding: Fix bonding crash
Following few steps will crash kernel -

  (a) Create bonding master
      > modprobe bonding miimon=50
  (b) Create macvlan bridge on eth2
      > ip link add link eth2 dev mvl0 address aa:0:0:0:0:01 \
	   type macvlan
  (c) Now try adding eth2 into the bond
      > echo +eth2 > /sys/class/net/bond0/bonding/slaves
      <crash>

Bonding does lots of things before checking if the device enslaved is
busy or not.

In this case when the notifier call-chain sends notifications, the
bond_netdev_event() assumes that the rx_handler /rx_handler_data is
registered while the bond_enslave() hasn't progressed far enough to
register rx_handler for the new slave.

This patch adds a rx_handler check that can be performed right at the
beginning of the enslave code to avoid getting into this situation.

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-04 11:41:12 -07:00
Roopa Prabhu
d297653dd6 rtnetlink: fdb dump: optimize by saving last interface markers
fdb dumps spanning multiple skb's currently restart from the first
interface again for every skb. This results in unnecessary
iterations on the already visited interfaces and their fdb
entries. In large scale setups, we have seen this to slow
down fdb dumps considerably. On a system with 30k macs we
see fdb dumps spanning across more than 300 skbs.

To fix the problem, this patch replaces the existing single fdb
marker with three markers: netdev hash entries, netdevs and fdb
index to continue where we left off instead of restarting from the
first netdev. This is consistent with link dumps.

In the process of fixing the performance issue, this patch also
re-implements fix done by
commit 472681d57a ("net: ndo_fdb_dump should report -EMSGSIZE to rtnl_fdb_dump")
(with an internal fix from Wilson Kok) in the following ways:
- change ndo_fdb_dump handlers to return error code instead
of the last fdb index
- use cb->args strictly for dump frag markers and not error codes.
This is consistent with other dump functions.

Below results were taken on a system with 1000 netdevs
and 35085 fdb entries:
before patch:
$time bridge fdb show | wc -l
15065

real    1m11.791s
user    0m0.070s
sys 1m8.395s

(existing code does not return all macs)

after patch:
$time bridge fdb show | wc -l
35085

real    0m2.017s
user    0m0.113s
sys 0m1.942s

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Signed-off-by: Wilson Kok <wkok@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-01 16:56:15 -07:00
Ido Schimmel
6bc506b4fb bridge: switchdev: Add forward mark support for stacked devices
switchdev_port_fwd_mark_set() is used to set the 'offload_fwd_mark' of
port netdevs so that packets being flooded by the device won't be
flooded twice.

It works by assigning a unique identifier (the ifindex of the first
bridge port) to bridge ports sharing the same parent ID. This prevents
packets from being flooded twice by the same switch, but will flood
packets through bridge ports belonging to a different switch.

This method is problematic when stacked devices are taken into account,
such as VLANs. In such cases, a physical port netdev can have upper
devices being members in two different bridges, thus requiring two
different 'offload_fwd_mark's to be configured on the port netdev, which
is impossible.

The main problem is that packet and netdev marking is performed at the
physical netdev level, whereas flooding occurs between bridge ports,
which are not necessarily port netdevs.

Instead, packet and netdev marking should really be done in the bridge
driver with the switch driver only telling it which packets it already
forwarded. The bridge driver will mark such packets using the mark
assigned to the ingress bridge port and will prevent the packet from
being forwarded through any bridge port sharing the same mark (i.e.
having the same parent ID).

Remove the current switchdev 'offload_fwd_mark' implementation and
instead implement the proposed method. In addition, make rocker - the
sole user of the mark - use the proposed method.

Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-26 13:13:36 -07:00
David S. Miller
60747ef4d1 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Minor overlapping changes for both merge conflicts.

Resolution work done by Stephen Rothwell was used
as a reference.

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-18 01:17:32 -04:00
Sabrina Dubroca
952fcfd08c net: remove type_check from dev_get_nest_level()
The idea for type_check in dev_get_nest_level() was to count the number
of nested devices of the same type (currently, only macvlan or vlan
devices).
This prevented the false positive lockdep warning on configurations such
as:

eth0 <--- macvlan0 <--- vlan0 <--- macvlan1

However, this doesn't prevent a warning on a configuration such as:

eth0 <--- macvlan0 <--- vlan0
eth1 <--- vlan1 <--- macvlan1

In this case, all the locks end up with a nesting subclass of 1, so
lockdep thinks that there is still a deadlock:

- in the first case we have (macvlan_netdev_addr_lock_key, 1) and then
  take (vlan_netdev_xmit_lock_key, 1)
- in the second case, we have (vlan_netdev_xmit_lock_key, 1) and then
  take (macvlan_netdev_addr_lock_key, 1)

By removing the linktype check in dev_get_nest_level() and always
incrementing the nesting depth, lockdep considers this configuration
valid.

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-13 15:15:54 -07:00
Jiri Kosina
59cc1f61f0 net: sched: convert qdisc linked list to hashtable
Convert the per-device linked list into a hashtable. The primary
motivation for this change is that currently, we're not tracking all the
qdiscs in hierarchy (e.g. excluding default qdiscs), as the lookup
performed over the linked list by qdisc_match_from_root() is rather
expensive.

The ultimate goal is to get rid of hidden qdiscs completely, which will
bring much more determinism in user experience.

Reviewed-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-10 17:19:02 -07:00
Yotam Gigi
b87f7936a9 net/sched: Add match-all classifier hw offloading.
Following the work that have been done on offloading classifiers like u32
and flower, now the match-all classifier hw offloading is possible. if
the interface supports tc offloading.

To control the offloading, two tc flags have been introduced: skip_sw and
skip_hw. Typical usage:

tc filter add dev eth25 parent ffff: 	\
	matchall skip_sw		\
	action mirred egress mirror	\
	dev eth27

Signed-off-by: Yotam Gigi <yotamg@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-24 23:11:59 -07:00
David S. Miller
de0ba9a0d8 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Just several instances of overlapping changes.

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-24 00:53:32 -04:00
Brenden Blanco
a7862b4584 net: add ndo to setup/query xdp prog in adapter rx
Add one new netdev op for drivers implementing the BPF_PROG_TYPE_XDP
filter. The single op is used for both setup/query of the xdp program,
modelled after ndo_setup_tc.

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-19 21:46:31 -07:00