218 Commits

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

Change-Id: I8e7abd3cefdf0f9d9c1fa5b63a0abf243fe7c7d1
Signed-off-by: Robin Peng <robinpeng@google.com>
2019-07-26 21:29:11 +08:00
Lars-Peter Clausen
0ce6473c39 iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion
[ Upstream commit df1d80aee963480c5c2938c64ec0ac3e4a0df2e0 ]

For devices from the SigmaDelta family we need to keep CS low when doing a
conversion, since the device will use the MISO line as a interrupt to
indicate that the conversion is complete.

This is why the driver locks the SPI bus and when the SPI bus is locked
keeps as long as a conversion is going on. The current implementation gets
one small detail wrong though. CS is only de-asserted after the SPI bus is
unlocked. This means it is possible for a different SPI device on the same
bus to send a message which would be wrongfully be addressed to the
SigmaDelta device as well. Make sure that the last SPI transfer that is
done while holding the SPI bus lock de-asserts the CS signal.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <Alexandru.Ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:48:27 -07: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
Phil Reid
f11f358460 iio: buffer: fix the function signature to match implementation
[ Upstream commit 92397a6c38d139d50fabbe9e2dc09b61d53b2377 ]

linux/iio/buffer-dma.h was not updated to when length was changed to
unsigned int.

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

Change-Id: Ib9730f72ffdab0bc8ec86fc9637e11732a441752
Signed-off-by: Petri Gynther <pgynther@google.com>
2018-09-19 11:09:44 -07:00
Martin Kelly
0400b066ea iio:buffer: make length types match kfifo types
commit c043ec1ca5baae63726aae32abbe003192bc6eec upstream.

Currently, we use int for buffer length and bytes_per_datum. However,
kfifo uses unsigned int for length and size_t for element size. We need
to make sure these matches or we will have bugs related to overflow (in
the range between INT_MAX and UINT_MAX for length, for example).

In addition, set_bytes_per_datum uses size_t while bytes_per_datum is an
int, which would cause bugs for large values of bytes_per_datum.

Change buffer length to use unsigned int and bytes_per_datum to use
size_t.

Signed-off-by: Martin Kelly <mkelly@xevo.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
[bwh: Backported to 4.9:
 - Drop change to iio_dma_buffer_set_length()
 - Adjust filename, context]
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-03 11:23:11 +02:00
Kyle Yan
1bca48ef39 Merge remote-tracking branch '4.9/tmp-05a906d' into msm-4.9
* 4.9/tmp-05a906d:
  Linux 4.9.56
  Revert "socket, bpf: fix possible use after free"
  Linux 4.9.55
  KVM: x86: fix singlestepping over syscall
  f2fs: don't allow encrypted operations without keys
  ext4: don't allow encrypted operations without keys
  ext4: Don't clear SGID when inheriting ACLs
  ext4: fix data corruption for mmap writes
  vfs: deny copy_file_range() for non regular files
  sched/cpuset/pm: Fix cpuset vs. suspend-resume bugs
  mmc: core: add driver strength selection when selecting hs400es
  nvme-pci: Use PCI bus address for data/queues in CMB
  drm/i915/bios: ignore HDMI on port A
  brcmfmac: setup passive scan if requested by user-space
  brcmfmac: add length check in brcmf_cfg80211_escan_handler()
  scsi: sd: Do not override max_sectors_kb sysfs setting
  iwlwifi: add workaround to disable wide channels in 5GHz
  iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD
  netlink: fix nla_put_{u8,u16,u32} for KASAN
  rocker: fix rocker_tlv_put_* functions for KASAN
  HID: wacom: bits shifted too much for 9th and 10th buttons
  HID: wacom: Always increment hdev refcount within wacom_get_hdev_data
  HID: wacom: leds: Don't try to control the EKR's read-only LEDs
  HID: i2c-hid: allocate hid buffers for real worst case
  ftrace: Fix kmemleak in unregister_ftrace_graph
  stm class: Fix a use-after-free
  Drivers: hv: fcopy: restore correct transfer length
  driver core: platform: Don't read past the end of "driver_override" buffer
  percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
  powerpc/tm: Fix illegal TM state in signal handler
  powerpc/64s: Use emergency stack for kernel TM Bad Thing program checks
  socket, bpf: fix possible use after free
  net: rtnetlink: fix info leak in RTM_GETSTATS call
  tipc: use only positive error codes in messages
  ip6_tunnel: update mtu properly for ARPHRD_ETHER tunnel device in tx path
  ip6_gre: ip6gre_tap device should keep dst
  netlink: do not proceed if dump's start() errs
  net: Set sk_prot_creator when cloning sockets to the right proto
  packet: only test po->has_vnet_hdr once in packet_snd
  packet: in packet_do_bind, test fanout with bind_lock held
  net: dsa: Fix network device registration order
  tun: bail out from tun_get_user() if the skb is empty
  l2tp: fix race condition in l2tp_tunnel_delete
  l2tp: Avoid schedule while atomic in exit_net
  vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit
  net: qcom/emac: specify the correct size when mapping a DMA buffer
  net_sched: always reset qdisc backlog in qdisc_reset()
  isdn/i4l: fetch the ppp_write buffer in one shot
  bpf: one perf event close won't free bpf program attached by another perf event
  packet: hold bind lock when rebinding to fanout hook
  net: emac: Fix napi poll list corruption
  tcp: fastopen: fix on syn-data transmit failure
  net/sched: cls_matchall: fix crash when used with classful qdisc
  ip6_tunnel: do not allow loading ip6_tunnel if ipv6 is disabled in cmdline
  net: phy: Fix mask value write on gmii2rgmii converter speed register
  ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header
  udpv6: Fix the checksum computation when HW checksum does not apply
  tcp: fix data delivery rate
  bpf/verifier: reject BPF_ALU64|BPF_END
  tcp: update skb->skb_mstamp more carefully
  sctp: potential read out of bounds in sctp_ulpevent_type_enabled()
  net: sched: fix use-after-free in tcf_action_destroy and tcf_del_walker
  mlxsw: spectrum: Prevent mirred-related crash on removal
  ALSA: usx2y: Suppress kernel warning at page allocation failures
  Revert "ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members"
  ALSA: compress: Remove unused variable
  lsm: fix smack_inode_removexattr and xattr_getsecurity memleak
  lib/ratelimit.c: use deferred printk() version
  mm, oom_reaper: skip mm structs with mmu notifiers
  staging: vchiq_2835_arm: Fix NULL ptr dereference in free_pagelist
  uwb: ensure that endpoint is interrupt
  uwb: properly check kthread_run return value
  iio: adc: mcp320x: Fix oops on module unload
  iio: adc: mcp320x: Fix readout of negative voltages
  iio: ad7793: Fix the serial interface reset
  IIO: BME280: Updates to Humidity readings need ctrl_reg write!
  iio: core: Return error for failed read_reg
  staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack.
  iio: ad_sigma_delta: Implement a dedicated reset function
  iio: adc: twl4030: Disable the vusb3v1 rugulator in the error handling path of 'twl4030_madc_probe()'
  iio: adc: twl4030: Fix an error handling path in 'twl4030_madc_probe()'
  Revert "xhci: Limit USB2 port wake support for AMD Promontory hosts"
  xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor
  xhci: Fix sleeping with spin_lock_irq() held in ASmedia 1042A workaround
  xhci: fix finding correct bus_state structure for USB 3.1 hosts
  USB: fix out-of-bounds in usb_set_configuration
  usb: Increase quirk delay for USB devices
  USB: core: harden cdc_parse_cdc_header
  USB: uas: fix bug in handling of alternate settings
  USB: g_mass_storage: Fix deadlock when driver is unbound
  usb: gadget: mass_storage: set msg_registered after msg registered
  USB: devio: Don't corrupt user memory
  USB: dummy-hcd: Fix erroneous synchronization change
  USB: dummy-hcd: fix infinite-loop resubmission bug
  USB: dummy-hcd: fix connection failures (wrong speed)
  USB: cdc-wdm: ignore -EPIPE from GetEncapsulatedResponse
  usb: pci-quirks.c: Corrected timeout values used in handshake
  ALSA: usb-audio: Check out-of-bounds access by corrupted buffer descriptor
  usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction
  usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe
  usb-storage: fix bogus hardware error messages for ATA pass-thru devices
  usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives
  usb: gadget: udc: renesas_usb3: Fix return value of usb3_write_pipe()
  usb: gadget: udc: renesas_usb3: fix Pn_RAMMAP.Pn_MPKT value
  usb: gadget: udc: renesas_usb3: fix for no-data control transfer
  usb: gadget: udc: atmel: set vbus irqflags explicitly
  USB: gadgetfs: fix copy_to_user while holding spinlock
  USB: gadgetfs: Fix crash caused by inadequate synchronization
  Linux 4.9.54
  s390/mm: make pmdp_invalidate() do invalidation only
  ttpci: address stringop overflow warning
  ALSA: au88x0: avoid theoretical uninitialized access
  ASoC: rt5660: remove double const
  ASoC: rt5659: drop double const
  ASoC: rt5514: fix gcc-7 warning
  ARM: remove duplicate 'const' annotations'
  IB/qib: fix false-postive maybe-uninitialized warning
  tools/power turbostat: bugfix: GFXMHz column not changing
  ARM: dts: BCM5301X: Fix memory start address
  libata: transport: Remove circular dependency at free time
  ASoC: wm_adsp: Return an error on write to a disabled volatile control
  xfs: remove kmem_zalloc_greedy
  i2c: meson: fix wrong variable usage in meson_i2c_put_data
  netfilter: nf_tables: set pktinfo->thoff at AH header if found
  md/raid10: submit bio directly to replacement disk
  rds: ib: add error handle
  mm/cgroup: avoid panic when init with low memory
  iommu/io-pgtable-arm: Check for leaf entry before dereferencing it
  x86/acpi: Restore the order of CPU IDs
  cpufreq: intel_pstate: Update pid_params.sample_rate_ns in pid_param_set()
  ibmvnic: Free tx/rx scrq pointer array when releasing sub-crqs
  nfs: make nfs4_cb_sv_ops static
  parisc: perf: Fix potential NULL pointer dereference
  netfilter: nfnl_cthelper: fix incorrect helper->expect_class_max
  nvme-rdma: handle cpu unplug when re-establishing the controller
  MIPS: smp-cps: Fix retrieval of VPE mask on big endian CPUs
  exynos-gsc: Do not swap cb/cr for semi planar formats
  iommu/exynos: Block SYSMMU while invalidating FLPD cache
  MIPS: IRQ Stack: Unwind IRQ stack onto task stack
  netfilter: invoke synchronize_rcu after set the _hook_ to NULL
  drivers/rapidio/devices/tsi721.c: make module parameter variable name unique
  kasan: do not sanitize kexec purgatory
  hugetlbfs: initialize shared policy as part of inode allocation
  sata_via: Enable hotplug only on VT6421
  Btrfs: fix potential use-after-free for cloned bio
  Btrfs: fix segmentation fault when doing dio read
  bridge: netlink: register netdevice before executing changelink
  mmc: sdio: fix alignment issue in struct sdio_func
  qed: Fix possible system hang in the dcbnl-getdcbx() path.
  net: dsa: b53: Include IMP/CPU port in dumb forwarding mode
  udp: disable inner UDP checksum offloads in IPsec case
  usb: plusb: Add support for PL-27A1
  team: fix memory leaks
  net/packet: check length in getsockopt() called with PACKET_HDRLEN
  net: core: Prevent from dereferencing null pointer when releasing SKB
  lkdtm: Fix Oops when unloading the module
  mips: ath79: clock:- Unmap region obtained by of_iomap
  MIPS: Lantiq: Fix another request_mem_region() return code check
  HID: wacom: release the resources before leaving despite devm
  drm: mali-dp: Fix transposed horizontal/vertical flip
  drm: mali-dp: Fix destination size handling when rotating
  ASoC: dapm: fix some pointer error handling
  rtl8xxxu: Add additional USB IDs for rtl8192eu devices
  usb: chipidea: vbus event may exist before starting gadget
  iommu/arm-smmu: Set privileged attribute to 'default' instead of 'unprivileged'
  spi: pxa2xx: Add support for Intel Gemini Lake
  ath10k: prevent sta pointer rcu violation
  audit: log 32-bit socketcalls
  ASoC: dapm: handle probe deferrals
  partitions/efi: Fix integer overflow in GPT size calculation
  sfc: get PIO buffer size from the NIC
  USB: serial: mos7840: fix control-message error handling
  USB: serial: mos7720: fix control-message error handling
  drm/amdkfd: fix improper return value on error
  arm: dts: mt2701: Add subsystem clock controller device nodes
  IB/ipoib: Replace list_del of the neigh->list with list_del_init
  IB/ipoib: rtnl_unlock can not come after free_netdev
  IB/ipoib: Fix deadlock over vlan_mutex
  serial: 8250_port: Remove dangerous pr_debug()
  tty: goldfish: Fix a parameter of a call to free_irq
  serial: 8250: moxa: Store num_ports in brd
  drm/i915/psr: disable psr2 for resolution greater than 32X20
  ARM: 8635/1: nommu: allow enabling REMAP_VECTORS_TO_RAM
  IB/rxe: Fix a MR reference leak in check_rkey()
  IB/rxe: Add a runtime check in alloc_index()
  iio: adc: hx711: Add DT binding for avia,hx711
  iio: adc: axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications
  iio: adc: imx25-gcq: Fix module autoload
  hwmon: (gl520sm) Fix overflows and crash seen when writing into limit attributes
  usb: make the MTK XHCI driver compile for older MIPS SoCs
  clk/axs10x: Clear init field in driver probe
  sh_eth: use correct name for ECMR_MPDE bit
  reset: ti_syscon: fix a ti_syscon_reset_status issue
  extcon: axp288: Use vbus-valid instead of -present to determine cable presence
  igb: re-assign hw address pointer on reset after PCI error
  ARM: dts: am335x-chilisom: Wakeup from RTC-only state by power on event
  scsi: be2iscsi: Add checks to validate CID alloc/free
  power: supply: axp288_fuel_gauge: Fix fuel_gauge_reg_readb return on error
  MIPS: ralink: Fix incorrect assignment on ralink_soc
  MIPS: ralink: Fix a typo in the pinmux setup.
  MIPS: Ensure bss section ends on a long-aligned address
  ARM: dts: r8a7790: Use R-Car Gen 2 fallback binding for msiof nodes
  RDS: RDMA: Fix the composite message user notification
  clk: sunxi-ng: fix PLL_CPUX adjusting on H3
  ARM: dts: exynos: Add CPU OPPs for Exynos4412 Prime
  drm/i915: Fix the overlay frontbuffer tracking
  GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next
  drm: bridge: add DT bindings for TI ths8135
  drm_fourcc: Fix DRM_FORMAT_MOD_LINEAR #define
  FROMLIST: binder: fix use-after-free in binder_transaction()
  FROMLIST: binder: fix an ret value override
  FROMLIST: binder: fix memory corruption in binder_transaction binder

Conflicts:
	mm/oom_kill.c
	sound/usb/card.c

Change-Id: I8b32fbdaa2be959a4149cf07d0bda16b75eeacbc
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-10-19 12:05:22 -07:00
Dragos Bogdan
1f266a1303 iio: ad_sigma_delta: Implement a dedicated reset function
commit 7fc10de8d49a748c476532c9d8e8fe19e548dd67 upstream.

Since most of the SD ADCs have the option of reseting the serial
interface by sending a number of SCLKs with CS = 0 and DIN = 1,
a dedicated function that can do this is usefull.

Needed for the patch:  iio: ad7793: Fix the serial interface reset
Signed-off-by: Dragos Bogdan <dragos.bogdan@analog.com>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-10-12 11:51:18 +02:00
Kyle Yan
0078bd9a60 Merge remote-tracking branch '4.9/tmp-c96f651' into msm-4.9
* 4.9/tmp-c96f651:
  Linux 4.9.20
  usb: musb: fix possible spinlock deadlock
  sched/rt: Add a missing rescheduling point
  fscrypt: remove broken support for detecting keyring key revocation
  metag/ptrace: Reject partial NT_METAG_RPIPE writes
  metag/ptrace: Provide default TXSTATUS for short NT_PRSTATUS
  metag/ptrace: Preserve previous registers for short regset write
  sparc/ptrace: Preserve previous registers for short regset write
  mips/ptrace: Preserve previous registers for short regset write
  h8300/ptrace: Fix incorrect register transfer count
  c6x/ptrace: Remove useless PTRACE_SETREGSET implementation
  pinctrl: qcom: Don't clear status bit on irq_unmask
  virtio_balloon: init 1st buffer in stats vq
  KVM: x86: cleanup the page tracking SRCU instance
  xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder
  xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window
  xfrm: policy: init locks early
  ANDROID: ARM64: Allow to choose appended kernel image
  Linux 4.9.19
  crypto: algif_hash - avoid zero-sized array
  fbcon: Fix vc attr at deinit
  drm: reference count event->completion
  nl80211: fix dumpit error path RTNL deadlocks
  drm/bridge: analogix dp: Fix runtime PM state on driver bind
  device-dax: fix pmd/pte fault fallback handling
  libceph: don't set weight to IN when OSD is destroyed
  Drivers: hv: vmbus: Don't leak memory when a channel is rescinded
  Drivers: hv: vmbus: Don't leak channel ids
  intel_th: Don't leak module refcount on failure to activate
  jbd2: don't leak memory if setting up journal fails
  auxdisplay: img-ascii-lcd: add missing sentinel entry in img_ascii_lcd_matches
  drm/amdgpu: reinstate oland workaround for sclk
  blk-mq: don't complete un-started request in timeout handler
  cgroup, net_cls: iterate the fds of only the tasks which are being migrated
  cpufreq: Restore policy min/max limits on CPU online
  arm64: kaslr: Fix up the kernel image alignment
  ARM: at91: pm: cpu_idle: switch DDR to power-down mode
  Revert "ARM: at91/dt: sama5d2: Use new compatible for ohci node"
  iommu/vt-d: Fix NULL pointer dereference in device_to_iommu
  xen/acpi: upload PM state from init-domain to Xen
  crypto: ccp - Assign DMA commands to the channel's CCP
  mwifiex: pcie: don't leak DMA buffers when removing
  clk: sunxi-ng: mp: Adjust parent rate for pre-dividers
  clk: sunxi-ng: sun6i: Fix enable bit offset for hdmi-ddc module clock
  hwrng: geode - Revert managed API changes
  hwrng: amd - Revert managed API changes
  mmc: sdhci-pci: Do not disable interrupts in sdhci_intel_set_power
  mmc: sdhci: Do not disable interrupts while waiting for clock
  mmc: sdhci-of-arasan: fix incorrect timeout clock
  mmc: sdhci-of-at91: Support external regulators
  powerpc/64s: Fix idle wakeup potential to clobber registers
  ext4: lock the xattr block before checksuming it
  ext4: mark inode dirty after converting inline directory
  parport: fix attempt to write duplicate procfiles
  iio: magnetometer: ak8974: remove incorrect __exit markups
  iio: hid-sensor-trigger: Change get poll value function order to avoid sensor properties losing after resume from S3
  iio: sw-device: Fix config group initialization
  iio: adc: ti_am335x_adc: fix fifo overrun recovery
  mmc: ushc: fix NULL-deref at probe
  uwb: hwa-rc: fix NULL-deref at probe
  uwb: i1480-dfu: fix NULL-deref at probe
  USB: usbtmc: fix probe error path
  USB: usbtmc: add missing endpoint sanity check
  usb: hub: Fix crash after failure to read BOS descriptor
  usb: musb: cppi41: don't check early-TX-interrupt for Isoch transfer
  USB: wusbcore: fix NULL-deref at probe
  USB: idmouse: fix NULL-deref at probe
  USB: lvtest: fix NULL-deref at probe
  USB: uss720: fix NULL-deref at probe
  usb-core: Add LINEAR_FRAME_INTR_BINTERVAL USB quirk
  usb: gadget: f_uvc: Fix SuperSpeed companion descriptor's wBytesPerInterval
  ACM gadget: fix endianness in notifications
  USB: serial: qcserial: add Dell DW5811e
  USB: serial: option: add Quectel UC15, UC20, EC21, and EC25 modems
  ALSA: hda - Adding a group of pin definition to fix headset problem
  ALSA: ctxfi: Fix the incorrect check of dma_set_mask() call
  ALSA: seq: Fix racy cell insertions during snd_seq_pool_done()
  Input: sur40 - validate number of endpoints before using them
  Input: kbtab - validate number of endpoints before using them
  Input: cm109 - validate number of endpoints before using them
  Input: yealink - validate number of endpoints before using them
  Input: hanwang - validate number of endpoints before using them
  Input: ims-pcu - validate number of endpoints before using them
  Input: iforce - validate number of endpoints before using them
  Input: i8042 - add noloop quirk for Dell Embedded Box PC 3000
  Input: elan_i2c - add ASUS EeeBook X205TA special touchpad fw
  Input: ALPS - fix trackstick button handling on V8 devices
  Input: ALPS - fix V8+ protocol handling (73 03 28)
  tcp: initialize icsk_ack.lrcvtime at session start time
  socket, bpf: fix sk_filter use after free in sk_clone_lock
  ipv4: provide stronger user input validation in nl_fib_input()
  net: bcmgenet: remove bcmgenet_internal_phy_setup()
  ipv6: make sure to initialize sockc.tsflags before first use
  net/mlx5e: Count LRO packets correctly
  net/mlx5e: Count GSO packets correctly
  net/mlx5: Increase number of max QPs in default profile
  net/mlx5e: Use the proper UAPI values when offloading TC vlan actions
  net/mlx5: Add missing entries for set/query rate limit commands
  net: vrf: Reset rt6i_idev in local dst after put
  qmi_wwan: add Dell DW5811e
  net: unix: properly re-increment inflight counter of GC discarded candidates
  openvswitch: Add missing case OVS_TUNNEL_KEY_ATTR_PAD
  amd-xgbe: Fix jumbo MTU processing on newer hardware
  net: properly release sk_frag.page
  net: bcmgenet: Do not suspend PHY if Wake-on-LAN is enabled
  net/openvswitch: Set the ipv6 source tunnel key address attribute correctly

Change-Id: I83a11caf9ef417ddfc78b8ed688d10d8e3c9cb1a
Signed-off-by: Kyle Yan <kyan@codeaurora.org>
2017-04-03 10:20:10 -07:00
Lars-Peter Clausen
cf43d679cc iio: sw-device: Fix config group initialization
commit c42f8218610aa09d7d3795e5810387673c1f84b6 upstream.

Use the IS_ENABLED() helper macro to ensure that the configfs group is
initialized either when configfs is built-in or when configfs is built as a
module. Otherwise software device creation will result in undefined
behaviour when configfs is built as a module since the configfs group for
the device not properly initialized.

Similar to commit b2f0c09664 ("iio: sw-trigger: Fix config group
initialization").

Fixes: 0f3a8c3f34 ("iio: Add support for creating IIO devices via configfs")
Reported-by: Miguel Robles <miguel.robles@farole.net>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Daniel Baluta <daniel.baluta@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-30 09:41:25 +02: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
Nicholas Troast
d5c5b3f3fc iio: support writing processed values to IIO channels
Add a new function to the IIO API which allows consumers to write
processed values to IIO channels.

This is particularly useful for supporting hardware which has
configurable ADC thresholds. A consumer would be able to change an ADC
threshold by providing a processed value instead of calculating a raw
value.

Change-Id: I7d3b22beddb6fd1fda0cc0aefbcb4cf5cb58bf82
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2017-02-09 11:49:32 -08:00
Linus Walleij
96a0c8ee7c iio: accel: st_accel: fix LIS3LV02 reading and scaling
commit 65e4345c8ef8811bbb4860fe5f2df10646b7f2e1 upstream.

The LIS3LV02 has a special bit that need to be set to get the
read values left aligned. Before this patch we get gibberish
like this:

iio_generic_buffer -a -c10 -n lis3lv02dl_accel
(...)
0.000000 -0.010042 -0.642688 19155832931907
0.000000 -0.010042 -0.642688 19155858751073

Which is because we read a raw value for 1g as 64 which is
the nominal 1024 for 1g shifted 4 bits to the left by being
right-aligned rather than left aligned.

Since all other sensors are left aligned, add some code to
set the special DAS (data alignment setting) bit to 1 so that
the right value is now read like this:

iio_generic_buffer -a -c10 -n lis3lv02dl_accel
(...)
0.000000 -0.147095 -10.120135 24761614364956
-0.029419 -0.176514 -10.120135 24761631624540

The scaling was weird as well: we have a gain of 1000 for 1g
and 3000 for 6g. I don't even remember how I came up with the
old values but they are wrong.

Fixes: 3acddf74f8 ("iio: st-sensors: add support for lis3lv02d accelerometer")
Cc: Lorenzo Bianconi <lorenzo.bianconi@st.com>
Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-01-12 11:39:21 +01:00
Greg Kroah-Hartman
552edf8d79 Merge tag 'iio-for-4.9b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next
Jonathan writes:

Second set of iio new device support, features and cleanups for the 4.9 cycle.

New device support
* ad8801 dac
  - new driver supporting ad8801 and ad8803 DACs.
* adc12138
  - new driver supporting TI adc12130/adc12132 and adc12138 ADCs.
* ltc2485 adc
  - new driver
* mxc6255
  - add support for the mxc6225 part name and fixup the ID check so it works.
* vz89x VOC sensor
  - add support for the vz89te part which drops the voc_short channel and adds
    CRCs compared to other supported parts.

New features
* core
  - immutable triggers.  These effectively grant exclusive control over a
    trigger. The typical usecase is a device representing an analog part
    (perhaps a MUX) that needs to control the sampling of a downstream
    ADC.
  - resource managed trigger registration and triggered_buffer_init.
  - iio_push_event now protected against case of the event interface
    registration not having yet occured.  Only matters if an interrupt
    can occur during this window - might happen on shared interrupt lines.
  - helper to let a driver query if the trigger it is using is provided by
    itself (using the convention of both device and trigger having the same
    parent).
* tools
  - iio-utils. Used channel modifier scaling in preference to generic scaling
    when both exist.
* at91-adc
  - Add support for touchscreen switches closure time needed by some newer
    parts.
* stx104
  - support the ADC channels on this ADC/DAC board. As these are the primary
    feature of the board also move the driver to the iio/adc directory.
* sx9500
  - device tree bindings.

Cleanups / Fixes
* ad5755
  - fix an off-by-one on devnr limit check (introduced earlier this cycle)
* ad7266
  - drop NULL check on devm_regulator_get_optional as it can't return NULL.
* ak8974
  - avoid an unused functional warning due to rework in PM core code.
  - remove .owner field setting as done by i2c_core.
* ina2xx
  - clear out a left over debug field from chip global data.
* hid-sensors
  - avoid an unused functional warning due to rework in PM core code.
* maxim-thermocouple
  - fix non static symbol warnings.
* ms5611
  - fetch and enable regulators unconditionally when they aren't optional.
* sca3000
  - whitespace cleanup.
* st_sensors
  - fetch and enable regulators unconditionally rather than having them
    supported as optional regulators (missunderstanding on my part amongst
    others a while back)
  - followup to previous patch fixes error checking on the regulators.
  - mark symbols static where possible.
  - use the 'is it my trigger' help function.  This prevents the odd case
    of another device triggering from the st-sensors trigger whilst the
    st-sensors trigger is itself not using it but rather using say an hrtimer.
* ti-ads1015
  - add missing of_node_put.
* vz89x
  - rework to all support of new devices.
  - prevent reading of a corrupted buffer.
  - fixup a return value of 0/1 in a bool returning function.

Address updates
- Vlad Dogaru email address change.
2016-09-14 20:42:03 +02:00
Linus Walleij
702a7b8e06 iio: trigger: helpers to determine own trigger
This adds a helper function to the IIO trigger framework:

iio_trigger_using_own(): for an IIO device, this tells
  whether the device is using itself as a trigger.
  This is true if the indio device:
  (A) supplies a trigger and
  (B) has assigned its own buffer poll function to use this
      trigger.

This helper function is good when constructing triggered,
buffered drivers that can either use its own hardware *OR*
an external trigger such as a HRTimer or even the trigger from
a totally different sensor.

Under such circumstances it is important to know for example
if the timestamp from the same trigger hardware should be used
when populating the buffer: if iio_trigger_using_own() is true,
we can use this timestamp, else we need to pick a unique
timestamp directly in the trigger handler.

For this to work of course IIO devices registering hardware
triggers must follow the convention to set the parent device
properly, as as well as setting the parent of the IIO device
itself.

When a new poll function is attached, we check if the parent
device of the IIO of the poll function is the same as the
parent device of the trigger and in that case we conclude that
the hardware is using itself as trigger.

Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Cc: Crestez Dan Leonard <leonard.crestez@intel.com>
Cc: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-09-10 16:49:14 +01:00
Greg Kroah-Hartman
9c2edd8b5b Merge 4.8-rc5 into staging-next
We want the staging fixes in here as well to handle merge issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-05 08:13:24 +02:00
Gregor Boirie
70e483487d iio: add resource managed triggered buffer init helpers
Add resource managed devm_iio_triggered_buffer_setup() and
devm_iio_triggered_buffer_cleanup() to automatically clean up triggered
buffers setup by IIO drivers, thus leading to simplified IIO drivers code.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-09-04 15:42:46 +01:00
Gregor Boirie
9083325f11 iio:trigger: add resource managed (un)register
Add resource managed devm_iio_trigger_register() and
devm_iio_triger_unregister() to automatically clean up registered triggers
allocated by IIO drivers, thus leading to simplified IIO drivers code.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-09-04 15:42:37 +01:00
Matt Ranostay
c8cdf70890 iio: trigger: allow immutable triggers to be assigned
There are times when an assigned trigger to a device shouldn't ever
change after intialization.

Examples of this being used is when an provider device has a trigger
that is assigned to an ADC, which uses it populate data into a callback
buffer.

Signed-off-by: Matt Ranostay <matt@ranostay.consulting>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-09-03 15:31:55 +01:00
Matt Ranostay
adca058b56 iio: buffer-callback: allow getting underlying iio_dev
Add iio_channel_cb_get_iio_dev function to allow getting the
underlying iio_dev. This is useful for setting the trigger of the
consumer ADC device.

Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-08-21 11:47:19 +01:00
Lars-Peter Clausen
b2f0c09664 iio: sw-trigger: Fix config group initialization
Use the IS_ENABLED() helper macro to ensure that the configfs group is
initialized either when configfs is built-in or when configfs is built as a
module. Otherwise software trigger creation will result in undefined
behaviour when configfs is built as a mdoule since the configfs group for
the trigger is not properly initialized.

Fixes: b662f809d4 ("iio: core: Introduce IIO software triggers")
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Daniel Baluta <daniel.baluta@intel.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-08-15 15:39:09 +01:00
Linus Walleij
90efe05562 iio: st_sensors: harden interrupt handling
Leonard Crestez observed the following phenomenon: when using
hard interrupt triggers (the DRDY line coming out of an ST
sensor) sometimes a new value would arrive while reading the
previous value, due to latencies in the system.

We discovered that the ST hardware as far as can be observed
is designed for level interrupts: the DRDY line will be held
asserted as long as there are new values coming. The interrupt
handler should be re-entered until we're out of values to
handle from the sensor.

If interrupts were handled as occurring on the edges (usually
low-to-high) new values could appear and the line be held
asserted after that, and these values would be missed, the
interrupt handler would also lock up as new data was
available, but as no new edges occurs on the DRDY signal,
nothing happens: the edge detector only detects edges.

To counter this, do the following:

- Accept interrupt lines to be flagged as level interrupts
  using IRQF_TRIGGER_HIGH and IRQF_TRIGGER_LOW. If the line
  is marked like this (in the device tree node or ACPI
  table or similar) it will be utilized as a level IRQ.
  We mark the line with IRQF_ONESHOT and mask the IRQ
  while processing a sample, then the top half will be
  entered again if new values are available.

- If we are flagged as using edge interrupts with
  IRQF_TRIGGER_RISING or IRQF_TRIGGER_FALLING: remove
  IRQF_ONESHOT so that the interrupt line is not
  masked while running the thread part of the interrupt.
  This way we will never miss an interrupt, then introduce
  a loop that polls the data ready registers repeatedly
  until no new samples are available, then exit the
  interrupt handler. This way we know no new values are
  available when the interrupt handler exits and
  new (edge) interrupts will be triggered when data arrives.
  Take some extra care to update the timestamp in the poll
  loop if this happens. The timestamp will not be 100%
  perfect, but it will at least be closer to the actual
  events. Usually the extra poll loop will handle the new
  samples, but once in a blue moon, we get a new IRQ
  while exiting the loop, before returning from the
  thread IRQ bottom half with IRQ_HANDLED. On these rare
  occasions, the removal of IRQF_ONESHOT means the
  interrupt will immediately fire again.

- If no interrupt type is indicated from the DT/ACPI,
  choose IRQF_TRIGGER_RISING as default, as this is necessary
  for legacy boards.

Tested successfully on the LIS331DL and L3G4200D by setting
sampling frequency to 400Hz/800Hz and stressing the system:
extra reads in the threaded interrupt handler occurs.

Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Tested-by: Crestez Dan Leonard <cdleonard@gmail.com>
Reported-by: Crestez Dan Leonard <cdleonard@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-07-02 20:40:15 +01:00
Gregor Boirie
bc2b7dab62 iio:core: timestamping clock selection support
Adds a new per-device sysfs attribute "current_timestamp_clock" to allow
userspace to select a particular POSIX clock for buffered samples and
events timestamping.

Following clocks, as listed in clock_gettime(2), are supported:
CLOCK_REALTIME, CLOCK_MONOTONIC, CLOCK_MONOTONIC_RAW,
CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE, CLOCK_BOOTTIME and
CLOCK_TAI.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Acked-by: Sanchayan Maity <maitysanchayan@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-06-30 19:41:38 +01:00
Greg Kroah-Hartman
af52739b92 Merge 4.7-rc4 into staging-next
We want the fixes in here, and we can resolve a merge issue in
drivers/iio/industrialio-trigger.c

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-06-20 08:25:44 -07:00
Linus Walleij
65925b65ed iio: st_sensors: switch to a threaded interrupt
commit 98ad8b41f58dff6b30713d7f09ae3834b8df7ded
("iio: st_sensors: verify interrupt event to status") caused
a regression when reading ST sensors from a HRTimer trigger
rather than the intrinsic interrupts: the HRTimer may
trigger faster than the sensor provides new values, and
as the check against new values available as a cause of
the interrupt trigger was done in the poll function,
this would bail out of the HRTimer interrupt with
IRQ_NONE.

So clearly we need to only check the new values available
from the proper interrupt handler and not from the poll
function, which should rather just read the raw values
from the registers, put them into the buffer and be happy.

To achieve this: switch the ST Sensors over to using a true
threaded interrupt handler.

In the interrupt thread, check if new values are available,
else yield to the (potential) next device on the same
interrupt line to check the registers. If the interrupt
was ours, proceed to poll the values.

Instead of relying on iio_trigger_generic_data_rdy_poll() as
a top half to wake up the thread that polls the sensor for
new data, have the thread call iio_trigger_poll_chained()
after determining that is is the proper source of the
interrupt. This is modelled on drivers/iio/accel/mma8452.c
which is already using a properly threaded interrupt handler.

In order to get the same precision in timestamps as
previously, where samples would be timestamped in the
poll function pf->timestamp when calling
iio_trigger_generic_data_rdy_poll() we introduce a
local timestamp in the sensor data, set it in the top half
(fastpath) of the interrupt handler and provide that to the
core when calling iio_push_to_buffers_with_timestamp().

Additionally: if the active scanmask is not set for the
sensor no IRQs should be enabled and we need to bail out
with IRQ_NONE. This can happen if spurious IRQs fire when
installing the threaded interrupt handler.

Tested with hard interrupt triggers on LIS331DL, then also
tested with hrtimers on the same sensor by creating a 75Hz
HRTimer and using it to poll the sensor.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Reported-by: Crestez Dan Leonard <cdleonard@gmail.com>
Tested-by: Crestez Dan Leonard <cdleonard@gmail.com>
Tested-by: Jonathan Cameron <jic23@kernel.org>
Fixes: 97865fe413 ("iio: st_sensors: verify interrupt event to status")
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-05-29 20:21:41 +01:00
Gregor Boirie
14f295c846 iio:st_sensors: fix power regulator usage
Ensure failure to enable power regulators is properly handled.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-05-29 16:08:10 +01:00
Gregor Boirie
dfe3ab1af0 iio:st_sensors: unexport st_sensors_get_buffer_element
Remove st_sensors_get_buffer_element symbol export since not explicitly
used outside of st_sensors driver.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-05-29 16:00:56 +01:00
Daniel Baluta
0f3a8c3f34 iio: Add support for creating IIO devices via configfs
This is similar with support for creating triggers via configfs.
Devices will be hosted under:
	* /config/iio/devices

We allow users to register "device types" under:
	* /config/iio/devices/<device_types>/

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-05-04 11:43:54 +01:00
Gregor Boirie
97eacb9166 iio:ak8975: add mounting matrix support
Expose a rotation matrix to indicate userspace the chip orientation with
respect to the overall hardware system.
Matrix is retrieved from "in_mount_matrix". It is declared into ak8975 DTS
entry as a "mount-matrix" property.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-23 22:14:34 +01:00
Gregor Boirie
dfc57732ad iio:core: mounting matrix support
Expose a rotation matrix to indicate userspace the chip placement with
respect to the overall hardware system. This is needed to adjust
coordinates sampled from a sensor chip when its position deviates from the
main hardware system.

Final coordinates computation is delegated to userspace since:
* computation may involve floating point arithmetics ;
* it allows an application to combine adjustments with arbitrary
  transformations.

This 3 dimentional space rotation matrix is expressed as 3x3 array of
strings to support floating point numbers. It may be retrieved from a
"[<dir>_][<type>_]mount_matrix" sysfs attribute file. It is declared into a
device / driver specific DTS property or platform data.

Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-23 22:13:05 +01:00
Laxman Dewangan
efc2c0133f iio: core: Add devm_ APIs for iio_channel_{get,release}_all
Some of kernel driver uses the IIO framework to get the sensor
value via ADC or IIO HW driver. The client driver get iio channel
by iio_channel_get_all() and release it by calling
iio_channel_release_all().

Add resource managed version (devm_*) of these APIs so that if client
calls the devm_iio_channel_get_all() then it need not to release it
explicitly, it can be done by managed device framework when driver
get un-binded.

This reduces the code in error path and also need of .remove callback in
some cases.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-19 19:58:15 +01:00
Laxman Dewangan
8bf872d8d2 iio: core: Add devm_ APIs for iio_channel_{get,release}
Some of kernel driver uses the IIO framework to get the sensor
value via ADC or IIO HW driver. The client driver get iio channel
by iio_channel_get() and release it by calling iio_channel_release().

Add resource managed version (devm_*) of these APIs so that if client
calls the devm_iio_channel_get() then it need not to release it explicitly,
it can be done by managed device framework when driver get un-binded.

This reduces the code in error path and also need of .remove callback in
some cases.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-19 19:58:14 +01:00
Linus Walleij
0e6f6871a1 iio: st_sensors: support open drain mode
Some types of ST Sensors can be connected to the same IRQ line
as other peripherals using open drain. Add a device tree binding
and a sensor data property to flip the right bit in the interrupt
control register to enable open drain mode on the INT line.

If the line is set to be open drain, also tag on IRQF_SHARED
to the IRQ flags when requesting the interrupt, as the whole
point of using open drain interrupt lines is to share them with
more than one peripheral (wire-or).

Cc: devicetree@vger.kernel.org
Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Acked-by: Rob Herring <rob@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-19 19:58:13 +01:00
Linus Walleij
97865fe413 iio: st_sensors: verify interrupt event to status
This makes all ST sensor drivers check that they actually have
new data available for the requested channel(s) before claiming
an IRQ, by reading the status register (which is conveniently
the same for all ST sensors) and check that the channel has new
data before proceeding to read it and fill the buffer.

This way sensors can share an interrupt line: it can be flaged
as shared and then the sensor that did not fire will return
NO_IRQ, and the sensor that fired will handle the IRQ and
return IRQ_HANDLED.

Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-19 19:58:12 +01:00
Lars-Peter Clausen
af8a41271b iio:adis: Add support for manual self-test flag clear
Some variants of the devices from the ADIS family don't auto-clear the
self-test bit after the self-test has completed. Instead we have to
manually clear. Add support for this to the ADIS library.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-16 13:42:43 +01:00
Luis de Bethencourt
8cb359e3a1 iio: buffer: add missing descriptions in iio_buffer_access_funcs
The members buffer_group and attrs of iio_buffer_access_funcs have no
descriptions for the documentation. Adding them.

Fixes: 08e7e0adaa ("iio: buffer: Allocate standard attributes in the core")
Signed-off-by: Luis de Bethencourt <luisbg@osg.samsung.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-04-03 10:27:49 +01:00
Alison Schofield
08a3380551 iio: core: implement iio_device_{claim|release}_direct_mode()
It is often the case that the driver wants to be sure a device stays
in direct mode while it is executing a task or series of tasks.  To
accomplish this today, the driver performs this sequence: 1) take the
device state lock, 2) verify it is not in a buffered mode, 3) execute
some tasks, and 4) release that lock.

This patch introduces a pair of helper functions that simplify these
steps and make it more semantically expressive.

iio_device_claim_direct_mode()
        If the device is not in any buffered mode it is guaranteed
        to stay that way until iio_release_direct_mode() is called.

iio_device_release_direct_mode()
        Release the claim. Device is no longer guaranteed to stay
        in direct mode.

Signed-off-by: Alison Schofield <amsfield22@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-03-12 11:17:19 +00:00
William Breathitt Gray
3347a0656e iio: Fix typos in the struct iio_event_spec documentation comments
This patch fixes a few minor typos in the documentation comments for the
scan_type member of the iio_event_spec structure. The sign member name
was improperly capitalized as "Sign" in the comments. The storagebits
member name was improperly listed as "storage_bits" in the comments. The
endianness member entry in the comments was moved after the repeat
member entry in order to maintain consistency with the actual struct
iio_event_spec layout.

Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-17 21:11:08 +00:00
Daniel Baluta
0118de7b4c iio: Fix documentation for iio_dev mlock
mlock *must* be used by core and drivers to protect access
to devices state changes.

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-02-08 18:34:32 +00:00
Linus Walleij
a9fd053b56 iio: st_sensors: support active-low interrupts
Most ST MEMS Sensors that support interrupts can also handle sending
an active low interrupt, i.e. going from high to low on data ready
(or other interrupt) and thus triggering on a falling edge to the
interrupt controller.

Set up logic to inspect the interrupt line we get for a sensor: if
it is triggering on rising edge, leave everything alone, but if it
triggers on falling edges, set up active low, and if unsupported
configurations appear: warn with errors and reconfigure the interrupt
to a rising edge, which all interrupt generating sensors support.

Create a local header for st_sensors_core.h to share functions
between the sensor core and the trigger setup code.

Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-01-10 12:35:32 +00:00
Andrew F. Davis
7d2c2acac5 iio: Make IIO value formating function globally available.
Make IIO value formating function globally available to allow IIO drivers
to output values as the core does.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-12-22 17:04:56 +00:00
Jonathan Cameron
8d6c16dd72 iio:configfs: Introduce iio/configfs.h to provide a location for the configfs_subsystem
This exported element needs to be accesible to all drivers using configfs
within IIO.  Previously it was in the sw_trig.h file which only convered one
such usecase.  This also fixes a sparse warning as it is now in a header
that makes sense to include from industrialio-configfs.c

Signed-off-by: Jonathan Cameron < jic23@kernel.org>
2015-12-05 16:25:30 +00:00
Daniel Baluta
b662f809d4 iio: core: Introduce IIO software triggers
A software trigger associates an IIO device trigger with a software
interrupt source (e.g: timer, sysfs). This patch adds the generic
infrastructure for handling software triggers.

Software interrupts sources are kept in a iio_trigger_types_list and
registered separately when the associated kernel module is loaded.

Software triggers can be created directly from drivers or from user
space via configfs interface.

To sum up, this dynamically creates "triggers" group to be found under
/config/iio/triggers and offers the possibility of dynamically
creating trigger types groups. The first supported trigger type is
"hrtimer" found under /config/iio/triggers/hrtimer.

Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-12-03 18:19:27 +00:00
Lars-Peter Clausen
2d6ca60f32 iio: Add a DMAengine framework based buffer
Add a generic fully device independent DMA buffer implementation that uses
the DMAegnine framework to perform the DMA transfers. This can be used by
converter drivers that whish to provide a DMA buffer for converters that
are connected to a DMA core that implements the DMAengine API.

Apart from allocating the buffer using iio_dmaengine_buffer_alloc() and
freeing it using iio_dmaengine_buffer_free() no additional converter driver
specific code is required when using this DMA buffer implementation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-10-25 13:55:32 +00:00
Lars-Peter Clausen
670b19ae9b iio: Add generic DMA buffer infrastructure
The traditional approach used in IIO to implement buffered capture requires
the generation of at least one interrupt per sample. In the interrupt
handler the driver reads the sample from the device and copies it to a
software buffer. This approach has a rather large per sample overhead
associated with it. And while it works fine for samplerates in the range of
up to 1000 samples per second it starts to consume a rather large share of
the available CPU processing time once we go beyond that, this is
especially true on an embedded system with limited processing power. The
regular interrupt also causes increased power consumption by not allowing
the hardware into deeper sleep states, which is something that becomes more
and more important on mobile battery powered devices.

And while the recently added watermark support mitigates some of the issues
by allowing the device to generate interrupts at a rate lower than the data
output rate, this still requires a storage buffer inside the device and
even if it exists it is only a few 100 samples deep at most.

DMA support on the other hand allows to capture multiple millions or even
more samples without any CPU interaction. This allows the CPU to either go
to sleep for longer periods or focus on other tasks which increases overall
system performance and power consumption. In addition to that some devices
might not even offer a way to read the data other than using DMA, which
makes DMA mandatory to use for them.

The tasks involved in implementing a DMA buffer can be divided into two
categories. The first category is memory buffer management (allocation,
mapping, etc.) and hooking this up the IIO buffer callbacks like read(),
enable(), disable(), etc. The second category of tasks is to setup the
DMA hardware and manage the DMA transfers. Tasks from the first category
will be very similar for all IIO drivers supporting DMA buffers, while the
tasks from the second category will be hardware specific.

This patch implements a generic infrastructure that take care of the former
tasks. It provides a set of functions that implement the standard IIO
buffer iio_buffer_access_funcs callbacks. These can either be used as is or
be overloaded and augmented with driver specific code where necessary.

For the DMA buffer support infrastructure that is introduced in this series
sample data is grouped by so called blocks. A block is the basic unit at
which data is exchanged between the application and the hardware. The
application is responsible for allocating the memory associated with the
block and then passes the block to the hardware. When the hardware has
captured the amount of samples equal to size of a block it will notify the
application, which can then read the data from the block and process it.
The block size can freely chosen (within the constraints of the hardware).
This allows to make a trade-off between latency and management overhead.
The larger the block size the lower the per sample overhead but the latency
between when the data was captured and when the application will be able to
access it increases, in a similar way smaller block sizes have a larger per
sample management overhead but a lower latency. The ideal block size thus
depends on system and application requirements.

For the time being the infrastructure only implements a simple double
buffered scheme which allocates two blocks each with half the size of the
configured buffer size. This provides basic support for capturing
continuous uninterrupted data over the existing file-IO ABI. Future
extensions to the DMA buffer infrastructure will give applications a more
fine grained control over how many blocks are allocated and the size of
each block. But this requires userspace ABI additions which are
intentionally not part of this patch and will be added separately.

Tasks of the second category need to be implemented by a device specific
driver. They can be hooked up into the generic infrastructure using two
simple callbacks, submit() and abort().

The submit() callback is used to schedule DMA transfers for blocks. Once a
DMA transfer has been completed it is expected that the buffer driver calls
iio_dma_buffer_block_done() to notify. The abort() callback is used for
stopping all pending and active DMA transfers when the buffer is disabled.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-10-25 13:54:34 +00:00
Lars-Peter Clausen
e18a2ad45c iio: Add buffer enable/disable callbacks
This patch adds a enable and disable callback that is called when the
buffer is enabled/disabled. This can be used by buffer implementations that
need to do some setup or teardown work. E.g. a DMA based buffer can use
this to start/stop the DMA transfer.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-10-25 13:52:31 +00:00
Lars-Peter Clausen
b440655b89 iio: Add support for indicating fixed watermarks
For buffers which have a fixed wake-up watermark the watermark attribute
should be read-only. Add a new FIXED_WATERMARK flag to the
struct iio_buffer_access_funcs, which can be set by a buffer
implementation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-10-25 13:51:11 +00:00
Vladimir Barinov
735ad074ff iio: Support triggered events
Support triggered events.

This is useful for chips that don't have their own interrupt sources.
It allows to use generic/standalone iio triggers for those drivers.

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-08-27 20:47:09 +01:00
Linus Walleij
a0175b9c76 iio: st_sensors: add debugfs register read hook
This adds a debugfs hook to read/write registers in the ST
sensors using debugfs. Proved to be awesome help when trying
to debug why IRQs do not arrive.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Denis Ciocca <denis.ciocca@st.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-08-16 10:51:25 +01:00
Lars-Peter Clausen
c689a923c8 iio: Add inverse unit conversion macros
Add inverse unit conversion macro to convert from standard IIO units to
units that might be used by some devices.

Those are useful in combination with scale factors that are specified as
IIO_VAL_FRACTIONAL. Typically the denominator for those specifications will
contain the maximum raw value the sensor will generate and the numerator
the value it maps to in a specific unit. Sometimes datasheets specify those
in different units than the standard IIO units (e.g. degree/s instead of
rad/s) and so we need to do a unit conversion.

From a mathematical point of view it does not make a difference whether we
apply the unit conversion to the numerator or the inverse unit conversion
to the denominator since (x / y) / z = x / (y * z). But as the denominator
is typically a larger value and we are rounding both the numerator and
denominator to integer values using the later method gives us a better
precision (E.g. the relative error is smaller if we round 8000.3 to 8000
rather than rounding 8.3 to 8).

This is where in inverse unit conversion macros will be used.

Marked for stable as used by some upcoming fixes.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-08-08 12:50:40 +01:00