219 Commits

Author SHA1 Message Date
bengris32
dc38585c87 Merge branch 'android-4.19-stable' of https://android.googlesource.com/kernel/common into lineage-21
* 'android-4.19-stable' of https://android.googlesource.com/kernel/common:
  Revert "UPSTREAM: unicode: Don't special case ignorable code points"
  Reapply "UPSTREAM: unicode: Don't special case ignorable code points"
  Revert "UPSTREAM: unicode: Don't special case ignorable code points"
  Linux 4.19.325
  sh: intc: Fix use-after-free bug in register_intc_controller()
  modpost: remove incorrect code in do_eisa_entry()
  9p/xen: fix release of IRQ
  9p/xen: fix init sequence
  block: return unsigned int from bdev_io_min
  jffs2: fix use of uninitialized variable
  ubi: fastmap: Fix duplicate slab cache names while attaching
  ubifs: Correct the total block count by deducting journal reservation
  rtc: check if __rtc_read_time was successful in rtc_timer_do_work()
  NFSv4.0: Fix a use-after-free problem in the asynchronous open()
  um: Fix the return value of elf_core_copy_task_fpregs
  rpmsg: glink: Propagate TX failures in intentless mode as well
  NFSD: Prevent a potential integer overflow
  lib: string_helpers: silence snprintf() output truncation warning
  usb: dwc3: gadget: Fix checking for number of TRBs left
  media: wl128x: Fix atomicity violation in fmc_send_cmd()
  HID: wacom: Interpret tilt data from Intuos Pro BT as signed values
  block: fix ordering between checking BLK_MQ_S_STOPPED request adding
  arm64: tls: Fix context-switching of tpidrro_el0 when kpti is enabled
  sh: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
  um: vector: Do not use drvdata in release
  serial: 8250: omap: Move pm_runtime_get_sync
  um: net: Do not use drvdata in release
  um: ubd: Do not use drvdata in release
  ubi: wl: Put source PEB into correct list if trying locking LEB failed
  spi: Fix acpi deferred irq probe
  netfilter: ipset: add missing range check in bitmap_ip_uadt
  Revert "serial: sh-sci: Clean sci_ports[0] after at earlycon exit"
  serial: sh-sci: Clean sci_ports[0] after at earlycon exit
  Revert "usb: gadget: composite: fix OS descriptors w_value logic"
  ALSA: usb-audio: Fix potential out-of-bound accesses for Extigy and Mbox devices
  Bluetooth: Fix type of len in rfcomm_sock_getsockopt{,_old}()
  tty: ldsic: fix tty_ldisc_autoload sysctl's proc_handler
  PCI: Fix use-after-free of slot->bus on hot remove
  ASoC: codecs: Fix atomicity violation in snd_soc_component_get_drvdata()
  jfs: xattr: check invalid xattr size more strictly
  ext4: fix FS_IOC_GETFSMAP handling
  ext4: supress data-race warnings in ext4_free_inodes_{count,set}()
  usb: ehci-spear: fix call balance of sehci clk handling routines
  apparmor: fix 'Do simple duplicate message elimination'
  misc: apds990x: Fix missing pm_runtime_disable()
  USB: chaoskey: Fix possible deadlock chaoskey_list_lock
  USB: chaoskey: fail open after removal
  usb: using mutex lock and supporting O_NONBLOCK flag in iowarrior_read()
  net: stmmac: dwmac-socfpga: Set RX watchdog interrupt as broken
  marvell: pxa168_eth: fix call balance of pep->clk handling routines
  net: usb: lan78xx: Fix refcounting and autosuspend on invalid WoL configuration
  tg3: Set coherent DMA mask bits to 31 for BCM57766 chipsets
  net: usb: lan78xx: Fix memory leak on device unplug by freeing PHY device
  power: supply: core: Remove might_sleep() from power_supply_put()
  vfio/pci: Properly hide first-in-list PCIe extended capability
  NFSD: Cap the number of bytes copied by nfs4_reset_recoverydir()
  NFSD: Prevent NULL dereference in nfsd4_process_cb_update()
  rpmsg: glink: use only lower 16-bits of param2 for CMD_OPEN name length
  rpmsg: glink: Fix GLINK command prefix
  rpmsg: glink: Send READ_NOTIFY command in FIFO full case
  rpmsg: glink: Add TX_DATA_CONT command while sending
  m68k: coldfire/device.c: only build FEC when HW macros are defined
  m68k: mcfgpio: Fix incorrect register offset for CONFIG_M5441x
  PCI: cpqphp: Fix PCIBIOS_* return value confusion
  PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads
  perf probe: Correct demangled symbols in C++ program
  clk: clk-axi-clkgen: make sure to enable the AXI bus clock
  clk: axi-clkgen: use devm_platform_ioremap_resource() short-hand
  dt-bindings: clock: axi-clkgen: include AXI clk
  dt-bindings: clock: adi,axi-clkgen: convert old binding to yaml format
  fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem()
  fbdev/sh7760fb: Alloc DMA memory from hardware device
  powerpc/sstep: make emulate_vsx_load and emulate_vsx_store static
  ocfs2: fix uninitialized value in ocfs2_file_read_iter()
  scsi: qedi: Fix a possible memory leak in qedi_alloc_and_init_sb()
  scsi: fusion: Remove unused variable 'rc'
  scsi: bfa: Fix use-after-free in bfad_im_module_exit()
  mfd: rt5033: Fix missing regmap_del_irq_chip()
  RDMA/bnxt_re: Check cqe flags to know imm_data vs inv_irkey
  mtd: rawnand: atmel: Fix possible memory leak
  cpufreq: loongson2: Unregister platform_driver on failure
  mfd: da9052-spi: Change read-mask to write-mask
  powerpc/vdso: Flag VDSO64 entry points as functions
  trace/trace_event_perf: remove duplicate samples on the first tracepoint event
  netpoll: Use rcu_access_pointer() in netpoll_poll_lock
  ALSA: 6fire: Release resources at card release
  ALSA: caiaq: Use snd_card_free_when_closed() at disconnection
  ALSA: us122l: Use snd_card_free_when_closed() at disconnection
  net: rfkill: gpio: Add check for clk_enable()
  drm/etnaviv: hold GPU lock across perfmon sampling
  drm/etnaviv: fix power register offset on GC300
  drm/etnaviv: dump: fix sparse warnings
  drm/etnaviv: consolidate hardware fence handling in etnaviv_gpu
  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_config_scan()
  bpf: Fix the xdp_adjust_tail sample prog issue
  drm/omap: Fix locking in omap_gem_new_dmabuf()
  wifi: ath9k: add range check for conn_rsp_epid in htc_connect_service()
  drm/mm: Mark drm_mm_interval_tree*() functions with __maybe_unused
  firmware: arm_scpi: Check the DVFS OPP count returned by the firmware
  regmap: irq: Set lockdep class for hierarchical IRQ domains
  ARM: dts: cubieboard4: Fix DCDC5 regulator constraints
  mmc: mmc_spi: drop buggy snprintf()
  soc: qcom: geni-se: fix array underflow in geni_se_clk_tbl_get()
  time: Fix references to _msecs_to_jiffies() handling of values
  crypto: cavium - Fix an error handling path in cpt_ucode_load_fw()
  crypto: bcm - add error check in the ahash_hmac_init function
  crypto: cavium - Fix the if condition to exit loop after timeout
  crypto: pcrypt - Call crypto layer directly when padata_do_parallel() return -EBUSY
  EDAC/fsl_ddr: Fix bad bit shift operations
  hfsplus: don't query the device logical block size multiple times
  s390/syscalls: Avoid creation of arch/arch/ directory
  acpi/arm64: Adjust error handling procedure in gtdt_parse_timer_block()
  m68k: mvme147: Reinstate early console
  m68k: mvme16x: Add and use "mvme16x.h"
  m68k: mvme147: Fix SCSI controller IRQ numbers
  initramfs: avoid filename buffer overrun
  nvme: fix metadata handling in nvme-passthrough
  proc/softirqs: replace seq_printf with seq_put_decimal_ull_width
  net: usb: qmi_wwan: add Quectel RG650V
  x86/amd_nb: Fix compile-testing without CONFIG_AMD_NB
  selftests/watchdog-test: Fix system accidentally reset after watchdog-test
  mac80211: fix user-power when emulating chanctx
  ASoC: Intel: bytcr_rt5640: Add DMI quirk for Vexia Edu Atla 10 tablet
  mm: revert "mm: shmem: fix data-race in shmem_getattr()"
  kbuild: Use uname for LINUX_COMPILE_HOST detection
  media: dvbdev: fix the logic when DVB_DYNAMIC_MINORS is not set
  Revert "mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K"
  nilfs2: fix null-ptr-deref in block_dirty_buffer tracepoint
  ocfs2: fix UBSAN warning in ocfs2_verify_volume()
  nilfs2: fix null-ptr-deref in block_touch_buffer tracepoint
  ocfs2: uncache inode which has failed entering the group
  netlink: terminate outstanding dump on socket close
  Linux 4.19.324
  9p: fix slab cache name creation for real
  net: usb: qmi_wwan: add Fibocom FG132 0x0112 composition
  fs: Fix uninitialized value issue in from_kuid and from_kgid
  powerpc/powernv: Free name on error in opal_event_init()
  sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML
  bpf: use kvzmalloc to allocate BPF verifier environment
  HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad
  9p: Avoid creating multiple slab caches with the same name
  ALSA: usb-audio: Add endianness annotations
  vsock/virtio: Initialization of the dangling pointer occurring in vsk->trans
  hv_sock: Initializing vsk->trans to NULL to prevent a dangling pointer
  ALSA: usb-audio: Add quirks for Dell WD19 dock
  ALSA: usb-audio: Support jack detection on Dell dock
  ALSA: usb-audio: Add custom mixer status quirks for RME CC devices
  ALSA: pcm: Return 0 when size < start_threshold in capture
  ocfs2: remove entry once instead of null-ptr-dereference in ocfs2_xa_remove()
  irqchip/gic-v3: Force propagation of the active state with a read-back
  USB: serial: option: add Quectel RG650V
  USB: serial: option: add Fibocom FG132 0x0112 composition
  USB: serial: qcserial: add support for Sierra Wireless EM86xx
  USB: serial: io_edgeport: fix use after free in debug printk
  usb: musb: sunxi: Fix accessing an released usb phy
  fs/proc: fix compile warning about variable 'vmcore_mmap_ops'
  media: uvcvideo: Skip parsing frames of type UVC_VS_UNDEFINED in uvc_parse_format
  net: bridge: xmit: make sure we have at least eth header len bytes
  bonding (gcc13): synchronize bond_{a,t}lb_xmit() types
  btrfs: reinitialize delayed ref list after deleting it from the list
  nfs: Fix KMSAN warning in decode_getfattr_attrs()
  dm-unstriped: cast an operand to sector_t to prevent potential uint32_t overflow
  dm cache: fix potential out-of-bounds access on the first resume
  dm cache: optimize dirty bit checking with find_next_bit when resizing
  dm cache: fix out-of-bounds access to the dirty bitset when resizing
  dm cache: correct the number of origin blocks to match the target length
  drm/amdgpu: prevent NULL pointer dereference if ATIF is not supported
  drm/amdgpu: add missing size check in amdgpu_debugfs_gprwave_read()
  media: v4l2-tpg: prevent the risk of a division by zero
  media: cx24116: prevent overflows on SNR calculus
  media: s5p-jpeg: prevent buffer overflows
  ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()
  media: adv7604: prevent underflow condition when reporting colorspace
  media: dvb_frontend: don't play tricks with underflow values
  media: dvbdev: prevent the risk of out of memory access
  media: stb0899_algo: initialize cfr before using it
  net: hns3: fix kernel crash when uninstalling driver
  can: c_can: fix {rx,tx}_errors statistics
  sctp: properly validate chunk size in sctp_sf_ootb()
  security/keys: fix slab-out-of-bounds in key_task_permission
  HID: core: zero-initialize the report buffer
  ARM: dts: rockchip: Fix the realtek audio codec on rk3036-kylin
  ARM: dts: rockchip: drop grf reference from rk3036 hdmi
  ARM: dts: rockchip: fix rk3036 acodec node
  arm64: dts: rockchip: Fix rt5651 compatible value on rk3399-sapphire-excavator
  Linux 4.19.323
  vt: prevent kernel-infoleak in con_font_get()
  mm: shmem: fix data-race in shmem_getattr()
  nilfs2: fix kernel bug due to missing clearing of checked flag
  ocfs2: pass u64 to ocfs2_truncate_inline maybe overflow
  nilfs2: fix potential deadlock with newly created symlinks
  wifi: iwlegacy: Clear stale interrupts before resuming device
  wifi: ath10k: Fix memory leak in management tx
  wifi: mac80211: do not pass a stopped vif to the driver in .get_txpower
  Revert "driver core: Fix uevent_show() vs driver detach race"
  xhci: Fix Link TRB DMA in command ring stopped completion event
  usb: phy: Fix API devm_usb_put_phy() can not release the phy
  usbip: tools: Fix detach_port() invalid port error path
  misc: sgi-gru: Don't disable preemption in GRU driver
  net: amd: mvme147: Fix probe banner message
  firmware: arm_sdei: Fix the input parameter of cpuhp_remove_state()
  netfilter: nft_payload: sanitize offset and length before calling skb_checksum()
  net: skip offload for NETIF_F_IPV6_CSUM if ipv6 header contains extension
  net: support ip generic csum processing in skb_csum_hwoffload_help
  bpf: Fix out-of-bounds write in trie_get_next_key()
  net/sched: stop qdisc_tree_reduce_backlog on TC_H_ROOT
  gtp: allow -1 to be specified as file description from userspace
  gtp: simplify error handling code in 'gtp_encap_enable()'
  wifi: mac80211: skip non-uploaded keys in ieee80211_iter_keys
  cgroup: Fix potential overflow issue when checking max_depth
  usb: dwc3: core: Stop processing of pending events if controller is halted
  usb: dwc3: Add splitdisable quirk for Hisilicon Kirin Soc
  usb: dwc3: remove generic PHY calibrate() calls
  xfrm: validate new SA's prefixlen using SA family when sel.family is unset
  arm64/uprobes: change the uprobe_opcode_t typedef to fix the sparse warning
  selinux: improve error checking in sel_write_load()
  hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event
  nilfs2: fix kernel bug due to missing clearing of buffer delay flag
  ACPI: button: Add DMI quirk for Samsung Galaxy Book2 to fix initial lid detection issue
  drm/amd: Guard against bad data for ATIF ACPI method
  ALSA: hda/realtek: Update default depop procedure
  posix-clock: posix-clock: Fix unbalanced locking in pc_clock_settime()
  net: usb: usbnet: fix name regression
  be2net: fix potential memory leak in be_xmit()
  net/sun3_82586: fix potential memory leak in sun3_82586_send_packet()
  jfs: Fix sanity check in dbMount
  udf: fix uninit-value use in udf_get_fileshortad
  KVM: s390: gaccess: Check if guest address is in memslot
  KVM: s390: gaccess: Cleanup access to guest pages
  KVM: s390: gaccess: Refactor access address range check
  KVM: s390: gaccess: Refactor gpa and length calculation
  arm64: probes: Fix uprobes for big-endian kernels
  arm64:uprobe fix the uprobe SWBP_INSN in big-endian
  Bluetooth: bnep: fix wild-memory-access in proto_unregister
  usb: typec: altmode should keep reference to parent
  net: systemport: fix potential memory leak in bcm_sysport_xmit()
  net: ethernet: aeroflex: fix potential memory leak in greth_start_xmit_gbit()
  macsec: don't increment counters for an unrelated SA
  drm/msm/dsi: fix 32-bit signed integer extension in pclk_rate calculation
  RDMA/bnxt_re: Return more meaningful error
  RDMA/cxgb4: Fix RDMA_CM_EVENT_UNREACHABLE error for iWARP
  RDMA/bnxt_re: Fix incorrect AVID type in WQE structure
  clk: Fix slab-out-of-bounds error in devm_clk_release()
  clk: Fix pointer casting to prevent oops in devm_clk_release()
  nilfs2: propagate directory read errors from nilfs_find_entry()
  x86/apic: Always explicitly disarm TSC-deadline timer
  parport: Proper fix for array out-of-bounds access
  USB: serial: option: add Telit FN920C04 MBIM compositions
  USB: serial: option: add support for Quectel EG916Q-GL
  xhci: Fix incorrect stream context type macro
  Bluetooth: btusb: Fix regression with fake CSR controllers 0a12:0001
  Bluetooth: Remove debugfs directory on module init failure
  iio: light: opt3001: add missing full-scale range value
  iio: hid-sensors: Fix an error handling path in _hid_sensor_set_report_latency()
  iio: adc: ti-ads8688: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig
  iio: dac: stm32-dac-core: add missing select REGMAP_MMIO in Kconfig
  drm/vmwgfx: Handle surface check failure correctly
  x86/cpufeatures: Define X86_FEATURE_AMD_IBPB_RET
  KVM: s390: Change virtual to physical address access in diag 0x258 handler
  s390/sclp_vt220: Convert newlines to CRLF instead of LFCR
  net: dsa: mv88e6xxx: Fix out-of-bound access
  KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()
  fat: fix uninitialized variable
  PCI: Add function 0 DMA alias quirk for Glenfly Arise chip
  arm64: probes: Fix simulate_ldr*_literal()
  arm64: probes: Remove broken LDR (literal) uprobe support
  posix-clock: Fix missing timespec64 check in pc_clock_settime()
  net: Fix an unsafe loop on the list
  usb: storage: ignore bogus device raised by JieLi BR21 USB sound chip
  usb: xhci: Fix problem with xhci resume from suspend
  Revert "usb: yurex: Replace snprintf() with the safer scnprintf() variant"
  HID: plantronics: Workaround for an unexcepted opposite volume key
  CDC-NCM: avoid overflow in sanity checking
  net: ipv6: ensure we call ipv6_mc_down() at most once
  ppp: fix ppp_async_encode() illegal access
  net: ibm: emac: mal: fix wrong goto
  igb: Do not bring the device up after non-fatal error
  gpio: aspeed: Use devm_clk api to manage clock source
  clk: Provide new devm_clk helpers for prepared and enabled clocks
  clk: generalize devm_clk_get() a bit
  clk: Add (devm_)clk_get_optional() functions
  gpio: aspeed: Add the flush write to ensure the write complete.
  Bluetooth: RFCOMM: FIX possible deadlock in rfcomm_sk_state_change
  netfilter: br_netfilter: fix panic with metadata_dst skb
  tcp: fix tcp_enter_recovery() to zero retrans_stamp when it's safe
  SUNRPC: Fix integer overflow in decode_rc_list()
  NFS: Remove print_overflow_msg()
  fbdev: sisfb: Fix strbuf array overflow
  driver core: bus: Return -EIO instead of 0 when show/store invalid bus attribute
  tools/iio: Add memory allocation failure check for trigger_name
  usb: chipidea: udc: enable suspend interrupt after usb reset
  media: videobuf2-core: clear memory related fields in __vb2_plane_dmabuf_put()
  PCI: Mark Creative Labs EMU20k2 INTx masking as broken
  i2c: i801: Use a different adapter-name for IDF adapters
  clk: bcm: bcm53573: fix OF node leak in init
  ktest.pl: Avoid false positives with grub2 skip regex
  s390/cpum_sf: Remove WARN_ON_ONCE statements
  ext4: nested locking for xattr inode
  s390/mm: Add cond_resched() to cmm_alloc/free_pages()
  s390/facility: Disable compile time optimization for decompressor code
  bpf: Check percpu map value size first
  Input: synaptics-rmi4 - fix UAF of IRQ domain on driver removal
  virtio_console: fix misc probe bugs
  drm/crtc: fix uninitialized variable use even harder
  drm: Move drm_mode_setcrtc() local re-init to failure path
  tracing: Remove precision vsnprintf() check from print event
  net: ethernet: cortina: Drop TSO support
  ext4: fix inode tree inconsistency caused by ENOMEM
  ACPI: battery: Fix possible crash when unregistering a battery hook
  ACPI: battery: Simplify battery hook locking
  rtc: at91sam9: fix OF node leak in probe() error path
  rtc: at91sam9: drop platform_data support
  nfsd: fix delegation_blocked() to block correctly for at least 30 seconds
  nfsd: use ktime_get_seconds() for timestamps
  uprobes: fix kernel info leak via "[uprobes]" vma
  arm64: errata: Expand speculative SSBS workaround once more
  arm64: cputype: Add Neoverse-N3 definitions
  arm64: Add Cortex-715 CPU part definition
  ext4: update orig_path in ext4_find_extent()
  ext4: fix slab-use-after-free in ext4_split_extent_at()
  ext4: avoid ext4_error()'s caused by ENOMEM in the truncate path
  gpio: davinci: fix lazy disable
  btrfs: wait for fixup workers before stopping cleaner kthread during umount
  Input: adp5589-keys - fix adp5589_gpio_get_value()
  tomoyo: fallback to realpath if symlink's pathname does not exist
  iio: magnetometer: ak8975: Fix reading for ak099xx sensors
  media: venus: fix use after free bug in venus_remove due to race condition
  media: uapi/linux/cec.h: cec_msg_set_reply_to: zero flags
  clk: rockchip: fix error for unknown clocks
  aoe: fix the potential use-after-free problem in more places
  riscv: define ILLEGAL_POINTER_VALUE for 64bit
  ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate
  ocfs2: fix null-ptr-deref when journal load failed.
  ocfs2: remove unreasonable unlock in ocfs2_read_blocks
  ocfs2: cancel dqi_sync_work before freeing oinfo
  ocfs2: reserve space for inline xattr before attaching reflink tree
  ocfs2: fix uninit-value in ocfs2_get_block()
  ocfs2: fix the la space leak when unmounting an ocfs2 volume
  jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error
  of/irq: Support #msi-cells=<0> in of_msi_get_domain
  parisc: Fix 64-bit userspace syscall path
  ext4: fix incorrect tid assumption in ext4_wait_for_tail_page_commit()
  ext4: fix double brelse() the buffer of the extents path
  ext4: aovid use-after-free in ext4_ext_insert_extent()
  ext4: fix incorrect tid assumption in __jbd2_log_wait_for_space()
  ext4: propagate errors from ext4_find_extent() in ext4_insert_range()
  ext4: no need to continue when the number of entries is 1
  ALSA: core: add isascii() check to card ID generator
  parisc: Fix itlb miss handler for 64-bit programs
  perf/core: Fix small negative period being ignored
  spi: bcm63xx: Fix module autoloading
  i2c: xiic: Wait for TX empty to avoid missed TX NAKs
  selftests: vDSO: fix vDSO symbols lookup for powerpc64
  selftests: breakpoints: use remaining time to check if suspend succeed
  spi: s3c64xx: fix timeout counters in flush_fifo
  ext4: fix i_data_sem unlock order in ext4_ind_migrate()
  ext4: ext4_search_dir should return a proper error
  of/irq: Refer to actual buffer size in of_irq_parse_one()
  drm/radeon/r100: Handle unknown family in r100_cp_init_microcode()
  scsi: aacraid: Rearrange order of struct aac_srb_unit
  drm/printer: Allow NULL data in devcoredump printer
  drm/amd/display: Fix index out of bounds in degamma hardware format translation
  drm/amd/display: Check stream before comparing them
  jfs: Fix uninit-value access of new_ea in ea_buffer
  jfs: check if leafidx greater than num leaves per dmap tree
  jfs: Fix uaf in dbFreeBits
  jfs: UBSAN: shift-out-of-bounds in dbFindBits
  ata: sata_sil: Rename sil_blacklist to sil_quirks
  power: reset: brcmstb: Do not go into infinite loop if reset fails
  fbdev: pxafb: Fix possible use after free in pxafb_task()
  ALSA: hdsp: Break infinite MIDI input flush loop
  ALSA: asihpi: Fix potential OOB array access
  signal: Replace BUG_ON()s
  wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext()
  ACPICA: iasl: handle empty connection_node
  tcp: avoid reusing FIN_WAIT2 when trying to find port in connect() process
  ipv4: Mask upper DSCP bits and ECN bits in NETLINK_FIB_LOOKUP family
  ipv4: Check !in_dev earlier for ioctl(SIOCSIFADDR).
  net: mvpp2: Increase size of queue_name buffer
  tipc: guard against string buffer overrun
  ACPICA: check null return of ACPI_ALLOCATE_ZEROED() in acpi_db_convert_to_package()
  ACPI: EC: Do not release locks during operation region accesses
  ACPICA: Fix memory leak if acpi_ps_get_next_field() fails
  ACPICA: Fix memory leak if acpi_ps_get_next_namepath() fails
  net: hisilicon: hns_mdio: fix OF node leak in probe()
  net: hisilicon: hns_dsaf_mac: fix OF node leak in hns_mac_get_info()
  net: hisilicon: hip04: fix OF node leak in probe()
  wifi: ath9k_htc: Use __skb_set_length() for resetting urb before resubmit
  wifi: ath9k: fix possible integer overflow in ath9k_get_et_stats()
  f2fs: Require FMODE_WRITE for atomic write ioctls
  ALSA: hda/conexant: Fix conflicting quirk for System76 Pangolin
  ALSA: hda/generic: Unconditionally prefer preferred_dacs pairs
  sctp: set sk_state back to CLOSED if autobind fails in sctp_listen_start
  ipv4: ip_gre: Fix drops of small packets in ipgre_xmit
  net: add more sanity checks to qdisc_pkt_len_init()
  net: avoid potential underflow in qdisc_pkt_len_init() with UFO
  net: ethernet: lantiq_etop: fix memory disclosure
  r8152: Factor out OOB link list waits
  netfilter: nf_tables: prevent nf_skb_duplicated corruption
  netfilter: uapi: NFTA_FLOWTABLE_HOOK is NLA_NESTED
  ceph: remove the incorrect Fw reference check when dirtying pages
  mailbox: bcm2835: Fix timeout during suspend mode
  mailbox: rockchip: fix a typo in module autoloading
  usb: yurex: Fix inconsistent locking bug in yurex_read()
  i2c: isch: Add missed 'else'
  i2c: aspeed: Update the stop sw state when the bus recovery occurs
  pps: add an error check in parport_attach
  pps: remove usage of the deprecated ida_simple_xx() API
  USB: misc: yurex: fix race between read and write
  usb: yurex: Replace snprintf() with the safer scnprintf() variant
  soc: versatile: realview: fix soc_dev leak during device remove
  soc: versatile: realview: fix memory leak during device remove
  PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler
  PCI: xilinx-nwl: Use irq_data_get_irq_chip_data()
  nfs: fix memory leak in error path of nfs4_do_reclaim
  fs: Fix file_set_fowner LSM hook inconsistencies
  vfs: fix race between evice_inodes() and find_inode()&iput()
  f2fs: avoid potential int overflow in sanity_check_area_boundary()
  f2fs: prevent possible int overflow in dir_block_index()
  ACPI: sysfs: validate return type of _STR method
  drbd: Add NULL check for net_conf to prevent dereference in state validation
  drbd: Fix atomicity violation in drbd_uuid_set_bm()
  tty: rp2: Fix reset with non forgiving PCIe host bridges
  firmware_loader: Block path traversal
  USB: misc: cypress_cy7c63: check for short transfer
  USB: appledisplay: close race between probe and completion handler
  soc: versatile: integrator: fix OF node leak in probe() error path
  Remove *.orig pattern from .gitignore
  crypto: aead,cipher - zeroize key buffer after use
  netfilter: ctnetlink: compile ctnetlink_label_size with CONFIG_NF_CONNTRACK_EVENTS
  net: qrtr: Update packets cloning when broadcasting
  tcp: check skb is non-NULL in tcp_rto_delta_us()
  tcp: introduce tcp_skb_timestamp_us() helper
  net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition
  netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()
  coresight: tmc: sg: Do not leak sg_table
  f2fs: reduce expensive checkpoint trigger frequency
  f2fs: remove unneeded check condition in __f2fs_setxattr()
  f2fs: fix to update i_ctime in __f2fs_setxattr()
  f2fs: fix typo
  f2fs: enhance to update i_mode and acl atomically in f2fs_setattr()
  nfsd: call cache_put if xdr_reserve_space returns NULL
  ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir()
  RDMA/cxgb4: Added NULL check for lookup_atid
  pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function
  clk: ti: dra7-atl: Fix leak of of_nodes
  pinctrl: single: fix missing error code in pcs_probe()
  RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency
  PCI: xilinx-nwl: Fix register misspelling
  drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error
  drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error
  clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228
  perf time-utils: Fix 32-bit nsec parsing
  perf sched timehist: Fixed timestamp error when unable to confirm event sched_in time
  perf sched timehist: Fix missing free of session in perf_sched__timehist()
  nilfs2: fix potential oob read in nilfs_btree_check_delete()
  nilfs2: determine empty node blocks as corrupted
  nilfs2: fix potential null-ptr-deref in nilfs_btree_insert()
  ext4: avoid OOB when system.data xattr changes underneath the filesystem
  ext4: return error on ext4_find_inline_entry
  ext4: avoid negative min_clusters in find_group_orlov()
  smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso
  ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard
  jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers()
  kthread: fix task state in kthread worker if being frozen
  kthread: add kthread_work tracepoints
  xz: cleanup CRC32 edits from 2018
  selftests/bpf: Fix error compiling test_lru_map.c
  xen/swiotlb: add alignment check for dma buffers
  xen/swiotlb: simplify range_straddles_page_boundary()
  xen: use correct end address of kernel for conflict checking
  drm/msm: fix %s null argument error
  ipmi: docs: don't advertise deprecated sysfs entries
  drm/msm/a5xx: fix races in preemption evaluation stage
  drm/msm/a5xx: properly clear preemption records on resume
  jfs: fix out-of-bounds in dbNextAG() and diAlloc()
  drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets
  drm/rockchip: vop: Allow 4096px width scaling
  drm/radeon: properly handle vbios fake edid sizing
  drm/radeon: Replace one-element array with flexible-array member
  drm/amdgpu: properly handle vbios fake edid sizing
  drm/amdgpu: Replace one-element array with flexible-array member
  drm/amd: fix typo
  drm/stm: Fix an error handling path in stm_drm_platform_probe()
  fbdev: hpfb: Fix an error handling path in hpfb_dio_probe()
  power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense
  hwmon: (ntc_thermistor) fix module autoloading
  mtd: slram: insert break after errors in parsing the map
  hwmon: (max16065) Fix overflows seen when writing limits
  clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init()
  reset: berlin: fix OF node leak in probe() error path
  ARM: versatile: fix OF node leak in CPUs prepare
  spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ
  spi: ppc4xx: handle irq_of_parse_and_map() errors
  block, bfq: don't break merge chain in bfq_split_bfqq()
  block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator()
  block, bfq: fix possible UAF for bfqq->bic with merge chain
  Bluetooth: btusb: Fix not handling ZPL/short-transfer
  can: bcm: Clear bo->bcm_proc_read after remove_proc_entry().
  wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop()
  wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors
  wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan()
  netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire
  wifi: ath9k: Remove error checks when creating debugfs entries
  wifi: ath9k: fix parameter check in ath9k_init_debug()
  ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe()
  USB: serial: pl2303: add device id for Macrosilicon MS3020
  gpio: prevent potential speculation leaks in gpio_device_get_desc()
  ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry()
  ocfs2: add bounds checking to ocfs2_xattr_find_entry()
  x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency
  spi: bcm63xx: Enable module autoloading
  ASoC: tda7419: fix module autoloading
  wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead
  wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()
  net: ftgmac100: Ensure tx descriptor updates are visible
  microblaze: don't treat zero reserved memory regions as error
  pinctrl: at91: make it work with current gpiolib
  ASoC: allow module autoloading for table db1200_pids
  selftests/kcmp: remove call to ksft_set_plan()
  selftests/vm: remove call to ksft_set_plan()
  soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps"
  net: dpaa: Pad packets to ETH_ZLEN
  net: ftgmac100: Enable TX interrupt to avoid TX timeout
  net/mlx5: Update the list of the PCI supported devices
  arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma
  scripts: kconfig: merge_config: config files: add a trailing newline
  net: phy: vitesse: repair vsc73xx autonegotiation
  net: ethernet: use ip_hdrlen() instead of bit shift
  usbnet: ipheth: fix carrier detection in modes 1 and 4
  staging: iio: frequency: ad9834: Validate frequency parameter value
  staging: iio: frequency: ad9833: Load clock using clock framework
  staging: iio: frequency: ad9833: Get frequency value statically

Change-Id: Id96e4bf331d59a5f3f52791887390bc747dc31cb
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2024-12-17 21:41:20 +00:00
Krzysztof Kozlowski
041b763798 reset: berlin: fix OF node leak in probe() error path
[ Upstream commit 5f58a88cc91075be38cec69b7cb70aaa4ba69e8b ]

Driver is leaking OF node reference on memory allocation failure.
Acquire the OF node reference after memory allocation to fix this and
keep it simple.

Fixes: aed6f3cadc ("reset: berlin: convert to a platform driver")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20240825-reset-cleanup-scoped-v1-1-03f6d834f8c0@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-08 16:19:04 +01:00
bengris32
4136e7cd20 Merge tag 'ASB-2024-02-05_4.19-stable' of https://android.googlesource.com/kernel/common into lineage-21
https://source.android.com/docs/security/bulletin/2024-02-01

* tag 'ASB-2024-02-05_4.19-stable' of https://android.googlesource.com/kernel/common:
  Reapply "perf: Fix perf_event_validate_size()"
  UPSTREAM: usb: raw-gadget: properly handle interrupted requests
  UPSTREAM: mm/cma: use nth_page() in place of direct struct page manipulation
  UPSTREAM: wireguard: allowedips: expand maximum node depth
  UPSTREAM: coresight: tmc: Explicit type conversions to prevent integer overflow
  UPSTREAM: wireguard: netlink: send staged packets when setting initial private key
  UPSTREAM: wireguard: queueing: use saner cpu selection wrapping
  UPSTREAM: kheaders: Use array declaration instead of char
  UPSTREAM: arm64: efi: Make efi_rt_lock a raw_spinlock
  UPSTREAM: sched/psi: Fix use-after-free in ep_remove_wait_queue()
  UPSTREAM: usb: musb: mediatek: don't unregister something that wasn't registered
  UPSTREAM: xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr()
  UPSTREAM: xfrm: compat: change expression for switch in xfrm_xlate64
  UPSTREAM: perf/core: Call LSM hook after copying perf_event_attr
  Linux 4.19.306
  crypto: scompress - initialize per-CPU variables on each CPU
  Revert "NFSD: Fix possible sleep during nfsd4_release_lockowner()"
  i2c: s3c24xx: fix transferring more than one message in polling mode
  i2c: s3c24xx: fix read transfers in polling mode
  kdb: Fix a potential buffer overflow in kdb_local()
  kdb: Censor attempts to set PROMPT without ENABLE_MEM_READ
  ipvs: avoid stat macros calls from preemptible context
  net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe
  net: ravb: Fix dma_addr_t truncation in error case
  net: qualcomm: rmnet: fix global oob in rmnet_policy
  serial: imx: Correct clock error message in function probe()
  apparmor: avoid crash when parsed profile name is empty
  perf genelf: Set ELF program header addresses properly
  acpi: property: Let args be NULL in __acpi_node_get_property_reference
  MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup()
  MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup()
  HID: wacom: Correct behavior when processing some confidence == false touches
  wifi: mwifiex: configure BSSID consistently when starting AP
  wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors
  wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code
  fbdev: flush deferred work in fb_deferred_io_fsync()
  ALSA: oxygen: Fix right channel of capture volume mixer
  usb: mon: Fix atomicity violation in mon_bin_vma_fault
  usb: typec: class: fix typec_altmode_put_partner to put plugs
  Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs"
  usb: chipidea: wait controller resume finished for wakeup irq
  Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only"
  Revert "usb: dwc3: Soft reset phy on probe for host"
  usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart
  usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host()
  tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug
  binder: fix unused alloc->free_async_space
  binder: fix race between mmput() and do_exit()
  xen-netback: don't produce zero-size SKB frags
  Revert "ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek"
  Input: atkbd - use ab83 as id when skipping the getid command
  binder: fix async space check for 0-sized buffers
  of: unittest: Fix of_count_phandle_with_args() expected value message
  of: Fix double free in of_parse_phandle_with_args_map
  mmc: sdhci_omap: Fix TI SoC dependencies
  watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
  watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO
  watchdog: set cdev owner before adding
  gpu/drm/radeon: fix two memleaks in radeon_vm_init
  drivers/amd/pm: fix a use-after-free in kv_parse_power_table
  drm/amd/pm: fix a double-free in si_dpm_init
  drm/amdgpu/debugfs: fix error code when smc register accessors are NULL
  media: dvbdev: drop refcount on error path in dvb_device_open()
  media: cx231xx: fix a memleak in cx231xx_init_isoc
  drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table
  drm/radeon/dpm: fix a memleak in sumo_parse_power_table
  drm/radeon: check the alloc_workqueue return value in radeon_crtc_init()
  drm/drv: propagate errors from drm_modeset_register_all()
  drm/msm/mdp4: flush vblank event on disable
  ASoC: cs35l34: Fix GPIO name and drop legacy include
  ASoC: cs35l33: Fix GPIO name and drop legacy include
  drm/radeon: check return value of radeon_ring_lock()
  drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check()
  drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg()
  f2fs: fix to avoid dirent corruption
  drm/bridge: Fix typo in post_disable() description
  media: pvrusb2: fix use after free on context disconnection
  RDMA/usnic: Silence uninitialized symbol smatch warnings
  ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim()
  Bluetooth: btmtkuart: fix recv_buf() return value
  Bluetooth: Fix bogus check for re-auth no supported with non-ssp
  wifi: rtlwifi: rtl8192se: using calculate_bit_shift()
  wifi: rtlwifi: rtl8192ee: using calculate_bit_shift()
  wifi: rtlwifi: rtl8192de: using calculate_bit_shift()
  rtlwifi: rtl8192de: make arrays static const, makes object smaller
  wifi: rtlwifi: rtl8192ce: using calculate_bit_shift()
  wifi: rtlwifi: rtl8192cu: using calculate_bit_shift()
  wifi: rtlwifi: rtl8192c: using calculate_bit_shift()
  wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift()
  wifi: rtlwifi: add calculate_bit_shift()
  dma-mapping: clear dev->dma_mem to NULL after freeing it
  scsi: hisi_sas: Replace with standard error code return value
  wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior
  rtlwifi: Use ffs in <foo>_phy_calculate_bit_shift
  firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
  net/ncsi: Fix netlink major/minor version numbers
  ncsi: internal.h: Fix a spello
  ARM: dts: qcom: apq8064: correct XOADC register address
  wifi: libertas: stop selecting wext
  bpf, lpm: Fix check prefixlen before walking trie
  NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT
  blocklayoutdriver: Fix reference leak of pnfs_device_node
  crypto: scomp - fix req->dst buffer overflow
  crypto: scompress - Use per-CPU struct instead multiple variables
  crypto: scompress - return proper error code for allocation failure
  crypto: sahara - do not resize req->src when doing hash operations
  crypto: sahara - fix processing hash requests with req->nbytes < sg->length
  crypto: sahara - improve error handling in sahara_sha_process()
  crypto: sahara - fix wait_for_completion_timeout() error handling
  crypto: sahara - fix ahash reqsize
  crypto: virtio - Wait for tasklet to complete on device remove
  pstore: ram_core: fix possible overflow in persistent_ram_init_ecc()
  crypto: sahara - fix error handling in sahara_hw_descriptor_create()
  crypto: sahara - fix processing requests with cryptlen < sg->length
  crypto: sahara - fix ahash selftest failure
  crypto: sahara - remove FLAGS_NEW_KEY logic
  crypto: af_alg - Disallow multiple in-flight AIO requests
  crypto: ccp - fix memleak in ccp_init_dm_workarea
  crypto: virtio - Handle dataq logic with tasklet
  selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket
  mtd: Fix gluebi NULL pointer dereference caused by ftl notifier
  calipso: fix memory leak in netlbl_calipso_add_pass()
  netlabel: remove unused parameter in netlbl_netlink_auditinfo()
  net: netlabel: Fix kerneldoc warnings
  ACPI: LPIT: Avoid u32 multiplication overflow
  ACPI: video: check for error while searching for backlight device parent
  mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response
  powerpc/imc-pmu: Add a null pointer check in update_events_in_group()
  powerpc/powernv: Add a null pointer check in opal_event_init()
  selftests/powerpc: Fix error handling in FPU/VMX preemption tests
  powerpc/pseries/memhp: Fix access beyond end of drmem array
  powerpc/pseries/memhotplug: Quieten some DLPAR operations
  powerpc/44x: select I2C for CURRITUCK
  powerpc: remove redundant 'default n' from Kconfig-s
  powerpc: add crtsavres.o to always-y instead of extra-y
  EDAC/thunderx: Fix possible out-of-bounds string access
  x86/lib: Fix overflow when counting digits
  coresight: etm4x: Fix width of CCITMIN field
  uio: Fix use-after-free in uio_open
  binder: fix comment on binder_alloc_new_buf() return value
  binder: use EPOLLERR from eventpoll.h
  drm/crtc: fix uninitialized variable use
  ARM: sun9i: smp: fix return code check of of_property_match_string
  Input: xpad - add Razer Wolverine V2 support
  ARC: fix spare error
  s390/scm: fix virtual vs physical address confusion
  Input: i8042 - add nomux quirk for Acer P459-G2-M
  Input: atkbd - skip ATKBD_CMD_GETID in translated mode
  reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
  ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI
  tracing: Add size check when printing trace_marker output
  tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing
  drm/crtc: Fix uninit-value bug in drm_mode_setcrtc
  jbd2: correct the printing of write_flags in jbd2_write_superblock()
  clk: rockchip: rk3128: Fix HCLK_OTG gate register
  drm/exynos: fix a potential error pointer dereference
  ASoC: da7219: Support low DC impedance headset
  net/tg3: fix race condition in tg3_reset_task()
  ASoC: rt5650: add mutex to avoid the jack detection failure
  ASoC: cs43130: Fix incorrect frame delay configuration
  ASoC: cs43130: Fix the position of const qualifier
  ASoC: Intel: Skylake: mem leak in skl register function
  f2fs: explicitly null-terminate the xattr list
  UPSTREAM: wifi: cfg80211: fix buffer overflow in elem comparison
  UPSTREAM: gcov: clang: fix the buffer overflow issue
  BACKPORT: selinux: enable use of both GFP_KERNEL and GFP_ATOMIC in convert_context()
  UPSTREAM: wifi: cfg80211: avoid nontransmitted BSS list corruption
  UPSTREAM: wifi: cfg80211: fix BSS refcounting bugs
  UPSTREAM: wifi: cfg80211: ensure length byte is present before access
  UPSTREAM: wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()
  UPSTREAM: wireguard: netlink: avoid variable-sized memcpy on sockaddr
  UPSTREAM: wireguard: ratelimiter: disable timings test by default
  UPSTREAM: crypto: lib - remove unneeded selection of XOR_BLOCKS
  UPSTREAM: wireguard: allowedips: don't corrupt stack when detecting overflow
  UPSTREAM: wireguard: ratelimiter: use hrtimer in selftest
  UPSTREAM: crypto: arm64/poly1305 - fix a read out-of-bound
  UPSTREAM: wifi: mac80211_hwsim: set virtio device ready in probe()
  UPSTREAM: crypto: memneq - move into lib/
  UPSTREAM: dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspace
  BACKPORT: usb: typec: mux: Check dev_set_name() return value
  UPSTREAM: wireguard: device: check for metadata_dst with skb_valid_dst()
  UPSTREAM: sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq
  UPSTREAM: cfg80211: hold bss_lock while updating nontrans_list
  UPSTREAM: wireguard: socket: ignore v6 endpoints when ipv6 is disabled
  UPSTREAM: wireguard: socket: free skb in send6 when ipv6 is disabled
  UPSTREAM: wireguard: queueing: use CFI-safe ptr_ring cleanup function
  UPSTREAM: mm: don't try to NUMA-migrate COW pages that have other uses
  UPSTREAM: copy_process(): Move fd_install() out of sighand->siglock critical section
  UPSTREAM: usb: raw-gadget: fix handling of dual-direction-capable endpoints
  UPSTREAM: psi: Fix "no previous prototype" warnings when CONFIG_CGROUPS=n
  UPSTREAM: sched/uclamp: Fix rq->uclamp_max not set on first enqueue
  UPSTREAM: wireguard: selftests: increase default dmesg log size
  UPSTREAM: wireguard: allowedips: add missing __rcu annotation to satisfy sparse
  UPSTREAM: sched/uclamp: Fix uclamp_tg_restrict()
  UPSTREAM: coresight: etm4x: Fix etm4_count race by moving cpuhp callbacks to init
  UPSTREAM: sched/uclamp: Fix a deadlock when enabling uclamp static key
  UPSTREAM: mac80211_hwsim: use GFP_ATOMIC under spin lock
  UPSTREAM: usercopy: Avoid soft lockups in test_check_nonzero_user()
  UPSTREAM: lib: test_user_copy: style cleanup
  UPSTREAM: fork: return proper negative error code
  Revert "ipv6: make ip6_rt_gc_expire an atomic_t"
  Revert "ipv6: remove max_size check inline with ipv4"
  Linux 4.19.305
  ipv6: remove max_size check inline with ipv4
  ipv6: make ip6_rt_gc_expire an atomic_t
  net/dst: use a smaller percpu_counter batch for dst entries accounting
  net: add a route cache full diagnostic message
  PCI: Disable ATS for specific Intel IPU E2000 devices
  PCI: Extract ATS disabling to a helper function
  netfilter: nf_tables: Reject tables of unsupported family
  fuse: nlookup missing decrement in fuse_direntplus_link
  mmc: core: Cancel delayed work before releasing host
  mmc: rpmb: fixes pause retune on all RPMB partitions.
  mm: fix unmap_mapping_range high bits shift bug
  firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards
  mm/memory-failure: check the mapcount of the precise page
  bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters()
  asix: Add check for usbnet_get_endpoints
  net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues
  net/qla3xxx: switch from 'pci_' to 'dma_' API
  i40e: Restore VF MSI-X state during PCI reset
  i40e: fix use-after-free in i40e_aqc_add_filters()
  net: Save and restore msg_namelen in sock_sendmsg
  net: bcmgenet: Fix FCS generation for fragmented skbuffs
  ARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init
  net: sched: em_text: fix possible memory leak in em_text_destroy()
  i40e: Fix filter input checks to prevent config with invalid values
  nfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local
  UPSTREAM: fsverity: skip PKCS#7 parser when keyring is empty

Conflicts:
        kernel/sched/core.c
        mm/memory-failure.c

Change-Id: Ia3e5cc3e0d08850affcfbd4f40eff6d7281b350c
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2024-06-02 19:16:19 +01:00
bengris32
4817452ad1 Merge tag 'ASB-2024-01-05_4.19-stable' of https://android.googlesource.com/kernel/common into lineage-21
https://source.android.com/docs/security/bulletin/2024-01-01

* tag 'ASB-2024-01-05_4.19-stable' of https://android.googlesource.com/kernel/common:
  Linux 4.19.304
  block: Don't invalidate pagecache for invalid falloc modes
  dm-integrity: don't modify bio's immutable bio_vec in integrity_metadata()
  smb: client: fix OOB in smbCalcSize()
  usb: fotg210-hcd: delete an incorrect bounds test
  usb: musb: fix MUSB_QUIRK_B_DISCONNECT_99 handling
  x86/alternatives: Sync core before enabling interrupts
  net: rfkill: gpio: set GPIO direction
  net: 9p: avoid freeing uninit memory in p9pdu_vreadf
  Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent
  USB: serial: option: add Quectel RM500Q R13 firmware support
  USB: serial: option: add Foxconn T99W265 with new baseline
  USB: serial: option: add Quectel EG912Y module support
  USB: serial: ftdi_sio: update Actisense PIDs constant names
  wifi: cfg80211: fix certs build to not depend on file order
  wifi: cfg80211: Add my certificate
  iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table
  scsi: bnx2fc: Fix skb double free in bnx2fc_rcv()
  scsi: bnx2fc: Remove set but not used variable 'oxid'
  Input: ipaq-micro-keys - add error handling for devm_kmemdup
  iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw
  btrfs: do not allow non subvolume root targets for snapshot
  smb: client: fix NULL deref in asn1_ber_decoder()
  pinctrl: at91-pio4: use dedicated lock class for IRQ
  net: check dev->gso_max_size in gso_features_check()
  net: warn if gso_type isn't set for a GSO SKB
  afs: Fix the dynamic root's d_delete to always delete unused dentries
  net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev()
  net/rose: fix races in rose_kill_by_device()
  ethernet: atheros: fix a memleak in atl1e_setup_ring_resources
  net: sched: ife: fix potential use-after-free
  net/mlx5: Fix fw tracer first block check
  net/mlx5: improve some comments
  wifi: mac80211: mesh_plink: fix matches_local logic
  s390/vx: fix save/restore of fpu kernel context
  reset: Fix crash when freeing non-existent optional resets
  ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init
  ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE
  ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5
  ALSA: hda/realtek: Enable headset onLenovo M70/M90
  ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB
  arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names
  Revert "cred: switch to using atomic_long_t"
  Linux 4.19.303
  powerpc/ftrace: Fix stack teardown in ftrace_no_trace
  powerpc/ftrace: Create a dummy stackframe to fix stack unwind
  mmc: block: Be sure to wait while busy in CQE error recovery
  ring-buffer: Fix memory leak of free page
  team: Fix use-after-free when an option instance allocation fails
  arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify
  ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS
  perf: Fix perf_event_validate_size() lockdep splat
  HID: hid-asus: add const to read-only outgoing usb buffer
  net: usb: qmi_wwan: claim interface 4 for ZTE MF290
  asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation
  HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad
  HID: hid-asus: reset the backlight brightness level on resume
  HID: add ALWAYS_POLL quirk for Apple kb
  platform/x86: intel_telemetry: Fix kernel doc descriptions
  bcache: avoid NULL checking to c->root in run_cache_set()
  bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc()
  bcache: avoid oversize memory allocation by small stripe_size
  blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!"
  cred: switch to using atomic_long_t
  Revert "PCI: acpiphp: Reassign resources on bridge if necessary"
  appletalk: Fix Use-After-Free in atalk_ioctl
  net: stmmac: Handle disabled MDIO busses from devicetree
  vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space()
  sign-file: Fix incorrect return values check
  net: Remove acked SYN flag from packet in the transmit queue correctly
  qed: Fix a potential use-after-free in qed_cxt_tables_alloc
  net/rose: Fix Use-After-Free in rose_ioctl
  atm: Fix Use-After-Free in do_vcc_ioctl
  atm: solos-pci: Fix potential deadlock on &tx_queue_lock
  atm: solos-pci: Fix potential deadlock on &cli_queue_lock
  qca_spi: Fix reset behavior
  qca_debug: Fix ethtool -G iface tx behavior
  qca_debug: Prevent crash on TX ring changes
  Revert "psample: Require 'CAP_NET_ADMIN' when joining "packets" group"
  Revert "genetlink: add CAP_NET_ADMIN test for multicast bind"
  Revert "drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group"
  Revert "perf/core: Add a new read format to get a number of lost samples"
  Revert "perf: Fix perf_event_validate_size()"
  Revert "hrtimers: Push pending hrtimers away from outgoing CPU earlier"
  ANDROID: Snapshot Mainline's version of checkpatch.pl
  Linux 4.19.302
  devcoredump: Send uevent once devcd is ready
  devcoredump : Serialize devcd_del work
  IB/isert: Fix unaligned immediate-data handling
  tools headers UAPI: Sync linux/perf_event.h with the kernel sources
  drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group
  psample: Require 'CAP_NET_ADMIN' when joining "packets" group
  genetlink: add CAP_NET_ADMIN test for multicast bind
  netlink: don't call ->netlink_bind with table lock held
  nilfs2: fix missing error check for sb_set_blocksize call
  KVM: s390/mm: Properly reset no-dat
  x86/CPU/AMD: Check vendor in the AMD microcode callback
  serial: 8250_omap: Add earlycon support for the AM654 UART controller
  serial: sc16is7xx: address RX timeout interrupt errata
  usb: typec: class: fix typec_altmode_put_partner to put plugs
  parport: Add support for Brainboxes IX/UC/PX parallel cards
  usb: gadget: f_hid: fix report descriptor allocation
  gpiolib: sysfs: Fix error handling on failed export
  perf: Fix perf_event_validate_size()
  perf/core: Add a new read format to get a number of lost samples
  tracing: Fix a possible race when disabling buffered events
  tracing: Fix incomplete locking when disabling buffered events
  tracing: Always update snapshot buffer size
  nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage()
  packet: Move reference count in packet_sock to atomic_long_t
  ALSA: pcm: fix out-of-bounds in snd_pcm_state_names
  ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt
  ARM: dts: imx: make gpt node name generic
  ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init
  scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle()
  tracing: Fix a warning when allocating buffered events fails
  hwmon: (acpi_power_meter) Fix 4.29 MW bug
  RDMA/bnxt_re: Correct module description string
  tcp: do not accept ACK of bytes we never sent
  netfilter: xt_owner: Fix for unsafe access of sk->sk_socket
  netfilter: xt_owner: Add supplementary groups option
  net: hns: fix fake link up on xge port
  ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit()
  arcnet: restoring support for multiple Sohard Arcnet cards
  net: arcnet: com20020 fix error handling
  net: arcnet: Fix RESET flag handling
  hv_netvsc: rndis_filter needs to select NLS
  ipv6: fix potential NULL deref in fib6_add()
  drm/amdgpu: correct chunk_ptr to a pointer to chunk.
  kconfig: fix memory leak from range properties
  tg3: Increment tx_dropped in tg3_tso_bug()
  tg3: Move the [rt]x_dropped counters to tg3_napi
  netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test
  hrtimers: Push pending hrtimers away from outgoing CPU earlier
  media: davinci: vpif_capture: fix potential double free
  spi: imx: mx51-ecspi: Move some initialisation to prepare_message hook.
  spi: imx: correct wml as the last sg length
  spi: imx: move wml setting to later than setup_transfer
  spi: imx: add a device specific prepare_message callback
  Linux 4.19.301
  mmc: block: Retry commands in CQE error recovery
  mmc: core: convert comma to semicolon
  mmc: cqhci: Fix task clearing in CQE error recovery
  mmc: cqhci: Warn of halt or task clear failure
  mmc: cqhci: Increase recovery halt timeout
  cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily
  cpufreq: imx6q: don't warn for disabling a non-existing frequency
  ima: detect changes to the backing overlay file
  ovl: skip overlayfs superblocks at global sync
  ima: annotate iint mutex to avoid lockdep false positive warnings
  fbdev: stifb: Make the STI next font pointer a 32-bit signed offset
  mtd: cfi_cmdset_0001: Byte swap OTP info
  mtd: cfi_cmdset_0001: Support the absence of protection registers
  s390/cmma: fix detection of DAT pages
  s390/mm: fix phys vs virt confusion in mark_kernel_pXd() functions family
  smb3: fix touch -h of symlink
  net: ravb: Start TX queues after HW initialization succeeded
  ravb: Fix races between ravb_tx_timeout_work() and net related ops
  ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet
  Input: xpad - add HyperX Clutch Gladiate Support
  btrfs: send: ensure send_fd is writable
  btrfs: fix off-by-one when checking chunk map includes logical address
  powerpc: Don't clobber f0/vs0 during fp|altivec register save
  bcache: revert replacing IS_ERR_OR_NULL with IS_ERR
  dm verity: don't perform FEC for failed readahead IO
  dm-verity: align struct dm_verity_fec_io properly
  ALSA: hda/realtek: Headset Mic VREF to 100%
  ALSA: hda: Disable power-save on KONTRON SinglePC
  mmc: block: Do not lose cache flush during CQE error recovery
  firewire: core: fix possible memory leak in create_units()
  pinctrl: avoid reload of p state in list iteration
  USB: dwc3: qcom: fix wakeup after probe deferral
  usb: dwc3: set the dma max_seg_size
  USB: dwc2: write HCINT with INTMASK applied
  USB: serial: option: don't claim interface 4 for ZTE MF290
  USB: serial: option: fix FM101R-GL defines
  USB: serial: option: add Fibocom L7xx modules
  bcache: prevent potential division by zero error
  bcache: check return value from btree_node_alloc_replacement()
  dm-delay: fix a race between delay_presuspend and delay_bio
  hv_netvsc: Mark VF as slave before exposing it to user-mode
  hv_netvsc: Fix race of register_netdevice_notifier and VF register
  USB: serial: option: add Luat Air72*U series products
  s390/dasd: protect device queue against concurrent access
  bcache: replace a mistaken IS_ERR() by IS_ERR_OR_NULL() in btree_gc_coalesce()
  mtd: rawnand: brcmnand: Fix ecc chunk calculation for erased page bitfips
  KVM: arm64: limit PMU version to PMUv3 for ARMv8.1
  arm64: cpufeature: Extract capped perfmon fields
  MIPS: KVM: Fix a build warning about variable set but not used
  net: axienet: Fix check for partial TX checksum
  amd-xgbe: propagate the correct speed and duplex status
  amd-xgbe: handle the corner-case during tx completion
  amd-xgbe: handle corner-case during sfp hotplug
  arm/xen: fix xen_vcpu_info allocation alignment
  net: usb: ax88179_178a: fix failed operations during ax88179_reset
  ipv4: Correct/silence an endian warning in __ip_do_redirect
  HID: fix HID device resource race between HID core and debugging support
  HID: core: store the unique system identifier in hid_device
  drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full
  ata: pata_isapnp: Add missing error check for devm_ioport_map()
  drm/panel: simple: Fix Innolux G101ICE-L01 timings
  RDMA/irdma: Prevent zero-length STAG registration
  driver core: Release all resources during unbind before updating device links

Conflicts:
        arch/arm64/boot/dts/mediatek/mt8173-evb.dts (used ours)
        drivers/mmc/core/block.c

Change-Id: I714e6e76ce2fca35f3042715416373728fa5289b
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2024-06-02 19:15:07 +01:00
bengris32
956561314e Merge tag 'ASB-2022-05-05_4.19-stable' of https://android.googlesource.com/kernel/common into lineage-21
https://source.android.com/security/bulletin/2022-05-01
CVE-2022-0847
CVE-2022-20009
CVE-2022-20008
CVE-2021-22600

* tag 'ASB-2022-05-05_4.19-stable' of https://android.googlesource.com/kernel/common:
  Linux 4.19.241
  lightnvm: disable the subsystem
  Revert "net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link"
  ia64: kprobes: Fix to pass correct trampoline address to the handler
  Revert "ia64: kprobes: Use generic kretprobe trampoline handler"
  Revert "ia64: kprobes: Fix to pass correct trampoline address to the handler"
  powerpc/64s: Unmerge EX_LR and EX_DAR
  powerpc/64/interrupt: Temporarily save PPR on stack to fix register corruption due to SLB miss
  net/sched: cls_u32: fix netns refcount changes in u32_change()
  hamradio: remove needs_free_netdev to avoid UAF
  hamradio: defer 6pack kfree after unregister_netdev
  floppy: disable FDRAWCMD by default
  media: vicodec: upon release, call m2m release before freeing ctrl handler
  Linux 4.19.240
  Revert "net: micrel: fix KS8851_MLL Kconfig"
  ax25: Fix UAF bugs in ax25 timers
  ax25: Fix NULL pointer dereferences in ax25 timers
  ax25: fix NPD bug in ax25_disconnect
  ax25: fix UAF bug in ax25_send_control()
  ax25: Fix refcount leaks caused by ax25_cb_del()
  ax25: fix UAF bugs of net_device caused by rebinding operation
  ax25: fix reference count leaks of ax25_dev
  ax25: add refcount in ax25_dev to avoid UAF bugs
  block/compat_ioctl: fix range check in BLKGETSIZE
  staging: ion: Prevent incorrect reference counting behavour
  ext4: force overhead calculation if the s_overhead_cluster makes no sense
  ext4: fix overhead calculation to account for the reserved gdt blocks
  ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
  ext4: fix symlink file size not match to file content
  arm_pmu: Validate single/group leader events
  ARC: entry: fix syscall_trace_exit argument
  e1000e: Fix possible overflow in LTR decoding
  ASoC: soc-dapm: fix two incorrect uses of list iterator
  openvswitch: fix OOB access in reserve_sfa_size()
  powerpc/perf: Fix power9 event alternatives
  drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare
  drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised
  dma: at_xdmac: fix a missing check on list iterator
  ata: pata_marvell: Check the 'bmdma_addr' beforing reading
  stat: fix inconsistency between struct stat and struct compat_stat
  net: macb: Restart tx only if queue pointer is lagging
  drm/msm/mdp5: check the return of kzalloc()
  dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info()
  brcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant
  mt76: Fix undefined behavior due to shift overflowing the constant
  cifs: Check the IOCB_DIRECT flag, not O_DIRECT
  vxlan: fix error return code in vxlan_fdb_append
  ALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant
  platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negative
  reset: tegra-bpmp: Restore Handle errors in BPMP response
  ARM: vexpress/spc: Avoid negative array index when !SMP
  netlink: reset network and mac headers in netlink_dump()
  net/sched: cls_u32: fix possible leak in u32_init_knode()
  net/packet: fix packet_sock xmit return value checking
  rxrpc: Restore removed timer deletion
  dmaengine: imx-sdma: Fix error checking in sdma_event_remap
  ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component
  ASoC: atmel: Remove system clock tree configuration for at91sam9g20ek
  tcp: Fix potential use-after-free due to double kfree()
  tcp: fix race condition when creating child sockets from syncookies
  ALSA: usb-audio: Clear MIDI port active flag after draining
  gfs2: assign rgrp glock before compute_bitstructs
  dm integrity: fix memory corruption when tag_size is less than digest size
  can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path
  tracing: Dump stacktrace trigger to the corresponding instance
  mm: page_alloc: fix building error on -Werror=array-compare
  etherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead
  Linux 4.19.239
  i2c: pasemi: Wait for write xfers to finish
  smp: Fix offline cpu check in flush_smp_call_function_queue()
  ARM: davinci: da850-evm: Avoid NULL pointer dereference
  ipv6: fix panic when forwarding a pkt with no in6 dev
  ALSA: pcm: Test for "silence" field in struct "pcm_format_data"
  ALSA: hda/realtek: Add quirk for Clevo PD50PNT
  gcc-plugins: latent_entropy: use /dev/urandom
  mm: kmemleak: take a full lowmem check in kmemleak_*_phys()
  mm, page_alloc: fix build_zonerefs_node()
  drivers: net: slip: fix NPD bug in sl_tx_timeout()
  scsi: mvsas: Add PCI ID of RocketRaid 2640
  drm/amd/display: Fix allocate_mst_payload assert on resume
  arm64: alternatives: mark patch_alternative() as `noinstr`
  gpu: ipu-v3: Fix dev_dbg frequency output
  ata: libata-core: Disable READ LOG DMA EXT for Samsung 840 EVOs
  net: micrel: fix KS8851_MLL Kconfig
  scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024
  scsi: target: tcmu: Fix possible page UAF
  Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer
  drm/amdkfd: Check for potential null return of kmalloc_array()
  drm/amd: Add USBC connector ID
  cifs: potential buffer overflow in handling symlinks
  nfc: nci: add flush_workqueue to prevent uaf
  testing/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu set
  sctp: Initialize daddr on peeled off socket
  net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link
  mlxsw: i2c: Fix initialization error flow
  gpiolib: acpi: use correct format characters
  veth: Ensure eth header is in skb's linear part
  net/sched: flower: fix parsing of ethertype following VLAN header
  memory: atmel-ebi: Fix missing of_node_put in atmel_ebi_probe
  ANDROID: GKI: fix crc issue with commit 6281beee5b ("block: don't merge across cgroup boundaries if blkcg is enabled")
  Revert "PCI: Reduce warnings on possible RW1C corruption"
  Linux 4.19.238
  drm/amdkfd: Use drm_priv to pass VM from KFD to amdgpu
  drm/amdgpu: Check if fd really is an amdgpu fd.
  xfrm: policy: match with both mark and mask on user interfaces
  selftests: cgroup: Test open-time cgroup namespace usage for migration checks
  selftests: cgroup: Test open-time credential usage for migration checks
  selftests: cgroup: Make cg_create() use 0755 for permission instead of 0644
  cgroup: Use open-time cgroup namespace for process migration perm checks
  cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv
  cgroup: Use open-time credentials for process migraton perm checks
  mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning
  arm64: module: remove (NOLOAD) from linker script
  mm: don't skip swap entry even if zap_details specified
  dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"
  tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts
  tools build: Filter out options and warnings not supported by clang
  irqchip/gic-v3: Fix GICR_CTLR.RWP polling
  perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator
  ata: sata_dwc_460ex: Fix crash due to OOB write
  arm64: patch_text: Fixup last cpu should be master
  btrfs: fix qgroup reserve overflow the qgroup limit
  x86/speculation: Restore speculation related MSRs during S3 resume
  x86/pm: Save the MSR validity status at context setup
  mm/mempolicy: fix mpol_new leak in shared_policy_replace
  mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)
  mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is complete
  Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning"
  drbd: Fix five use after free bugs in get_initial_state
  spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op()
  qede: confirm skb is allocated before using
  rxrpc: fix a race in rxrpc_exit_net()
  net: openvswitch: don't send internal clone attribute to the userspace.
  drm/imx: Fix memory leak in imx_pd_connector_get_modes
  net: stmmac: Fix unset max_speed difference between DT and non-DT platforms
  scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()
  Drivers: hv: vmbus: Fix potential crash on module unload
  drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()
  KVM: arm64: Check arm64_get_bp_hardening_data() didn't return NULL
  mm: fix race between MADV_FREE reclaim and blkdev direct IO read
  net: add missing SOF_TIMESTAMPING_OPT_ID support
  parisc: Fix CPU affinity for Lasi, WAX and Dino chips
  jfs: prevent NULL deref in diFree
  virtio_console: eliminate anonymous module_init & module_exit
  serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()
  NFS: swap-out must always use STABLE writes.
  NFS: swap IO handling is slightly different for O_DIRECT IO
  SUNRPC/call_alloc: async tasks mustn't block waiting for memory
  clk: Enforce that disjoints limits are invalid
  xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32
  NFSv4: Protect the state recovery thread against direct reclaim
  w1: w1_therm: fixes w1_seq for ds28ea00 sensors
  minix: fix bug when opening a file with O_DIRECT
  init/main.c: return 1 from handled __setup() functions
  Bluetooth: Fix use after free in hci_send_acl
  xtensa: fix DTC warning unit_address_format
  usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm
  scsi: libfc: Fix use after free in fc_exch_abts_resp()
  MIPS: fix fortify panic when copying asm exception handlers
  bnxt_en: Eliminate unintended link toggle during FW reset
  macvtap: advertise link netns via netlink
  net/smc: correct settings of RMB window update limit
  scsi: aha152x: Fix aha152x_setup() __setup handler return value
  scsi: pm8001: Fix pm8001_mpi_task_abort_resp()
  drm/amdkfd: make CRAT table missing message informational only
  dm ioctl: prevent potential spectre v1 gadget
  ipv4: Invalidate neighbour for broadcast address upon address addition
  PCI: pciehp: Add Qualcomm quirk for Command Completed erratum
  usb: ehci: add pci device support for Aspeed platforms
  iommu/arm-smmu-v3: fix event handling soft lockup
  PCI: aardvark: Fix support for MSI interrupts
  powerpc: Set crashkernel offset to mid of RMA region
  power: supply: axp20x_battery: properly report current when discharging
  scsi: bfa: Replace snprintf() with sysfs_emit()
  scsi: mvsas: Replace snprintf() with sysfs_emit()
  powerpc: dts: t104xrdb: fix phy type for FMAN 4/5
  ptp: replace snprintf with sysfs_emit
  drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj
  ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111
  drm: Add orientation quirk for GPD Win Max
  KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs
  ARM: 9187/1: JIVE: fix return value of __setup handler
  riscv module: remove (NOLOAD)
  rtc: wm8350: Handle error for wm8350_register_irq
  ubifs: Rectify space amount budget for mkdir/tmpfile operations
  KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated
  openvswitch: Fixed nd target mask field in the flow dump.
  um: Fix uml_mconsole stop/go
  ARM: dts: spear13xx: Update SPI dma properties
  ARM: dts: spear1340: Update serial node properties
  ASoC: topology: Allow TLV control to be either read or write
  ubi: fastmap: Return error code if memory allocation fails in add_aeb()
  bpf: Fix comment for helper bpf_current_task_under_cgroup()
  mm/usercopy: return 1 from hardened_usercopy __setup() handler
  mm/memcontrol: return 1 from cgroup.memory __setup() handler
  mm/mmap: return 1 from stack_guard_gap __setup() handler
  ACPI: CPPC: Avoid out of bounds access when parsing _CPC data
  ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl
  pinctrl: pinconf-generic: Print arguments for bias-pull-*
  gfs2: Make sure FITRIM minlen is rounded up to fs block size
  can: mcba_usb: properly check endpoint type
  can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path
  ubifs: rename_whiteout: correct old_dir size computing
  ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()
  ubifs: setflags: Make dirtied_ino_d 8 bytes aligned
  ubifs: Add missing iput if do_tmpfile() failed in rename whiteout
  ubifs: Fix deadlock in concurrent rename whiteout and inode writeback
  ubifs: rename_whiteout: Fix double free for whiteout_ui->data
  KVM: x86: fix sending PV IPI
  KVM: Prevent module exit until all VMs are freed
  scsi: qla2xxx: Use correct feature type field during RFF_ID processing
  scsi: qla2xxx: Reduce false trigger to login
  scsi: qla2xxx: Fix hang due to session stuck
  scsi: qla2xxx: Fix incorrect reporting of task management failure
  scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()
  scsi: qla2xxx: Check for firmware dump already collected
  scsi: qla2xxx: Fix warning for missing error code
  scsi: qla2xxx: Fix stuck session in gpdb
  powerpc: Fix build errors with newer binutils
  powerpc/lib/sstep: Fix build errors with newer binutils
  powerpc/lib/sstep: Fix 'sthcx' instruction
  mmc: host: Return an error when ->enable_sdio_irq() ops is missing
  media: hdpvr: initialize dev->worker at hdpvr_register_videodev
  media: Revert "media: em28xx: add missing em28xx_close_extension"
  video: fbdev: sm712fb: Fix crash in smtcfb_write()
  ARM: mmp: Fix failure to remove sram device
  ARM: tegra: tamonten: Fix I2C3 pad setting
  media: cx88-mpeg: clear interrupt status register before streaming video
  ASoC: soc-core: skip zero num_dai component in searching dai name
  video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit
  video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()
  video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()
  ARM: dts: bcm2837: Add the missing L1/L2 cache information
  ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960
  video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit
  video: fbdev: cirrusfb: check pixclock to avoid divide by zero
  video: fbdev: w100fb: Reset global state
  video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow
  ntfs: add sanity check on allocation size
  ext4: don't BUG if someone dirty pages without asking ext4 first
  spi: tegra20: Use of_device_get_match_data()
  PM: core: keep irq flags in device_pm_check_callbacks()
  ACPI/APEI: Limit printable size of BERT table data
  Revert "Revert "block, bfq: honor already-setup queue merges""
  lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3
  ACPICA: Avoid walking the ACPI Namespace if it is not there
  bfq: fix use-after-free in bfq_dispatch_request
  irqchip/nvic: Release nvic_base upon failure
  irqchip/qcom-pdc: Fix broken locking
  Fix incorrect type in assignment of ipv6 port for audit
  loop: use sysfs_emit() in the sysfs xxx show()
  selinux: use correct type for context length
  lib/test: use after free in register_test_dev_kmod()
  NFSv4/pNFS: Fix another issue with a list iterator pointing to the head
  net/x25: Fix null-ptr-deref caused by x25_disconnect
  qlcnic: dcb: default to returning -EOPNOTSUPP
  net: phy: broadcom: Fix brcm_fet_config_init()
  xen: fix is_xen_pmu()
  clk: qcom: gcc-msm8994: Fix gpll4 width
  netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options
  jfs: fix divide error in dbNextAG
  kgdbts: fix return value of __setup handler
  kgdboc: fix return value of __setup handler
  tty: hvc: fix return value of __setup handler
  pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe
  pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe
  pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init
  NFS: remove unneeded check in decode_devicenotify_args()
  clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver
  clk: clps711x: Terminate clk_div_table with sentinel element
  clk: loongson1: Terminate clk_div_table with sentinel element
  clk: actions: Terminate clk_div_table with sentinel element
  remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region
  clk: qcom: clk-rcg2: Update the frac table for pixel clock
  dma-debug: fix return value of __setup handlers
  iio: adc: Add check for devm_request_threaded_irq
  serial: 8250: Fix race condition in RTS-after-send handling
  serial: 8250_mid: Balance reference count for PCI DMA device
  clk: qcom: ipq8074: Use floor ops for SDCC1 clock
  staging:iio:adc:ad7280a: Fix handing of device address bit reversing.
  pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
  mxser: fix xmit_buf leak in activate when LSR == 0xff
  mfd: asic3: Add missing iounmap() on error asic3_mfd_probe
  tcp: ensure PMTU updates are processed during fastopen
  selftests/bpf/test_lirc_mode2.sh: Exit with proper code
  i2c: mux: demux-pinctrl: do not deactivate a master that is not active
  af_netlink: Fix shift out of bounds in group mask calculation
  USB: storage: ums-realtek: fix error code in rts51x_read_mem()
  mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init
  MIPS: RB532: fix return value of __setup handler
  vxcan: enable local echo for sent CAN frames
  mfd: mc13xxx: Add check for mc13xxx_irq_request
  powerpc/sysdev: fix incorrect use to determine if list is empty
  PCI: Reduce warnings on possible RW1C corruption
  power: supply: wm8350-power: Add missing free in free_charger_irq
  power: supply: wm8350-power: Handle error for wm8350_register_irq
  i2c: xiic: Make bus names unique
  hv_balloon: rate-limit "Unhandled message" warning
  KVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()
  KVM: x86: Fix emulation in writing cr8
  powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit
  drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt
  power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return
  drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
  ext2: correct max file size computing
  TOMOYO: fix __setup handlers return values
  scsi: pm8001: Fix abort all task initialization
  scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()
  scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
  scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
  dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS
  iwlwifi: Fix -EIO error code that is never returned
  HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports
  power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init
  ray_cs: Check ioremap return value
  power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe
  KVM: PPC: Fix vmx/vsx mixup in mmio emulation
  ath9k_htc: fix uninit value bugs
  drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()
  drm/edid: Don't clear formats if using deep color
  mtd: onenand: Check for error irq
  Bluetooth: hci_serdev: call init_rwsem() before p->open()
  ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern
  drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev
  mmc: davinci_mmc: Handle error for clk_enable
  ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe
  ASoC: imx-es8328: Fix error return code in imx_es8328_probe()
  ASoC: mxs: Fix error handling in mxs_sgtl5000_probe
  ASoC: dmaengine: do not use a NULL prepare_slave_config() callback
  video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of
  ASoC: fsi: Add check for clk_enable
  ASoC: wm8350: Handle error for wm8350_register_irq
  ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
  media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUED
  ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction
  memory: emif: check the pointer temp in get_device_details()
  memory: emif: Add check for setup_interrupts
  ASoC: atmel_ssc_dai: Handle errors for clk_enable
  ASoC: mxs-saif: Handle errors for clk_enable
  printk: fix return value of printk.devkmsg __setup handler
  arm64: dts: broadcom: Fix sata nodename
  arm64: dts: ns2: Fix spi-cpol and spi-cpha property
  ALSA: spi: Add check for clk_enable()
  ASoC: ti: davinci-i2s: Add check for clk_enable()
  ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()
  media: usb: go7007: s2250-board: fix leak in probe()
  media: em28xx: initialize refcount before kref_get
  soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe
  ARM: dts: qcom: ipq4019: fix sleep clock
  video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()
  video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()
  media: coda: Fix missing put_device() call in coda_get_vdoa_data
  perf/x86/intel/pt: Fix address filter config for 32-bit kernel
  perf/core: Fix address filter parser for multiple filters
  sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa
  clocksource: acpi_pm: fix return value of __setup handler
  hwmon: (pmbus) Add Vin unit off handling
  crypto: ccp - ccp_dmaengine_unregister release dma channels
  ACPI: APEI: fix return value of __setup handlers
  clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()
  crypto: vmx - add missing dependencies
  hwrng: atmel - disable trng on failure path
  PM: suspend: fix return value of __setup handler
  PM: hibernate: fix __setup handler error handling
  block: don't delete queue kobject before its children
  hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING
  hwmon: (pmbus) Add mutex to regulator ops
  spi: pxa2xx-pci: Balance reference count for PCI DMA device
  selftests/x86: Add validity check and allow field splitting
  spi: tegra114: Add missing IRQ check in tegra_spi_probe
  crypto: mxs-dcp - Fix scatterlist processing
  crypto: authenc - Fix sleep in atomic context in decrypt_tail
  regulator: qcom_smd: fix for_each_child.cocci warnings
  PCI: pciehp: Clear cmd_busy bit in polling mode
  brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio
  brcmfmac: firmware: Allocate space for default boardrev in nvram
  media: davinci: vpif: fix unbalanced runtime PM get
  DEC: Limit PMAX memory probing to R3k systems
  lib/raid6/test: fix multiple definition linking error
  thermal: int340x: Increase bitmap size
  carl9170: fix missing bit-wise or operator for tx_params
  ARM: dts: exynos: add missing HDMI supplies on SMDK5420
  ARM: dts: exynos: add missing HDMI supplies on SMDK5250
  ARM: dts: exynos: fix UART3 pins configuration in Exynos5250
  ARM: dts: at91: sama5d2: Fix PMERRLOC resource size
  video: fbdev: atari: Atari 2 bpp (STe) palette bugfix
  video: fbdev: sm712fb: Fix crash in smtcfb_read()
  drm/edid: check basic audio support on CEA extension block
  block: don't merge across cgroup boundaries if blkcg is enabled
  drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()
  ACPI: properties: Consistently return -ENOENT if there are no more references
  powerpc/kvm: Fix kvm_use_magic_page
  drbd: fix potential silent data corruption
  mm,hwpoison: unmap poisoned page before invalidation
  ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020
  ALSA: cs4236: fix an incorrect NULL check on list iterator
  Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
  qed: validate and restrict untrusted VFs vlan promisc mode
  qed: display VF trust config
  scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands
  mempolicy: mbind_range() set_policy() after vma_merge()
  mm: invalidate hwpoison page cache page in fault path
  mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node
  jffs2: fix memory leak in jffs2_scan_medium
  jffs2: fix memory leak in jffs2_do_mount_fs
  jffs2: fix use-after-free in jffs2_clear_xattr_subsystem
  can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path
  pinctrl: samsung: drop pin banks references on error paths
  f2fs: fix to unlock page correctly in error path of is_alive()
  NFSD: prevent integer overflow on 32 bit systems
  NFSD: prevent underflow in nfssvc_decode_writeargs()
  SUNRPC: avoid race between mod_timer() and del_timer_sync()
  Documentation: update stable tree link
  Documentation: add link to stable release candidate tree
  ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE
  clk: uniphier: Fix fixed-rate initialization
  iio: inkern: make a best effort on offset calculation
  iio: inkern: apply consumer scale when no channel scale is available
  iio: inkern: apply consumer scale on IIO_VAL_INT cases
  iio: afe: rescale: use s64 for temporary scale calculations
  coresight: Fix TRCCONFIGR.QE sysfs interface
  xhci: make xhci_handshake timeout for xhci_reset() adjustable
  USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
  virtio-blk: Use blk_validate_block_size() to validate block size
  block: Add a helper to validate the block size
  tpm: fix reference counting for struct tpm_chip
  fuse: fix pipe buffer lifetime for direct_io
  af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_register
  spi: Fix erroneous sgs value with min_t()
  net:mcf8390: Use platform_get_irq() to get the interrupt
  spi: Fix invalid sgs value
  ethernet: sun: Free the coherent when failing in probing
  virtio_console: break out of buf poll on remove
  xfrm: fix tunnel model fragmentation behavior
  netdevice: add the case if dev is NULL
  USB: serial: simple: add Nokia phone driver
  USB: serial: pl2303: add IBM device IDs
  ANDROID: incremental-fs: limit mount stack depth
  UPSTREAM: binderfs: use __u32 for device numbers

Conflicts:
        drivers/usb/host/xhci.c
        drivers/usb/host/xhci.h

Change-Id: Ie46de5cacb16738b494139117bdd07f45adc8950
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2024-06-02 17:52:51 +01:00
bengris32
d18ba52f05 Merge tag 'ASB-2021-08-05_4.19-stable' of https://android.googlesource.com/kernel/common into lineage-21
https://source.android.com/security/bulletin/2021-08-01
CVE-2020-14381
CVE-2021-3347
CVE-2021-28375

* tag 'ASB-2021-08-05_4.19-stable' of https://android.googlesource.com/kernel/common:
  Linux 4.19.200
  ARM: dts: versatile: Fix up interrupt controller node names
  cifs: fix the out of range assignment to bit fields in parse_server_interfaces
  firmware: arm_scmi: Fix range check for the maximum number of pending messages
  firmware: arm_scmi: Fix possible scmi_linux_errmap buffer overflow
  hfs: add lock nesting notation to hfs_find_init
  hfs: fix high memory mapping in hfs_bnode_read
  hfs: add missing clean-up in hfs_fill_super
  sctp: move 198 addresses from unusable to private scope
  net: annotate data race around sk_ll_usec
  net/802/garp: fix memleak in garp_request_join()
  net/802/mrp: fix memleak in mrp_request_join()
  workqueue: fix UAF in pwq_unbound_release_workfn()
  af_unix: fix garbage collect vs MSG_PEEK
  net: split out functions related to registering inflight socket files
  KVM: x86: determine if an exception has an error code only when injecting it.
  iio: dac: ds4422/ds4424 drop of_node check
  selftest: fix build error in tools/testing/selftests/vm/userfaultfd.c
  ANDROID: staging: ion: move buffer kmap from begin/end_cpu_access()
  Linux 4.19.199
  xhci: add xhci_get_virt_ep() helper
  spi: spi-fsl-dspi: Fix a resource leak in an error handling path
  PCI: Mark AMD Navi14 GPU ATS as broken
  btrfs: compression: don't try to compress if we don't have enough pages
  iio: accel: bma180: Fix BMA25x bandwidth register values
  iio: accel: bma180: Use explicit member assignment
  net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear
  net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz
  KVM: Use kvm_pfn_t for local PFN variable in hva_to_pfn_remapped()
  KVM: do not allow mapping valid but non-reference-counted pages
  KVM: do not assume PTE is writable after follow_pfn
  drm: Return -ENOTTY for non-drm ioctls
  nds32: fix up stack guard gap
  selftest: use mmap instead of posix_memalign to allocate memory
  ixgbe: Fix packet corruption due to missing DMA sync
  media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf()
  tracing: Fix bug in rb_per_cpu_empty() that might cause deadloop.
  usb: dwc2: gadget: Fix sending zero length packet in DDMA mode.
  USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick
  USB: serial: cp210x: fix comments for GE CS1000
  USB: serial: option: add support for u-blox LARA-R6 family
  usb: renesas_usbhs: Fix superfluous irqs happen after usb_pkt_pop()
  usb: max-3421: Prevent corruption of freed memory
  USB: usb-storage: Add LaCie Rugged USB3-FW to IGNORE_UAS
  usb: hub: Fix link power management max exit latency (MEL) calculations
  usb: hub: Disable USB 3 device initiated lpm if exit latency is too high
  KVM: PPC: Book3S: Fix H_RTAS rets buffer overflow
  xhci: Fix lost USB 2 remote wake
  ALSA: sb: Fix potential ABBA deadlock in CSP driver
  ALSA: usb-audio: Add registration quirk for JBL Quantum headsets
  s390/ftrace: fix ftrace_update_ftrace_func implementation
  Revert "MIPS: add PMD table accounting into MIPS'pmd_alloc_one"
  proc: Avoid mixing integer types in mem_rw()
  drm/panel: raspberrypi-touchscreen: Prevent double-free
  net: sched: cls_api: Fix the the wrong parameter
  sctp: update active_key for asoc when old key is being replaced
  Revert "USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem"
  nvme-pci: don't WARN_ON in nvme_reset_work if ctrl.state is not RESETTING
  net/sched: act_skbmod: Skip non-Ethernet packets
  net/tcp_fastopen: fix data races around tfo_active_disable_stamp
  spi: cadence: Correct initialisation of runtime PM again
  scsi: target: Fix protect handling in WRITE SAME(32)
  scsi: iscsi: Fix iface sysfs attr detection
  netrom: Decrease sock refcount when sock timers expire
  KVM: PPC: Fix kvm_arch_vcpu_ioctl vcpu_load leak
  net: decnet: Fix sleeping inside in af_decnet
  net: fix uninit-value in caif_seqpkt_sendmsg
  bpftool: Check malloc return value in mount_bpffs_for_pin
  s390/bpf: Perform r1 range checking before accessing jit->seen_reg[r1]
  liquidio: Fix unintentional sign extension issue on left shift of u16
  spi: mediatek: fix fifo rx mode
  perf probe-file: Delete namelist in del_events() on the error path
  perf test bpf: Free obj_buf
  perf lzma: Close lzma stream on exit
  perf dso: Fix memory leak in dso__new_map()
  perf probe: Fix dso->nsinfo refcounting
  perf map: Fix dso->nsinfo refcounting
  nvme-pci: do not call nvme_dev_remove_admin from nvme_remove
  ipv6: fix 'disable_policy' for fwd packets
  igb: Fix position of assignment to *ring
  igb: Check if num of q_vectors is smaller than max before array access
  iavf: Fix an error handling path in 'iavf_probe()'
  e1000e: Fix an error handling path in 'e1000_probe()'
  fm10k: Fix an error handling path in 'fm10k_probe()'
  igb: Fix an error handling path in 'igb_probe()'
  ixgbe: Fix an error handling path in 'ixgbe_probe()'
  igb: Fix use-after-free error during reset
  net: ip_tunnel: fix mtu calculation for ETHER tunnel devices
  udp: annotate data races around unix_sk(sk)->gso_size
  bpftool: Properly close va_list 'ap' by va_end() on error
  ipv6: tcp: drop silly ICMPv6 packet too big messages
  tcp: annotate data races around tp->mtu_info
  dma-buf/sync_file: Don't leak fences on merge failure
  net: validate lwtstate->data before returning from skb_tunnel_info()
  net: send SYNACK packet with accepted fwmark
  net: ti: fix UAF in tlan_remove_one
  net: qcom/emac: fix UAF in emac_remove
  net: moxa: fix UAF in moxart_mac_probe
  net: bcmgenet: Ensure all TX/RX queues DMAs are disabled
  net: bridge: sync fdb to new unicast-filtering ports
  netfilter: ctnetlink: suspicious RCU usage in ctnetlink_dump_helpinfo
  net: ipv6: fix return value of ip6_skb_dst_mtu
  net: dsa: mv88e6xxx: enable .rmu_disable() on Topaz
  dm writecache: fix writing beyond end of underlying device when shrinking
  dm writecache: return the exact table values that were set
  mm: slab: fix kmem_cache_create failed when sysfs node not destroyed
  sched/fair: Fix CFS bandwidth hrtimer expiry type
  scsi: libfc: Fix array index out of bound exception
  scsi: libsas: Add LUN number check in .slave_alloc callback
  scsi: aic7xxx: Fix unintentional sign extension issue on left shift of u8
  rtc: max77686: Do not enforce (incorrect) interrupt trigger type
  kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
  thermal/core: Correct function name thermal_zone_device_unregister()
  arm64: dts: ls208xa: remove bus-num from dspi node
  soc/tegra: fuse: Fix Tegra234-only builds
  ARM: dts: stm32: move stmmac axi config in ethernet node on stm32mp15
  ARM: dts: stm32: fix i2c node name on stm32f746 to prevent warnings
  ARM: dts: rockchip: fix supply properties in io-domains nodes
  arm64: dts: juno: Update SCPI nodes as per the YAML schema
  ARM: dts: stm32: fix timer nodes on STM32 MCU to prevent warnings
  ARM: dts: stm32: fix RCC node name on stm32f429 MCU
  ARM: dts: stm32: fix gpio-keys node on STM32 MCU boards
  rtc: mxc_v2: add missing MODULE_DEVICE_TABLE
  ARM: imx: pm-imx5: Fix references to imx5_cpu_suspend_info
  ARM: dts: imx6: phyFLEX: Fix UART hardware flow control
  ARM: dts: Hurricane 2: Fix NAND nodes names
  ARM: dts: BCM63xx: Fix NAND nodes names
  ARM: NSP: dts: fix NAND nodes names
  ARM: Cygnus: dts: fix NAND nodes names
  ARM: brcmstb: dts: fix NAND nodes names
  reset: ti-syscon: fix to_ti_syscon_reset_data macro
  arm64: dts: rockchip: Fix power-controller node names for rk3328
  ARM: dts: rockchip: Fix power-controller node names for rk3288
  ARM: dts: rockchip: Fix IOMMU nodes properties on rk322x
  ARM: dts: rockchip: Fix the timer clocks order
  arm64: dts: rockchip: fix pinctrl sleep nodename for rk3399.dtsi
  ARM: dts: rockchip: fix pinctrl sleep nodename for rk3036-kylin and rk3288
  ARM: dts: gemini: add device_type on pci
  ARM: dts: gemini: rename mdio to the right name
  ANDROID: generate_initcall_order.pl: Use two dash long options for llvm-nm
  Revert "media: subdev: disallow ioctl for saa6588/davinci"
  ANDROID: GKI: fix up crc change in ip.h
  Linux 4.19.198
  seq_file: disallow extremely large seq buffer allocations
  scsi: scsi_dh_alua: Fix signedness bug in alua_rtpg()
  net: bridge: multicast: fix PIM hello router port marking race
  MIPS: vdso: Invalid GIC access through VDSO
  mips: disable branch profiling in boot/decompress.o
  mips: always link byteswap helpers into decompressor
  scsi: be2iscsi: Fix an error handling path in beiscsi_dev_probe()
  ARM: dts: imx6q-dhcom: Add gpios pinctrl for i2c bus recovery
  ARM: dts: imx6q-dhcom: Fix ethernet plugin detection problems
  ARM: dts: imx6q-dhcom: Fix ethernet reset time properties
  ARM: dts: am437x: align ti,pindir-d0-out-d1-in property with dt-shema
  ARM: dts: am335x: align ti,pindir-d0-out-d1-in property with dt-shema
  memory: fsl_ifc: fix leak of private memory on probe failure
  memory: fsl_ifc: fix leak of IO mapping on probe failure
  reset: bail if try_module_get() fails
  ARM: dts: BCM5301X: Fixup SPI binding
  ARM: dts: r8a7779, marzen: Fix DU clock names
  arm64: dts: renesas: v3msk: Fix memory size
  rtc: fix snprintf() checking in is_rtc_hctosys()
  memory: atmel-ebi: add missing of_node_put for loop iteration
  ARM: dts: exynos: fix PWM LED max brightness on Odroid XU4
  ARM: dts: exynos: fix PWM LED max brightness on Odroid HC1
  ARM: dts: exynos: fix PWM LED max brightness on Odroid XU/XU3
  reset: a10sr: add missing of_match_table reference
  hexagon: use common DISCARDS macro
  NFSv4/pNFS: Don't call _nfs4_pnfs_v3_ds_connect multiple times
  ALSA: isa: Fix error return code in snd_cmi8330_probe()
  virtio_net: move tx vq operation under tx queue lock
  x86/fpu: Limit xstate copy size in xstateregs_set()
  PCI: iproc: Support multi-MSI only on uniprocessor kernel
  PCI: iproc: Fix multi-MSI base vector number allocation
  ubifs: Set/Clear I_LINKABLE under i_lock for whiteout inode
  nfs: fix acl memory leak of posix_acl_create()
  watchdog: aspeed: fix hardware timeout calculation
  um: fix error return code in winch_tramp()
  um: fix error return code in slip_open()
  NFSv4: Initialise connection to the server in nfs4_alloc_client()
  power: supply: rt5033_battery: Fix device tree enumeration
  PCI/sysfs: Fix dsm_label_utf16s_to_utf8s() buffer overrun
  f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
  virtio_console: Assure used length from device is limited
  virtio_net: Fix error handling in virtnet_restore()
  virtio-blk: Fix memory leak among suspend/resume procedure
  ACPI: video: Add quirk for the Dell Vostro 3350
  ACPI: AMBA: Fix resource name in /proc/iomem
  pwm: tegra: Don't modify HW state in .remove callback
  power: supply: ab8500: add missing MODULE_DEVICE_TABLE
  power: supply: charger-manager: add missing MODULE_DEVICE_TABLE
  NFS: nfs_find_open_context() may only select open files
  ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty
  orangefs: fix orangefs df output.
  PCI: tegra: Add missing MODULE_DEVICE_TABLE
  x86/fpu: Return proper error codes from user access functions
  watchdog: iTCO_wdt: Account for rebooting on second timeout
  watchdog: Fix possible use-after-free by calling del_timer_sync()
  watchdog: sc520_wdt: Fix possible use-after-free in wdt_turnoff()
  watchdog: Fix possible use-after-free in wdt_startup()
  ARM: 9087/1: kprobes: test-thumb: fix for LLVM_IAS=1
  power: reset: gpio-poweroff: add missing MODULE_DEVICE_TABLE
  power: supply: max17042: Do not enforce (incorrect) interrupt trigger type
  power: supply: ab8500: Avoid NULL pointers
  pwm: spear: Don't modify HW state in .remove callback
  lib/decompress_unlz4.c: correctly handle zero-padding around initrds.
  i2c: core: Disable client irq on reboot/shutdown
  intel_th: Wait until port is in reset before programming it
  staging: rtl8723bs: fix macro value for 2.4Ghz only device
  ALSA: hda: Add IRQ check for platform_get_irq()
  backlight: lm3630a: Fix return code of .update_status() callback
  powerpc/boot: Fixup device-tree on little endian
  usb: gadget: hid: fix error return code in hid_bind()
  usb: gadget: f_hid: fix endianness issue with descriptors
  ALSA: bebob: add support for ToneWeal FW66
  Input: hideep - fix the uninitialized use in hideep_nvm_unlock()
  ASoC: soc-core: Fix the error return code in snd_soc_of_parse_audio_routing()
  gpio: pca953x: Add support for the On Semi pca9655
  selftests/powerpc: Fix "no_handler" EBB selftest
  ALSA: ppc: fix error return code in snd_pmac_probe()
  gpio: zynq: Check return value of pm_runtime_get_sync
  powerpc/ps3: Add dma_mask to ps3_dma_region
  ALSA: sb: Fix potential double-free of CSP mixer elements
  selftests: timers: rtcpie: skip test if default RTC device does not exist
  s390/sclp_vt220: fix console name to match device
  mfd: da9052/stmpe: Add and modify MODULE_DEVICE_TABLE
  scsi: qedi: Fix null ref during abort handling
  scsi: iscsi: Fix shost->max_id use
  scsi: iscsi: Fix conn use after free during resets
  scsi: iscsi: Add iscsi_cls_conn refcount helpers
  fs/jfs: Fix missing error code in lmLogInit()
  scsi: scsi_dh_alua: Check for negative result value
  tty: serial: 8250: serial_cs: Fix a memory leak in error handling path
  ALSA: ac97: fix PM reference leak in ac97_bus_remove()
  scsi: core: Cap scsi_host cmd_per_lun at can_queue
  scsi: lpfc: Fix crash when lpfc_sli4_hba_setup() fails to initialize the SGLs
  scsi: lpfc: Fix "Unexpected timeout" error in direct attach topology
  w1: ds2438: fixing bug that would always get page0
  Revert "ALSA: bebob/oxfw: fix Kconfig entry for Mackie d.2 Pro"
  misc/libmasm/module: Fix two use after free in ibmasm_init_one
  tty: serial: fsl_lpuart: fix the potential risk of division or modulo by zero
  PCI: aardvark: Fix kernel panic during PIO transfer
  PCI: aardvark: Don't rely on jiffies while holding spinlock
  tracing: Do not reference char * as a string in histograms
  scsi: core: Fix bad pointer dereference when ehandler kthread is invalid
  KVM: X86: Disable hardware breakpoints unconditionally before kvm_x86->run()
  KVM: x86: Use guest MAXPHYADDR from CPUID.0x8000_0008 iff TDP is enabled
  smackfs: restrict bytes count in smk_set_cipso()
  jfs: fix GPF in diFree
  pinctrl: mcp23s08: Fix missing unlock on error in mcp23s08_irq()
  media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K
  media: gspca/sunplus: fix zero-length control requests
  media: gspca/sq905: fix control-request direction
  media: zr364xx: fix memory leak in zr364xx_start_readpipe
  media: dtv5100: fix control-request directions
  media: subdev: disallow ioctl for saa6588/davinci
  PCI: aardvark: Fix checking for PIO Non-posted Request
  PCI: Leave Apple Thunderbolt controllers on for s2idle or standby
  dm btree remove: assign new_root only when removal succeeds
  coresight: tmc-etf: Fix global-out-of-bounds in tmc_update_etf_buffer()
  ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
  tracing: Resize tgid_map to pid_max, not PID_MAX_DEFAULT
  tracing: Simplify & fix saved_tgids logic
  seq_buf: Fix overflow in seq_buf_putmem_hex()
  power: supply: ab8500: Fix an old bug
  ipmi/watchdog: Stop watchdog timer when the current action is 'none'
  qemu_fw_cfg: Make fw_cfg_rev_attr a proper kobj_attribute
  ASoC: tegra: Set driver_name=tegra for all machine drivers
  clocksource/arm_arch_timer: Improve Allwinner A64 timer workaround
  cpu/hotplug: Cure the cpusets trainwreck
  ata: ahci_sunxi: Disable DIPM
  mmc: core: Allow UHS-I voltage switch for SDSC cards if supported
  mmc: core: clear flags before allowing to retune
  mmc: sdhci: Fix warning message when accessing RPMB in HS400 mode
  drm/msm/mdp4: Fix modifier support enabling
  pinctrl/amd: Add device HID for new AMD GPIO controller
  drm/amd/display: fix incorrrect valid irq check
  drm/radeon: Add the missed drm_gem_object_put() in radeon_user_framebuffer_create()
  usb: gadget: f_fs: Fix setting of device and driver data cross-references
  powerpc/barrier: Avoid collision with clang's __lwsync macro
  fuse: reject internal errno
  serial: mvebu-uart: fix calculation of clock divisor
  serial: mvebu-uart: clarify the baud rate derivation
  bdi: Do not use freezable workqueue
  fscrypt: don't ignore minor_hash when hash is 0
  MIPS: set mips32r5 for virt extensions
  sctp: add size validation when walking chunks
  sctp: validate from_addr_param return
  Bluetooth: btusb: fix bt fiwmare downloading failure issue for qca btsoc.
  Bluetooth: Shutdown controller after workqueues are flushed or cancelled
  Bluetooth: Fix the HCI to MGMT status conversion table
  RDMA/cma: Fix rdma_resolve_route() memory leak
  net: ip: avoid OOM kills with large UDP sends over loopback
  media, bpf: Do not copy more entries than user space requested
  wireless: wext-spy: Fix out-of-bounds warning
  sfc: error code if SRIOV cannot be disabled
  sfc: avoid double pci_remove of VFs
  iwlwifi: pcie: free IML DMA memory allocation
  iwlwifi: mvm: don't change band on bound PHY contexts
  RDMA/rxe: Don't overwrite errno from ib_umem_get()
  vsock: notify server to shutdown when client has pending signal
  atm: nicstar: register the interrupt handler in the right place
  atm: nicstar: use 'dma_free_coherent' instead of 'kfree'
  MIPS: add PMD table accounting into MIPS'pmd_alloc_one
  rtl8xxxu: Fix device info for RTL8192EU devices
  net: fix mistake path for netdev_features_strings
  cw1200: add missing MODULE_DEVICE_TABLE
  wl1251: Fix possible buffer overflow in wl1251_cmd_scan
  wlcore/wl12xx: Fix wl12xx get_mac error if device is in ELP
  xfrm: Fix error reporting in xfrm_state_construct.
  selinux: use __GFP_NOWARN with GFP_NOWAIT in the AVC
  fjes: check return value after calling platform_get_resource()
  net: micrel: check return value after calling platform_get_resource()
  net: mvpp2: check return value after calling platform_get_resource()
  net: bcmgenet: check return value after calling platform_get_resource()
  virtio_net: Remove BUG() to avoid machine dead
  ice: set the value of global config lock timeout longer
  pinctrl: mcp23s08: fix race condition in irq handler
  dm space maps: don't reset space map allocation cursor when committing
  RDMA/cxgb4: Fix missing error code in create_qp()
  ipv6: use prandom_u32() for ID generation
  clk: tegra: Ensure that PLLU configuration is applied properly
  clk: renesas: r8a77995: Add ZA2 clock
  e100: handle eeprom as little endian
  udf: Fix NULL pointer dereference in udf_symlink function
  drm/virtio: Fix double free on probe failure
  reiserfs: add check for invalid 1st journal block
  net: Treat __napi_schedule_irqoff() as __napi_schedule() on PREEMPT_RT
  atm: nicstar: Fix possible use-after-free in nicstar_cleanup()
  mISDN: fix possible use-after-free in HFC_cleanup()
  atm: iphase: fix possible use-after-free in ia_module_exit()
  hugetlb: clear huge pte during flush function on mips platform
  drm/amd/display: fix use_max_lb flag for 420 pixel formats
  net: pch_gbe: Use proper accessors to BE data in pch_ptp_match()
  drm/amd/amdgpu/sriov disable all ip hw status by default
  drm/zte: Don't select DRM_KMS_FB_HELPER
  drm/mxsfb: Don't select DRM_KMS_FB_HELPER
  mmc: vub3000: fix control-request direction
  mmc: block: Disable CMDQ on the ioctl path
  perf llvm: Return -ENOMEM when asprintf() fails
  selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random
  mm/huge_memory.c: don't discard hugepage if other processes are mapping it
  vfio/pci: Handle concurrent vma faults
  arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART
  serial: mvebu-uart: correctly calculate minimal possible baudrate
  powerpc: Offline CPU in stop_this_cpu()
  leds: ktd2692: Fix an error handling path
  leds: as3645a: Fix error return code in as3645a_parse_node()
  configfs: fix memleak in configfs_release_bin_file
  ASoC: atmel-i2s: Fix usage of capture and playback at the same time
  extcon: max8997: Add missing modalias string
  extcon: sm5502: Drop invalid register write in sm5502_reg_data
  phy: ti: dm816x: Fix the error handling path in 'dm816x_usb_phy_probe()
  scsi: mpt3sas: Fix error return value in _scsih_expander_add()
  mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume()
  of: Fix truncation of memory sizes on 32-bit platforms
  ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK
  iio: prox: isl29501: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates
  staging: mt7621-dts: fix pci address for PCI memory range
  staging: gdm724x: check for overflow in gdm_lte_netif_rx()
  staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt()
  iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
  iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  eeprom: idt_89hpesx: Restore printing the unsupported fwnode name
  eeprom: idt_89hpesx: Put fwnode in matching case during ->probe()
  s390: appldata depends on PROC_SYSCTL
  visorbus: fix error return code in visorchipset_init()
  fsi/sbefifo: Fix reset timeout
  fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE
  fsi: scom: Reset the FSI2PIB engine for any error
  fsi: core: Fix return of error values on failures
  scsi: FlashPoint: Rename si_flags field
  tty: nozomi: Fix the error handling path of 'nozomi_card_init()'
  char: pcmcia: error out if 'num_bytes_read' is greater than 4 in set_protocol()
  Input: hil_kbd - fix error return code in hil_dev_connect()
  ASoC: rsnd: tidyup loop on rsnd_adg_clk_query()
  ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup()
  iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp()
  iio: light: tcs3472: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: light: tcs3414: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: light: isl29125: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: prox: as3935: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: prox: pulsed-light: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: prox: srf08: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: humidity: am2315: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: gyro: bmg160: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: adc: ti-ads1015: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: accel: stk8ba50: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: accel: kxcjk-1013: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: accel: hid: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: accel: bma220: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp()
  iio: adis_buffer: do not return ints in irq handlers
  mwifiex: re-fix for unaligned accesses
  tty: nozomi: Fix a resource leak in an error handling function
  RDMA/mlx5: Don't access NULL-cleared mpi pointer
  net: sched: fix warning in tcindex_alloc_perfect_hash
  net: lwtunnel: handle MTU calculation in forwading
  writeback: fix obtain a reference to a freeing memcg css
  Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event
  Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid
  ipv6: fix out-of-bound access in ip6_parse_tlv()
  ibmvnic: free tx_pool if tso_pool alloc fails
  Revert "ibmvnic: remove duplicate napi_schedule call in open function"
  i40e: Fix autoneg disabling for non-10GBaseT links
  i40e: Fix error handling in i40e_vsi_open
  bpf: Do not change gso_size during bpf_skb_change_proto()
  ipv6: exthdrs: do not blindly use init_net
  net: bcmgenet: Fix attaching to PYH failed on RPi 4B
  mac80211: remove iwlwifi specific workaround NDPs of null_response
  ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl()
  ieee802154: hwsim: Fix memory leak in hwsim_add_one
  net/ipv4: swap flow ports when validating source
  vxlan: add missing rcu_read_lock() in neigh_reduce()
  pkt_sched: sch_qfq: fix qfq_change_class() error path
  net: ethernet: ezchip: fix error handling
  net: ethernet: ezchip: fix UAF in nps_enet_remove
  net: ethernet: aeroflex: fix UAF in greth_of_remove
  samples/bpf: Fix the error return code of xdp_redirect's main()
  RDMA/rxe: Fix qp reference counting for atomic ops
  netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols
  netfilter: nft_osf: check for TCP packet before further processing
  netfilter: nft_exthdr: check for IPv6 packet before further processing
  RDMA/mlx5: Don't add slave port to unaffiliated list
  netlabel: Fix memory leak in netlbl_mgmt_add_common
  ath10k: Fix an error code in ath10k_add_interface()
  brcmsmac: mac80211_if: Fix a resource leak in an error handling path
  brcmfmac: correctly report average RSSI in station info
  brcmfmac: fix setting of station info chains bitmask
  ssb: Fix error return code in ssb_bus_scan()
  wcn36xx: Move hal_buf allocation to devm_kmalloc in probe
  ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others
  wireless: carl9170: fix LEDS build errors & warnings
  tools/bpftool: Fix error return code in do_batch()
  drm: qxl: ensure surf.data is ininitialized
  RDMA/rxe: Fix failure during driver load
  ehea: fix error return code in ehea_restart_qps()
  drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write()
  net: pch_gbe: Propagate error from devm_gpio_request_one()
  net: mvpp2: Put fwnode in error case during ->probe()
  ocfs2: fix snprintf() checking
  blk-wbt: make sure throttle is enabled properly
  blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled()
  ACPI: sysfs: Fix a buffer overrun problem with description_show()
  crypto: nx - Fix RCU warning in nx842_OF_upd_status
  spi: spi-sun6i: Fix chipselect/clock bug
  btrfs: clear log tree recovering status if starting transaction fails
  hwmon: (max31790) Fix fan speed reporting for fan7..12
  hwmon: (max31722) Remove non-standard ACPI device IDs
  media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx
  mmc: usdhi6rol0: fix error return code in usdhi6_probe()
  media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2()
  media: gspca/gl860: fix zero-length control requests
  media: tc358743: Fix error return code in tc358743_probe_of()
  media: exynos4-is: Fix a use after free in isp_video_release
  pata_ep93xx: fix deferred probing
  media: rc: i2c: Fix an error message
  crypto: ccp - Fix a resource leak in an error handling path
  evm: fix writing <securityfs>/evm overflow
  pata_octeon_cf: avoid WARN_ON() in ata_host_activate()
  media: I2C: change 'RST' to "RSET" to fix multiple build errors
  pata_rb532_cf: fix deferred probing
  sata_highbank: fix deferred probing
  crypto: ux500 - Fix error return code in hash_hw_final()
  crypto: ixp4xx - dma_unmap the correct address
  media: s5p_cec: decrement usage count if disabled
  ia64: mca_drv: fix incorrect array size calculation
  HID: wacom: Correct base usage for capacitive ExpressKey status bits
  ACPI: tables: Add custom DSDT file as makefile prerequisite
  clocksource: Retry clock read if long delays detected
  platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard()
  ACPI: bus: Call kobject_put() in acpi_init() error path
  ACPICA: Fix memory leak caused by _CID repair function
  fs: dlm: fix memory leak when fenced
  random32: Fix implicit truncation warning in prandom_seed_state()
  fs: dlm: cancel work sync othercon
  block_dump: remove block_dump feature in mark_inode_dirty()
  ACPI: EC: Make more Asus laptops use ECDT _GPE
  lib: vsprintf: Fix handling of number field widths in vsscanf
  hv_utils: Fix passing zero to 'PTR_ERR' warning
  ACPI: processor idle: Fix up C-state latency if not ordered
  EDAC/ti: Add missing MODULE_DEVICE_TABLE
  HID: do not use down_interruptible() when unbinding devices
  regulator: da9052: Ensure enough delay time for .set_voltage_time_sel
  btrfs: disable build on platforms having page size 256K
  btrfs: abort transaction if we fail to update the delayed inode
  btrfs: fix error handling in __btrfs_update_delayed_inode
  media: imx-csi: Skip first few frames from a BT.656 source
  media: siano: fix device register error path
  media: dvb_net: avoid speculation from net slot
  crypto: shash - avoid comparing pointers to exported functions under CFI
  mmc: via-sdmmc: add a check against NULL pointer dereference
  media: dvd_usb: memory leak in cinergyt2_fe_attach
  media: st-hva: Fix potential NULL pointer dereferences
  media: bt8xx: Fix a missing check bug in bt878_probe
  media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release
  media: em28xx: Fix possible memory leak of em28xx struct
  sched/fair: Fix ascii art by relpacing tabs
  crypto: qat - remove unused macro in FW loader
  crypto: qat - check return code of qat_hal_rd_rel_reg()
  media: pvrusb2: fix warning in pvr2_i2c_core_done
  media: cobalt: fix race condition in setting HPD
  media: cpia2: fix memory leak in cpia2_usb_probe
  crypto: nx - add missing MODULE_DEVICE_TABLE
  regulator: uniphier: Add missing MODULE_DEVICE_TABLE
  spi: omap-100k: Fix the length judgment problem
  spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages()
  spi: spi-loopback-test: Fix 'tx_buf' might be 'rx_buf'
  spi: Make of_register_spi_device also set the fwnode
  fuse: check connected before queueing on fpq->io
  evm: Refuse EVM_ALLOW_METADATA_WRITES only if an HMAC key is loaded
  evm: Execute evm_inode_init_security() only when an HMAC key is loaded
  powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi()
  seq_buf: Make trace_seq_putmem_hex() support data longer than 8
  tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing
  tracing/histograms: Fix parsing of "sym-offset" modifier
  rsi: fix AP mode with WPA failure due to encrypted EAPOL
  rsi: Assign beacon rate settings to the correct rate_info descriptor field
  ssb: sdio: Don't overwrite const buffer if block_write fails
  ath9k: Fix kernel NULL pointer dereference during ath_reset_internal()
  serial_cs: remove wrong GLOBETROTTER.cis entry
  serial_cs: Add Option International GSM-Ready 56K/ISDN modem
  serial: sh-sci: Stop dmaengine transfer in sci_stop_tx()
  iio: ltr501: ltr501_read_ps(): add missing endianness conversion
  iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR
  iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too
  iio: light: tcs3472: do not free unallocated IRQ
  rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path
  s390/cio: dont call css_wait_for_slow_path() inside a lock
  SUNRPC: Should wake up the privileged task firstly.
  SUNRPC: Fix the batch tasks count wraparound.
  can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path
  can: gw: synchronize rcu operations before removing gw job entry
  can: bcm: delay release of struct bcm_op after synchronize_rcu()
  ext4: use ext4_grp_locked_error in mb_find_extent
  ext4: fix avefreec in find_group_orlov
  ext4: remove check for zero nr_to_scan in ext4_es_scan()
  ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit
  ext4: return error code when ext4_fill_flex_info() fails
  ext4: fix kernel infoleak via ext4_extent_header
  ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle
  btrfs: clear defrag status of a root if starting transaction fails
  btrfs: send: fix invalid path for unlink operations after parent orphanization
  ARM: dts: at91: sama5d4: fix pinctrl muxing
  arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode
  Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl
  iov_iter_fault_in_readable() should do nothing in xarray case
  ntfs: fix validity check for file name attribute
  xhci: solve a double free problem while doing s4
  usb: typec: Add the missed altmode_id_remove() in typec_register_altmode()
  usb: dwc3: Fix debugfs creation flow
  USB: cdc-acm: blacklist Heimann USB Appset device
  usb: gadget: eem: fix echo command packet response issue
  net: can: ems_usb: fix use-after-free in ems_usb_disconnect()
  Input: usbtouchscreen - fix control-request directions
  media: dvb-usb: fix wrong definition
  ALSA: usb-audio: Fix OOB access at proc output
  ALSA: usb-audio: fix rate on Ozone Z90 USB headset
  scsi: core: Retry I/O for Notify (Enable Spinup) Required error
  Revert "clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940"
  Linux 4.19.197
  clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940
  clocksource/drivers/timer-ti-dm: Prepare to handle dra7 timer wrap issue
  clocksource/drivers/timer-ti-dm: Add clockevent and clocksource support
  ARM: OMAP: replace setup_irq() by request_irq()
  KVM: SVM: Call SEV Guest Decommission if ASID binding fails
  xen/events: reset active flag for lateeoi events later
  kthread: prevent deadlock when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync()
  kthread_worker: split code for canceling the delayed work timer
  ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment
  KVM: SVM: Periodically schedule when unregistering regions on destroy
  ext4: eliminate bogus error in ext4_data_block_valid_rcu()
  drm/nouveau: fix dma_address check for CPU/GPU sync
  scsi: sr: Return appropriate error code when disk is ejected
  mm, futex: fix shared futex pgoff on shmem huge page
  mm/thp: another PVMW_SYNC fix in page_vma_mapped_walk()
  mm/thp: fix page_vma_mapped_walk() if THP mapped by ptes
  mm: page_vma_mapped_walk(): get vma_address_end() earlier
  mm: page_vma_mapped_walk(): use goto instead of while (1)
  mm: page_vma_mapped_walk(): add a level of indentation
  mm: page_vma_mapped_walk(): crossing page table boundary
  mm: page_vma_mapped_walk(): prettify PVMW_MIGRATION block
  mm: page_vma_mapped_walk(): use pmde for *pvmw->pmd
  mm: page_vma_mapped_walk(): settle PageHuge on entry
  mm: page_vma_mapped_walk(): use page for pvmw->page
  mm: thp: replace DEBUG_VM BUG with VM_WARN when unmap fails for split
  mm/thp: unmap_mapping_page() to fix THP truncate_cleanup_page()
  mm/thp: fix page_address_in_vma() on file THP tails
  mm/thp: fix vma_address() if virtual address below file offset
  mm/thp: try_to_unmap() use TTU_SYNC for safe splitting
  mm/thp: make is_huge_zero_pmd() safe and quicker
  mm/thp: fix __split_huge_pmd_locked() on shmem migration entry
  mm/rmap: use page_not_mapped in try_to_unmap()
  mm/rmap: remove unneeded semicolon in page_not_mapped()
  mm: add VM_WARN_ON_ONCE_PAGE() macro

Conflicts:
        drivers/staging/android/aosp_ion/ion.c
        mm/huge_memory.c
        net/unix/af_unix.c

Change-Id: I46106fc77ac928475e7e7f288b1ef6754df79ddd
Signed-off-by: bengris32 <bengris32@protonmail.ch>
2024-06-02 15:47:45 +01:00
Krzysztof Kozlowski
8155a089c4 reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
[ Upstream commit b5ec294472794ed9ecba0cb4b8208372842e7e0d ]

'type' is an enum, thus cast of pointer on 64-bit compile test with W=1
causes:

  hi6220_reset.c:166:9: error: cast to smaller integer type 'enum hi6220_reset_ctrl_type' from 'const void *' [-Werror,-Wvoid-pointer-to-enum-cast]

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230810091300.70197-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-25 14:33:30 -08:00
Geert Uytterhoeven
d2939b197d reset: Fix crash when freeing non-existent optional resets
[ Upstream commit 4a6756f56bcf8e64c87144a626ce53aea4899c0e ]

When obtaining one or more optional resets, non-existent resets are
stored as NULL pointers, and all related error and cleanup paths need to
take this into account.

Currently only reset_control_put() and reset_control_bulk_put()
get this right.  All of __reset_control_bulk_get(),
of_reset_control_array_get(), and reset_control_array_put() lack the
proper checking, causing NULL pointer dereferences on failure or
release.

Fix this by moving the existing check from reset_control_bulk_put() to
__reset_control_put_internal(), so it applies to all callers.
The double check in reset_control_put() doesn't hurt.

Fixes: 17c82e206d ("reset: Add APIs to manage array of resets")
Fixes: 48d71395896d54ee ("reset: Add reset_control_bulk API")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/2440edae7ca8534628cdbaf559ded288f2998178.1701276806.git.geert+renesas@glider.be
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-01-08 11:27:33 +01:00
Sameer Pujar
9ea74573b9 reset: tegra-bpmp: Restore Handle errors in BPMP response
[ Upstream commit d1da1052ffad63aa5181b69f20a6952e31f339c2 ]

This reverts following commit 69125b4b9440 ("reset: tegra-bpmp: Revert
Handle errors in BPMP response").

The Tegra194 HDA reset failure is fixed by commit d278dc9151a0 ("ALSA:
hda/tegra: Fix Tegra194 HDA reset failure"). The temporary revert of
original commit c045ceb5a145 ("reset: tegra-bpmp: Handle errors in BPMP
response") can be removed now.

Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/1641995806-15245-1-git-send-email-spujar@nvidia.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-04-27 13:39:43 +02:00
Philipp Zabel
71718b0005 reset: ti-syscon: fix to_ti_syscon_reset_data macro
[ Upstream commit 05cf8fffcdeb47aef1203c08cbec5224fd3a0e1c ]

The to_ti_syscon_reset_data macro currently only works if the
parameter passed into it is called 'rcdev'.

Fixes a checkpatch --strict issue:

  CHECK: Macro argument reuse 'rcdev' - possible side-effects?
  #53: FILE: drivers/reset/reset-ti-syscon.c:53:
  +#define to_ti_syscon_reset_data(rcdev)	\
  +	container_of(rcdev, struct ti_syscon_reset_data, rcdev)

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-28 11:13:42 +02:00
Philipp Zabel
4bb145e596 reset: bail if try_module_get() fails
[ Upstream commit 4fb26fb83f0def3d39c14e268bcd4003aae8fade ]

Abort instead of returning a new reset control for a reset controller
device that is going to have its module unloaded.

Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fixes: 61fc413176 ("reset: Add reset controller API")
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20210607082615.15160-1-p.zabel@pengutronix.de
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-20 16:16:14 +02:00
Krzysztof Kozlowski
2e98a83f55 reset: a10sr: add missing of_match_table reference
[ Upstream commit 466ba3c8ff4fae39e455ff8d080b3d5503302765 ]

The driver defined of_device_id table but did not use it with
of_match_table.  This prevents usual matching via devicetree and causes
a W=1 warning:

  drivers/reset/reset-a10sr.c:111:34: warning:
    ‘a10sr_reset_of_match’ defined but not used [-Wunused-const-variable=]

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 6270068202 ("reset: Add Altera Arria10 SR Reset Controller")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20210507112803.20012-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-20 16:16:14 +02:00
Stanley Chu
e1b60cb151 [ALPS05320695] scsi: ufs-mtk: Add host reset mechanism
Add UFS host reset mechanism in MediaTek platforms.

MTK-Commit-Id: 4bae1cceb3c76c61584377981904841b97afbe56

Change-Id: If41dc9362a24a6d9b297d5e255c9b07114e500f5
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
CR-Id: ALPS05320695
Feature: UFS Booting
2021-01-29 02:33:30 +08:00
Kunihiko Hayashi
14e843570f reset: uniphier: Add SCSSI reset control for each channel
[ Upstream commit f4aec227e985e31d2fdc5608daf48e3de19157b7 ]

SCSSI has reset controls for each channel in the SoCs newer than Pro4,
so this adds missing reset controls for channel 1, 2 and 3. And more, this
moves MCSSI reset ID after SCSSI.

Fixes: 6b39fd590a ("reset: uniphier: add reset control support for SPI")
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-02-24 08:34:44 +01:00
Kishon Vijay Abraham I
9a5933aa12 reset: Fix memory leak in reset_control_array_put()
[ Upstream commit 532f9cd6ee994ed10403e856ca27501428048597 ]

Memory allocated for 'struct reset_control_array' in
of_reset_control_array_get() is never freed in
reset_control_array_put() resulting in kmemleak showing
the following backtrace.

  backtrace:
    [<00000000c5f17595>] __kmalloc+0x1b0/0x2b0
    [<00000000bd499e13>] of_reset_control_array_get+0xa4/0x180
    [<000000004cc02754>] 0xffff800008c669e4
    [<0000000050a83b24>] platform_drv_probe+0x50/0xa0
    [<00000000d3a0b0bc>] really_probe+0x108/0x348
    [<000000005aa458ac>] driver_probe_device+0x58/0x100
    [<000000008853626c>] device_driver_attach+0x6c/0x90
    [<0000000085308d19>] __driver_attach+0x84/0xc8
    [<00000000080d35f2>] bus_for_each_dev+0x74/0xc8
    [<00000000dd7f015b>] driver_attach+0x20/0x28
    [<00000000923ba6e6>] bus_add_driver+0x148/0x1f0
    [<0000000061473b66>] driver_register+0x60/0x110
    [<00000000c5bec167>] __platform_driver_register+0x40/0x48
    [<000000007c764b4f>] 0xffff800008c6c020
    [<0000000047ec2e8c>] do_one_initcall+0x5c/0x1b0
    [<0000000093d4b50d>] do_init_module+0x54/0x1d0

Fixes: 17c82e206d ("reset: Add APIs to manage array of resets")
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-12-05 09:19:36 +01:00
Geert Uytterhoeven
16c2d36b11 reset: Fix potential use-after-free in __of_reset_control_get()
[ Upstream commit b790c8ea5593d6dc3580adfad8e117eeb56af874 ]

Calling of_node_put() decreases the reference count of a device tree
object, and may free some data.

However, the of_phandle_args structure embedding it is passed to
reset_controller_dev.of_xlate() after that, so it may still be accessed.

Move the call to of_node_put() down to fix this.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
[p.zabel@pengutronix.de: moved of_node_put after mutex_unlock]
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-11-24 08:20:38 +01:00
Axel Lin
cc04b5b331 reset: meson-audio-arb: Fix missing .owner setting of reset_controller_dev
[ Upstream commit 13e8a05b922457761ddef39cfff6231bd4ed9eef ]

Set .owner to prevent module unloading while being used.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Fixes: d903779b58 ("reset: meson: add meson audio arb driver")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-08 07:21:47 +02:00
Linus Torvalds
b326272010 Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC late updates from Olof Johansson:
 "A couple of late-merged changes that would be useful to get in this
  merge window:

   - Driver support for reset of audio complex on Meson platforms. The
     audio driver went in this merge window, and these changes have been
     in -next for a while (just not in our tree).

   - Power management fixes for IOMMU on Rockchip platforms, getting
     closer to kexec working on them, including Chromebooks.

   - Another pass updating "arm,psci" -> "psci" for some properties that
     have snuck in since last time it was done"

* tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  iommu/rockchip: Move irq request past pm_runtime_enable
  iommu/rockchip: Handle errors returned from PM framework
  arm64: rockchip: Force CONFIG_PM on Rockchip systems
  ARM: rockchip: Force CONFIG_PM on Rockchip systems
  arm64: dts: Fix various entry-method properties to reflect documentation
  reset: imx7: Fix always writing bits as 0
  reset: meson: add meson audio arb driver
  reset: meson: add dt-bindings for meson-axg audio arb
2018-08-25 14:12:36 -07:00
Olof Johansson
5920cce856 Merge tag 'reset-fixes-for-4.18' of git://git.pengutronix.de/git/pza/linux into next/late
Reset controller fixes for v4.18

This tag fixes reset assertion on i.MX7 for all non-inverted reset
control bits. Currently only PCIE controller and PHY resets are used.

* tag 'reset-fixes-for-4.18' of git://git.pengutronix.de/git/pza/linux:
  reset: imx7: Fix always writing bits as 0

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-08-24 08:49:57 -07:00
Linus Torvalds
f3ea496213 Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Olof Johansson:
 "Some of the larger changes this merge window:

   - Removal of drivers for Exynos5440, a Samsung SoC that never saw
     widespread use.

   - Uniphier support for USB3 and SPI reset handling

   - Syste control and SRAM drivers and bindings for Allwinner platforms

   - Qualcomm AOSS (Always-on subsystem) reset controller drivers

   - Raspberry Pi hwmon driver for voltage

   - Mediatek pwrap (pmic) support for MT6797 SoC"

* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (52 commits)
  drivers/firmware: psci_checker: stash and use topology_core_cpumask for hotplug tests
  soc: fsl: cleanup Kconfig menu
  soc: fsl: dpio: Convert DPIO documentation to .rst
  staging: fsl-mc: Remove remaining files
  staging: fsl-mc: Move DPIO from staging to drivers/soc/fsl
  staging: fsl-dpaa2: eth: move generic FD defines to DPIO
  soc: fsl: qe: gpio: Add qe_gpio_set_multiple
  usb: host: exynos: Remove support for Exynos5440
  clk: samsung: Remove support for Exynos5440
  soc: sunxi: Add the A13, A23 and H3 system control compatibles
  reset: uniphier: add reset control support for SPI
  cpufreq: exynos: Remove support for Exynos5440
  ata: ahci-platform: Remove support for Exynos5440
  soc: imx6qp: Use GENPD_FLAG_ALWAYS_ON for PU errata
  soc: mediatek: pwrap: add mt6351 driver for mt6797 SoCs
  soc: mediatek: pwrap: add pwrap driver for mt6797 SoCs
  soc: mediatek: pwrap: fix cipher init setting error
  dt-bindings: pwrap: mediatek: add pwrap support for MT6797
  reset: uniphier: add USB3 core reset control
  dt-bindings: reset: uniphier: add USB3 core reset support
  ...
2018-08-23 13:52:46 -07:00
Leonard Crestez
26fce0557f reset: imx7: Fix always writing bits as 0
Right now the only user of reset-imx7 is pci-imx6 and the
reset_control_assert and deassert calls on pciephy_reset don't toggle
the PCIEPHY_BTN and PCIEPHY_G_RST bits as expected. Fix this by writing
1 or 0 respectively.

The reference manual is not very clear regarding SRC_PCIEPHY_RCR but for
other registers like MIPIPHY and HSICPHY the bits are explicitly
documented as "1 means assert, 0 means deassert".

The values are still reversed for IMX7_RESET_PCIE_CTRL_APPS_EN.

Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-23 13:00:28 +02:00
Jerome Brunet
d903779b58 reset: meson: add meson audio arb driver
The Amlogic Audio ARB is a simple device which enables or
disables the access of Audio FIFOs to DDR on AXG based SoC.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-20 18:17:31 +02:00
Kunihiko Hayashi
6b39fd590a reset: uniphier: add reset control support for SPI
Add reset control for SPI controller on UniPhier SoCs.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-19 11:19:47 +02:00
Kunihiko Hayashi
499fef09a3 reset: uniphier: add USB3 core reset control
Add a reset line to enable USB3 core implemented in UniPhier SoCs.

This reuses only the reset operations in reset-simple, because
the reset-simple doesn't handle any SoC-dependent clocks and resets.
This reset line is included in the USB3 glue layer, and it's necessary
to enable clocks and deassert resets of the layer before using this
reset line.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-16 12:15:55 +02:00
Kunihiko Hayashi
9ad39ab280 reset: simple: export reset_simple_ops to be referred from modules
Allow reset_simple_ops to be referred from modules that use reset-simple
framework by adding EXPORT_SYMBOL_GPL.

Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-16 12:15:54 +02:00
Sibi Sankar
5ecb065165 reset: qcom: AOSS (always on subsystem) reset controller
Add reset controller driver for Qualcomm SDM845 SoC to
control reset signals provided by AOSS for Modem, Venus
ADSP, GPU, Camera, Wireless, Display subsystem

Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-16 12:15:51 +02:00
Randy Dunlap
ac3167257b headers: separate linux/mod_devicetable.h from linux/platform_device.h
At over 4000 #includes, <linux/platform_device.h> is the 9th most
#included header file in the Linux kernel.  It does not need
<linux/mod_devicetable.h>, so drop that header and explicitly add
<linux/mod_devicetable.h> to source files that need it.

   4146 #include <linux/platform_device.h>

After this patch, there are 225 files that use <linux/mod_devicetable.h>,
for a reduction of around 3900 times that <linux/mod_devicetable.h>
does not have to be read & parsed.

    225 #include <linux/mod_devicetable.h>

This patch was build-tested on 20 different arch-es.

It also makes these drivers SubmitChecklist#1 compliant.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kbuild test robot <lkp@intel.com> # drivers/media/platform/vimc/
Reported-by: kbuild test robot <lkp@intel.com> # drivers/pinctrl/pinctrl-u300.c
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-07 17:52:26 +02:00
Linus Torvalds
b08fc5277a Merge tag 'overflow-v4.18-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull more overflow updates from Kees Cook:
 "The rest of the overflow changes for v4.18-rc1.

  This includes the explicit overflow fixes from Silvio, further
  struct_size() conversions from Matthew, and a bug fix from Dan.

  But the bulk of it is the treewide conversions to use either the
  2-factor argument allocators (e.g. kmalloc(a * b, ...) into
  kmalloc_array(a, b, ...) or the array_size() macros (e.g. vmalloc(a *
  b) into vmalloc(array_size(a, b)).

  Coccinelle was fighting me on several fronts, so I've done a bunch of
  manual whitespace updates in the patches as well.

  Summary:

   - Error path bug fix for overflow tests (Dan)

   - Additional struct_size() conversions (Matthew, Kees)

   - Explicitly reported overflow fixes (Silvio, Kees)

   - Add missing kvcalloc() function (Kees)

   - Treewide conversions of allocators to use either 2-factor argument
     variant when available, or array_size() and array3_size() as needed
     (Kees)"

* tag 'overflow-v4.18-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: (26 commits)
  treewide: Use array_size in f2fs_kvzalloc()
  treewide: Use array_size() in f2fs_kzalloc()
  treewide: Use array_size() in f2fs_kmalloc()
  treewide: Use array_size() in sock_kmalloc()
  treewide: Use array_size() in kvzalloc_node()
  treewide: Use array_size() in vzalloc_node()
  treewide: Use array_size() in vzalloc()
  treewide: Use array_size() in vmalloc()
  treewide: devm_kzalloc() -> devm_kcalloc()
  treewide: devm_kmalloc() -> devm_kmalloc_array()
  treewide: kvzalloc() -> kvcalloc()
  treewide: kvmalloc() -> kvmalloc_array()
  treewide: kzalloc_node() -> kcalloc_node()
  treewide: kzalloc() -> kcalloc()
  treewide: kmalloc() -> kmalloc_array()
  mm: Introduce kvcalloc()
  video: uvesafb: Fix integer overflow in allocation
  UBIFS: Fix potential integer overflow in allocation
  leds: Use struct_size() in allocation
  Convert intel uncore to struct_size
  ...
2018-06-12 18:28:00 -07:00
Kees Cook
a86854d0c5 treewide: devm_kzalloc() -> devm_kcalloc()
The devm_kzalloc() function has a 2-factor argument form, devm_kcalloc().
This patch replaces cases of:

        devm_kzalloc(handle, a * b, gfp)

with:
        devm_kcalloc(handle, a * b, gfp)

as well as handling cases of:

        devm_kzalloc(handle, a * b * c, gfp)

with:

        devm_kzalloc(handle, array3_size(a, b, c), gfp)

as it's slightly less ugly than:

        devm_kcalloc(handle, array_size(a, b), c, gfp)

This does, however, attempt to ignore constant size factors like:

        devm_kzalloc(handle, 4 * 1024, gfp)

though any constants defined via macros get caught up in the conversion.

Any factors with a sizeof() of "unsigned char", "char", and "u8" were
dropped, since they're redundant.

Some manual whitespace fixes were needed in this patch, as Coccinelle
really liked to write "=devm_kcalloc..." instead of "= devm_kcalloc...".

The Coccinelle script used for this was:

// Fix redundant parens around sizeof().
@@
expression HANDLE;
type TYPE;
expression THING, E;
@@

(
  devm_kzalloc(HANDLE,
-	(sizeof(TYPE)) * E
+	sizeof(TYPE) * E
  , ...)
|
  devm_kzalloc(HANDLE,
-	(sizeof(THING)) * E
+	sizeof(THING) * E
  , ...)
)

// Drop single-byte sizes and redundant parens.
@@
expression HANDLE;
expression COUNT;
typedef u8;
typedef __u8;
@@

(
  devm_kzalloc(HANDLE,
-	sizeof(u8) * (COUNT)
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(__u8) * (COUNT)
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(char) * (COUNT)
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(unsigned char) * (COUNT)
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(u8) * COUNT
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(__u8) * COUNT
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(char) * COUNT
+	COUNT
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(unsigned char) * COUNT
+	COUNT
  , ...)
)

// 2-factor product with sizeof(type/expression) and identifier or constant.
@@
expression HANDLE;
type TYPE;
expression THING;
identifier COUNT_ID;
constant COUNT_CONST;
@@

(
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

// 2-factor product, only identifiers.
@@
expression HANDLE;
identifier SIZE, COUNT;
@@

- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

// 3-factor product with 1 sizeof(type) or sizeof(expression), with
// redundant parens removed.
@@
expression HANDLE;
expression THING;
identifier STRIDE, COUNT;
type TYPE;
@@

(
  devm_kzalloc(HANDLE,
-	sizeof(TYPE) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(TYPE) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(TYPE) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(TYPE) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(TYPE))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(THING) * (COUNT) * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(THING) * (COUNT) * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(THING) * COUNT * (STRIDE)
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(THING) * COUNT * STRIDE
+	array3_size(COUNT, STRIDE, sizeof(THING))
  , ...)
)

// 3-factor product with 2 sizeof(variable), with redundant parens removed.
@@
expression HANDLE;
expression THING1, THING2;
identifier COUNT;
type TYPE1, TYPE2;
@@

(
  devm_kzalloc(HANDLE,
-	sizeof(TYPE1) * sizeof(TYPE2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(TYPE2))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(THING1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(THING1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(THING1), sizeof(THING2))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(TYPE1) * sizeof(THING2) * COUNT
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
|
  devm_kzalloc(HANDLE,
-	sizeof(TYPE1) * sizeof(THING2) * (COUNT)
+	array3_size(COUNT, sizeof(TYPE1), sizeof(THING2))
  , ...)
)

// 3-factor product, only identifiers, with redundant parens removed.
@@
expression HANDLE;
identifier STRIDE, SIZE, COUNT;
@@

(
  devm_kzalloc(HANDLE,
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  devm_kzalloc(HANDLE,
-	COUNT * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
)

// Any remaining multi-factor products, first at least 3-factor products,
// when they're not all constants...
@@
expression HANDLE;
expression E1, E2, E3;
constant C1, C2, C3;
@@

(
  devm_kzalloc(HANDLE, C1 * C2 * C3, ...)
|
  devm_kzalloc(HANDLE,
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  devm_kzalloc(HANDLE,
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  devm_kzalloc(HANDLE,
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  devm_kzalloc(HANDLE,
-	E1 * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
)

// And then all remaining 2 factors products when they're not all constants,
// keeping sizeof() as the second factor argument.
@@
expression HANDLE;
expression THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  devm_kzalloc(HANDLE, sizeof(THING) * C2, ...)
|
  devm_kzalloc(HANDLE, sizeof(TYPE) * C2, ...)
|
  devm_kzalloc(HANDLE, C1 * C2 * C3, ...)
|
  devm_kzalloc(HANDLE, C1 * C2, ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	(E1) * E2
+	E1, E2
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- devm_kzalloc
+ devm_kcalloc
  (HANDLE,
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
2018-06-12 16:19:22 -07:00
Linus Torvalds
32bcbf8b6d Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Olof Johansson:
 "This contains platform-related driver updates for ARM and ARM64.

  Highlights:

   - ARM SCMI (System Control & Management Interface) driver cleanups

   - Hisilicon support for LPC bus w/ ACPI

   - Reset driver updates for several platforms: Uniphier,

   - Rockchip power domain bindings and hardware descriptions for
     several SoCs.

   - Tegra memory controller reset improvements"

* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (59 commits)
  ARM: tegra: fix compile-testing PCI host driver
  soc: rockchip: power-domain: add power domain support for px30
  dt-bindings: power: add binding for px30 power domains
  dt-bindings: power: add PX30 SoCs header for power-domain
  soc: rockchip: power-domain: add power domain support for rk3228
  dt-bindings: power: add binding for rk3228 power domains
  dt-bindings: power: add RK3228 SoCs header for power-domain
  soc: rockchip: power-domain: add power domain support for rk3128
  dt-bindings: power: add binding for rk3128 power domains
  dt-bindings: power: add RK3128 SoCs header for power-domain
  soc: rockchip: power-domain: add power domain support for rk3036
  dt-bindings: power: add binding for rk3036 power domains
  dt-bindings: power: add RK3036 SoCs header for power-domain
  dt-bindings: memory: tegra: Remove Tegra114 SATA and AFI reset definitions
  memory: tegra: Remove Tegra114 SATA and AFI reset definitions
  memory: tegra: Register SMMU after MC driver became ready
  soc: mediatek: remove unneeded semicolon
  soc: mediatek: add a fixed wait for SRAM stable
  soc: mediatek: introduce a CAPS flag for scp_domain_data
  soc: mediatek: reuse regmap_read_poll_timeout helpers
  ...
2018-06-11 18:15:22 -07:00
Linus Torvalds
2857676045 Merge tag 'overflow-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull overflow updates from Kees Cook:
 "This adds the new overflow checking helpers and adds them to the
  2-factor argument allocators. And this adds the saturating size
  helpers and does a treewide replacement for the struct_size() usage.
  Additionally this adds the overflow testing modules to make sure
  everything works.

  I'm still working on the treewide replacements for allocators with
  "simple" multiplied arguments:

     *alloc(a * b, ...) -> *alloc_array(a, b, ...)

  and

     *zalloc(a * b, ...) -> *calloc(a, b, ...)

  as well as the more complex cases, but that's separable from this
  portion of the series. I expect to have the rest sent before -rc1
  closes; there are a lot of messy cases to clean up.

  Summary:

   - Introduce arithmetic overflow test helper functions (Rasmus)

   - Use overflow helpers in 2-factor allocators (Kees, Rasmus)

   - Introduce overflow test module (Rasmus, Kees)

   - Introduce saturating size helper functions (Matthew, Kees)

   - Treewide use of struct_size() for allocators (Kees)"

* tag 'overflow-v4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  treewide: Use struct_size() for devm_kmalloc() and friends
  treewide: Use struct_size() for vmalloc()-family
  treewide: Use struct_size() for kmalloc()-family
  device: Use overflow helpers for devm_kmalloc()
  mm: Use overflow helpers in kvmalloc()
  mm: Use overflow helpers in kmalloc_array*()
  test_overflow: Add memory allocation overflow tests
  overflow.h: Add allocation size calculation helpers
  test_overflow: Report test failures
  test_overflow: macrofy some more, do more tests for free
  lib: add runtime test of check_*_overflow functions
  compiler.h: enable builtin overflow checkers and add fallback code
2018-06-06 17:27:14 -07:00
Kees Cook
acafe7e302 treewide: Use struct_size() for kmalloc()-family
One of the more common cases of allocation size calculations is finding
the size of a structure that has a zero-sized array at the end, along
with memory for some number of elements for that array. For example:

struct foo {
    int stuff;
    void *entry[];
};

instance = kmalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL);

Instead of leaving these open-coded and prone to type mistakes, we can
now use the new struct_size() helper:

instance = kmalloc(struct_size(instance, entry, count), GFP_KERNEL);

This patch makes the changes for kmalloc()-family (and kvmalloc()-family)
uses. It was done via automatic conversion with manual review for the
"CHECKME" non-standard cases noted below, using the following Coccinelle
script:

// pkey_cache = kmalloc(sizeof *pkey_cache + tprops->pkey_tbl_len *
//                      sizeof *pkey_cache->table, GFP_KERNEL);
@@
identifier alloc =~ "kmalloc|kzalloc|kvmalloc|kvzalloc";
expression GFP;
identifier VAR, ELEMENT;
expression COUNT;
@@

- alloc(sizeof(*VAR) + COUNT * sizeof(*VAR->ELEMENT), GFP)
+ alloc(struct_size(VAR, ELEMENT, COUNT), GFP)

// mr = kzalloc(sizeof(*mr) + m * sizeof(mr->map[0]), GFP_KERNEL);
@@
identifier alloc =~ "kmalloc|kzalloc|kvmalloc|kvzalloc";
expression GFP;
identifier VAR, ELEMENT;
expression COUNT;
@@

- alloc(sizeof(*VAR) + COUNT * sizeof(VAR->ELEMENT[0]), GFP)
+ alloc(struct_size(VAR, ELEMENT, COUNT), GFP)

// Same pattern, but can't trivially locate the trailing element name,
// or variable name.
@@
identifier alloc =~ "kmalloc|kzalloc|kvmalloc|kvzalloc";
expression GFP;
expression SOMETHING, COUNT, ELEMENT;
@@

- alloc(sizeof(SOMETHING) + COUNT * sizeof(ELEMENT), GFP)
+ alloc(CHECKME_struct_size(&SOMETHING, ELEMENT, COUNT), GFP)

Signed-off-by: Kees Cook <keescook@chromium.org>
2018-06-06 11:15:43 -07:00
Katsuhiro Suzuki
d7bab65b1f reset: uniphier: add LD11/LD20 stream demux system reset control
Add reset lines for MPEG2 transport stream I/O and demux system (HSC)
on UniPhier LD11/LD20 SoCs.

Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-04-27 11:59:05 +02:00
Kunihiko Hayashi
786367176d reset: uniphier: add SATA reset control support and change SATA-PHY ID
Add reset lines for SATA controller on UniPhier SoCs.
This adds support for Pro4 and PXs3 in addition to PXs2.

And this changes the ID of the reset line for SATA-PHY on PXs2.
Since some SoCs have two controller instances with a common PHY, this moves
the ID of SATA-PHY for consistency.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-04-27 11:55:59 +02:00
Kunihiko Hayashi
fdc0f235d1 reset: uniphier: add PCIe reset control support
Add reset lines for PCIe controller on UniPhier SoCs. This adds support for
Pro5, LD20 and PXs3.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-04-27 11:55:59 +02:00
Masahiro Yamada
e6914365fd reset: uniphier: fix USB clock line for LD20
For LD20, the bit 5 of the offset 0x200c turned out to be a USB3
reset.  The hardware document says it is the GIO reset despite LD20
has no GIO bus, confusingly.

Also, fix confusing comments for PXs3.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-04-27 11:51:12 +02:00
Philipp Zabel
0089313d85 Merge branch 'reset/lookup' into reset/next
Merge the reset lookup support for non-DT platforms, from an
immutable branch provided for merging into the davinci tree.
2018-03-27 11:03:43 +02:00
Kunihiko Hayashi
5573fe85c7 reset: uniphier: add ethernet reset control support for PXs3
Add reset lines for ethernet controller on PXs3 SoC.

Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:44:04 +02:00
Gabriel Fernandez
197858b685 reset: stm32mp1: Enable stm32mp1 reset driver
stm32mp1 RCC IP 1 has a reset SET register and a reset CLEAR register.

Writing '0' on reset SET register has no effect
Writing '1' on reset SET register
	activates the reset of the corresponding peripheral

Writing '0' on reset CLEAR register	has no effect
Writing '1' on reset CLEAR register
	releases the reset of the corresponding peripheral

See Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.txt

Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:44:04 +02:00
Katsuhiro Suzuki
b06b631c8b reset: uniphier: add Pro4/Pro5/PXs2 audio systems reset control
Add reset lines for audio subsystem (AIO) on UniPhier
Pro4/Pro5/PXs2 SoCs.

Signed-off-by: Katsuhiro Suzuki <suzuki.katsuhiro@socionext.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:44:03 +02:00
Masahiro Yamada
8fa566206e reset: imx7: add 'depends on HAS_IOMEM' to fix unmet dependency
This config select's MFD_SYSCON, but does not depend on HAS_IOMEM.

Compile testing on architecture without HAS_IOMEM causes "unmet
direct dependencies" in Kconfig phase.

Detected by "make ARCH=score allyesconfig".

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:44:02 +02:00
Bartosz Golaszewski
e2749bb998 reset: modify the way reset lookup works for board files
Commit 7af1bb19f1d7 ("reset: add support for non-DT systems")
introduced reset control lookup mechanism for boards that still use
board files.

The routine used to register lookup entries takes the corresponding
reset_controlled_dev structure as argument.

It's been determined however that for the first user of this new
interface - davinci psc driver - it will be easier to register the
lookup entries using the reset controller device name.

This patch changes the way lookup entries are added.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
[p.zabel@pengutronix.de: added missing ERR_PTR]
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:39:47 +02:00
Bartosz Golaszewski
6691dffab0 reset: add support for non-DT systems
The reset framework only supports device-tree. There are some platforms
however, which need to use it even in legacy, board-file based mode.

An example of such architecture is the DaVinci family of SoCs which
supports both device tree and legacy boot modes and we don't want to
introduce any regressions.

We're currently working on converting the platform from its hand-crafted
clock API to using the common clock framework. Part of the overhaul will
be representing the chip's power sleep controller's reset lines using
the reset framework.

This changeset extends the core reset code with a new reset lookup
entry structure. It contains data allowing the reset core to associate
reset lines with devices by comparing the dev_id and con_id strings.

It also provides a function allowing drivers to register lookup entries
with the framework.

The new lookup function is only called as a fallback in case the
of_node field is NULL and doesn't change anything for current users.

Tested with a dummy reset driver with several lookup entries.

An example lookup table registration from a driver can be found below:

static struct reset_control_lookup foobar_reset_lookup[] = {
	RESET_LOOKUP("foo.0", "foo", 15),
	RESET_LOOKUP("bar.0", NULL,   5),
};

foobar_probe()
{
...

        reset_controller_add_lookup(&rcdev, foobar_reset_lookup,
                                    ARRAY_SIZE(foobar_reset_lookup));

...
}

Cc: Sekhar Nori <nsekhar@ti.com>
Cc: Kevin Hilman <khilman@baylibre.com>
Cc: David Lechner <david@lechnology.com>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-03-27 10:39:47 +02:00
Joel Stanley
1d7592f84f reset: simple: Enable for ASPEED systems
ASPEED BMC SoCs have a reset controller in the LPC IP that can be
controlled using this driver to release the UARTs from reset.

No special configuration is required, so only the compatible string is
added.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-02-20 17:42:29 +01:00
Martin Blumenstingl
320da785db reset: meson: enable level reset support on Meson8b
Commit a5a10afe04 ("reset: meson: add level reset support for GX SoC
family") only enabled the level resets for the newer GX SoC family.
However, the older 32-Meson SoCs (Meson8, Meson8b and Meson8m2) also
support level resets using the same offset as the newer GX SoCs.

This removes the separation between Meson8b and the GX SoCs from the
reset-meson driver to enable the level resets also on Meson8b.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-02-16 15:32:09 +01:00
Yixun Lan
0e5721f762 reset: meson-axg: add compatible string for Meson-AXG SoC
Try to add compatible string explictly to support new Meson-AXG SoC.

Signed-off-by: Yixun Lan <yixun.lan@amlogic.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2017-11-27 09:16:40 +01:00
Masahiro Yamada
1554bbd4ad reset: make device_reset_optional() really optional
Commit bb475230b8 ("reset: make optional functions really optional")
converted *_get_optional* functions, but device_reset_optional() was
left behind.  Convert it in the same way.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
2017-11-27 09:16:39 +01:00
Linus Torvalds
cf9b0772f2 Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver updates from Arnd Bergmann:
 "This branch contains platform-related driver updates for ARM and
  ARM64, these are the areas that bring the changes:

  New drivers:

   - driver support for Renesas R-Car V3M (R8A77970)

   - power management support for Amlogic GX

   - a new driver for the Tegra BPMP thermal sensor

   - a new bus driver for Technologic Systems NBUS

  Changes for subsystems that prefer to merge through arm-soc:

   - the usual updates for reset controller drivers from Philipp Zabel,
     with five added drivers for SoCs in the arc, meson, socfpa,
     uniphier and mediatek families

   - updates to the ARM SCPI and PSCI frameworks, from Sudeep Holla,
     Heiner Kallweit and Lorenzo Pieralisi

  Changes specific to some ARM-based SoC

   - the Freescale/NXP DPAA QBMan drivers from PowerPC can now work on
     ARM as well

   - several changes for power management on Broadcom SoCs

   - various improvements on Qualcomm, Broadcom, Amlogic, Atmel,
     Mediatek

   - minor Cleanups for Samsung, TI OMAP SoCs"

[ NOTE! This doesn't work without the previous ARM SoC device-tree pull,
  because the R8A77970 driver is missing a header file that came from
  that pull.

  The fact that this got merged afterwards only fixes it at this point,
  and bisection of that driver will fail if/when you walk into the
  history of that driver.           - Linus ]

* tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (96 commits)
  soc: amlogic: meson-gx-pwrc-vpu: fix power-off when powered by bootloader
  bus: add driver for the Technologic Systems NBUS
  memory: omap-gpmc: Remove deprecated gpmc_update_nand_reg()
  soc: qcom: remove unused label
  soc: amlogic: gx pm domain: add PM and OF dependencies
  drivers/firmware: psci_checker: Add missing destroy_timer_on_stack()
  dt-bindings: power: add amlogic meson power domain bindings
  soc: amlogic: add Meson GX VPU Domains driver
  soc: qcom: Remote filesystem memory driver
  dt-binding: soc: qcom: Add binding for rmtfs memory
  of: reserved_mem: Accessor for acquiring reserved_mem
  of/platform: Generalize /reserved-memory handling
  soc: mediatek: pwrap: fix fatal compiler error
  soc: mediatek: pwrap: fix compiler errors
  arm64: mediatek: cleanup message for platform selection
  soc: Allow test-building of MediaTek drivers
  soc: mediatek: place Kconfig for all SoC drivers under menu
  soc: mediatek: pwrap: add support for MT7622 SoC
  soc: mediatek: pwrap: add common way for setup CS timing extenstion
  soc: mediatek: pwrap: add MediaTek MT6380 as one slave of pwrap
  ..
2017-11-16 16:05:01 -08:00
Greg Kroah-Hartman
b24413180f License cleanup: add SPDX GPL-2.0 license identifier to files with no license
Many source files in the tree are missing licensing information, which
makes it harder for compliance tools to determine the correct license.

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

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

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

How this work was done:

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

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

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

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

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

All documentation files were explicitly excluded.

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

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

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

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

   and resulted in the first patch in this series.

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

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

   and resulted in the second patch in this series.

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

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

   and that resulted in the third patch in this series.

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

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

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

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

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

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

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

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

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

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

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

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

Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org>
Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02 11:10:55 +01:00
Philipp Zabel
542befbb18 Merge branch 'reset/arc' into reset/next
Merge the AXS10x driver, which is also merged into
git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc.git for-next
2017-10-18 15:59:30 +02:00