28566 Commits

Author SHA1 Message Date
kondors1995
86d927fab7 Revert "sched: fair: spread tasks with in little cluster"
This seams to cause regresion in ux and its not used on kona

This reverts commit cfcfd7a75b.
2020-09-11 09:41:01 +00:00
kondors1995
8b165b0bc1 treewide: remove blocker changes
Squashed commit of the following:

commit 811cf86e5630b6683e461e5ee456d4ffe2eb36b2
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:21:29 2020 +0000

    Revert "cpufreq: schedutil: Apply init protection to default configuration options"

    This reverts commit 4ecb29c3df.

commit b541ba1f2b0543761d962d36380f04139becf16a
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:08:13 2020 +0000

    Revert "kernel: introduce CPUSets Assist"

    This reverts commit c45e65572c.

commit 886a836d499dd2a19b93f08be7e68f6f6baa2e6b
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:08:03 2020 +0000

    Revert "cpuset: Refactor cpuset assist code"

    This reverts commit 04eada3a89.

commit 9bdcbf7576aabdea6639e98d576cf63f8804f6d6
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:07:57 2020 +0000

    Revert "cpuset: Move cpuset override values to Kconfig"

    This reverts commit edbf67e199.

commit f9a4600e0bc63e7ea2bdc3a23ef3e1e1848f5d56
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:07:51 2020 +0000

    Revert "cpuset: guard CPUSETS_ASSISTANT code properly"

    This reverts commit 068236c13a.

commit adf6f1f9c99161593af8c88f9875730823ece72c
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:06:39 2020 +0000

    Revert "exec: Add node tampering blacklist function"

    This reverts commit ce392dfd95.

commit a8c8bf6cd51e6c1eaf2c533604aa9672ea3e605f
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:06:32 2020 +0000

    Revert "exec: Extend task_is_booster check to cover OxygenOS userspace HALs"

    This reverts commit 9e18f0f556.

commit 49f0c5e402345ec5d25a46a573de09d967a3d298
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:06:25 2020 +0000

    Revert "exec: Add power@2.0 and IOP to tampering blacklist"

    This reverts commit a94abe8d8e.

commit df04db7ce215e1b90559bdfd59a7cc7b0a3128c1
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:02:19 2020 +0000

    Revert "cpufreq: Kill userspace CPU boosting entirely"

    This reverts commit 3588cb8f72.

commit b56ca8721a22b3f0ce870485084578de6d2e4bf1
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:01:59 2020 +0000

    Revert "cpufreq: Allow configuring default minimum frequencies in Kconfig"

    This reverts commit c52d0b68a4.

commit 3683571e22dec49b2e9585c9bf67e26c3f90c62d
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:01:52 2020 +0000

    Revert "cpufreq: schedutil: Expose default rate-limits as config options"

    This reverts commit 8e639c1f3f.
2020-09-11 09:40:30 +00:00
kondors1995
67c76d6bb3 treewide: revert kernel boosting changes
Squashed commit of the following:

commit 8a39f97027a0155282a5f108ddf420d41d763a47
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:39:14 2020 +0000

    Revert "devfreq_boost: Introduce devfreq boost driver"

    This reverts commit 574fbb390d.

commit 3ff01b6c2c45a08bb0e0354318f13d31f7e8aea8
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:39:08 2020 +0000

    Revert "devfreq_boost: Mark boost kthreads as performance critical"

    This reverts commit 99cfb3cd59.

commit 8b040082b8fef7eb1ba9dedf37ff64a10fbd5907
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:38:15 2020 +0000

    Revert "mm: Boost when memory pressure becomes high"

    This reverts commit bf459bce2c.

commit 46bc11a1e8b00eb3ac0e71a28adcb5555b47777b
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:37:05 2020 +0000

    Revert "drm/atomic: boost DDR bus when committing a new frame"

    This reverts commit cd504c975d.

commit 9ac11686c1a70967ad3861ef1ff5c7b917f9a6ad
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:36:59 2020 +0000

    Revert "devfreq_boost: Update and expand to handle CPUBW/LLCCBW boosting"

    This reverts commit 77817b0443.

commit 19930f3b514d57cb6e1e343f4322ede8c7b25c7a
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:35:48 2020 +0000

    Revert "devfreq_boost: perform max devfreq boost for 250ms on touch events"

    This reverts commit 7daee3c1b6.

commit 81d4c4e91dc341f15da738c9a3c752daec6c22a2
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:24:41 2020 +0000

    Revert "ARM64: configs: raphael: Enable and Configure DEVFREQ_BOOST"

    This reverts commit 560aedd879.

commit b5ef5130e8fb813436a7ac1b5c69d99c8a0b100d
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:00:08 2020 +0000

    Revert "cpu_input_boost: Introduce driver for event-based CPU boosting"

    This reverts commit b8ba38485c.

commit 727aa5a4eff5d70c234779637ced05d05e4d612b
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 07:00:01 2020 +0000

    Revert "cpu_input_boost: Mark boost kthread as performance critical"

    This reverts commit 7f2e816b50.

commit 80df9a40821c1165d66792f6aa7651cb6dc3aa90
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 06:59:11 2020 +0000

    Revert "cpufreq: cpu_input_boost: Remove all input boost code and adjust"

    This reverts commit 6899944bb3.

commit 9526ef9d1b73dcddeb6b36b365f991a4054b2eb6
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 06:58:15 2020 +0000

    Revert "kernel: Boost to the max for when zygote forks"

    This reverts commit ab25cbf8fb.

commit 29847b0eb3e35321a5fc28f79b55906500fffc1a
Author: kondors1995 <normandija1945@gmail.com>
Date:   Wed Sep 9 06:58:08 2020 +0000

    Revert "kernel: Boost whenever a zygote-forked process becomes a top app"

    This reverts commit 1237497eba.
2020-09-11 09:34:28 +00:00
UtsavBalar1231
c496af43ee Merge remote-tracking branch 'origin/auto-kernel' into auto-kernel-oss
* origin/auto-kernel:
  Squashed 'updater/' content from commit 2da75e04574a
  goodix_driver_gt9886: cleanup and fix code styling
  ARM64: configs: raphael: Enable GAMEMODE support
  goodix_driver_gt9886: Implement GAMEMODE Support
  ARM64: configs: raphael: Balance schedutil up/down rate limits
  cpufreq: schedutil: Apply init protection to default configuration options
  cpufreq: schedutil: Enable iowait boost by default
  sched: features: Disable EAS_PREFER_IDLE
  [TEMP]: Kbuild: disable compound-token-split-by-space warnings
  Makefile: Enable LLVM integrated assembler also for assembly files
  crypto: arm64/aes-modes - get rid of literal load of addend vector
  crypto: arm64/chacha20 - move kernel mode neon en/disable into loop
  crypto: arm64/aes-bs - move kernel mode neon en/disable into loop
  crypto: arm64/aes-blk - move kernel mode neon en/disable into loop
  crypto: arm64/aes-ce-ccm - move kernel mode neon en/disable into loop
  kbuild: use LLVM integrated assembler for C files
  drm: msm: sde: Cleanup and optimize sde_connector_update_hbm
  drm: msm: sde: Remove mutex usage in sde_connector_update_hbm
  drm: msm: Fix dimlayer when dc is enabled
  drm: msm: Add support to block fod dimlayer backlight
  drm: msm: dsi_panel: Add support to skip set backlight
  drm: msm: cleanup xiaomi changes for sanity
  Revert "drm: msm: sde: workaround for miui like fod behaviour"
  drone: switch to Full LTO builds
  drone: update for new scripts
  README: Refactor and update
  ARM64: configs: raphael: Enable stack & heap initialization
  scripts: dtc: Enable avoid_unnecessary_addr_size warnings
  Linux 4.14.196
  ALSA: usb-audio: Update documentation comment for MS2109 quirk
  HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
  tpm: Unify the mismatching TPM space buffer sizes
  btrfs: check the right error variable in btrfs_del_dir_entries_in_log
  usb: storage: Add unusual_uas entry for Sony PSZ drives
  USB: cdc-acm: rework notification_buffer resizing
  USB: gadget: u_f: Unbreak offset calculation in VLAs
  USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
  USB: gadget: u_f: add overflow checks to VLA macros
  overflow.h: Add allocation size calculation helpers
  usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
  USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
  USB: quirks: Add no-lpm quirk for another Raydium touchscreen
  usb: uas: Add quirk for PNY Pro Elite
  USB: yurex: Fix bad gfp argument
  drm/amdgpu: Fix buffer overflow in INFO ioctl
  device property: Fix the secondary firmware node handling in set_primary_fwnode()
  PM: sleep: core: Fix the handling of pending runtime resume requests
  xhci: Do warm-reset when both CAS and XDEV_RESUME are set
  XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
  writeback: Fix sync livelock due to b_dirty_time processing
  writeback: Avoid skipping inode writeback
  writeback: Protect inode->i_io_list with inode->i_lock
  serial: 8250: change lock order in serial8250_do_startup()
  serial: 8250_exar: Fix number of ports for Commtech PCIe cards
  serial: pl011: Don't leak amba_ports entry on driver register error
  serial: pl011: Fix oops on -EPROBE_DEFER
  serial: samsung: Removes the IRQ not found warning
  vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
  vt: defer kfree() of vc_screenbuf in vc_do_resize()
  USB: lvtest: return proper error code in probe
  fbcon: prevent user font height or width change from causing potential out-of-bounds access
  btrfs: fix space cache memory leak after transaction abort
  HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
  powerpc/perf: Fix soft lockups due to missed interrupt accounting
  net: gianfar: Add of_node_put() before goto statement
  scsi: ufs: Clean up completed request without interrupt notification
  scsi: ufs: Improve interrupt handling for shared interrupts
  scsi: ufs: Fix possible infinite loop in ufshcd_hold
  s390/cio: add cond_resched() in the slow_eval_known_fn() loop
  spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
  fs: prevent BUG_ON in submit_bh_wbc()
  jbd2: abort journal if free a async write error metadata buffer
  ext4: don't BUG on inconsistent journal feature
  jbd2: make sure jh have b_transaction set in refile/unfile_buffer
  usb: gadget: f_tcm: Fix some resource leaks in some error paths
  i2c: rcar: in slave mode, clear NACK earlier
  null_blk: fix passing of REQ_FUA flag in null_handle_rq
  nvme-fc: Fix wrong return value in __nvme_fc_init_request()
  media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
  Revert "ath10k: fix DMA related firmware crashes on multiple devices"
  efi: provide empty efi_enter_virtual_mode implementation
  USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
  powerpc/spufs: add CONFIG_COREDUMP dependency
  KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
  media: davinci: vpif_capture: fix potential double free
  EDAC/ie31200: Fallback if host bridge device is already initialized
  scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
  ceph: fix potential mdsc use-after-free crash
  scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
  locking/lockdep: Fix overflow in presentation of average lock-time
  drm/nouveau: Fix reference count leak in nouveau_connector_detect
  drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
  f2fs: fix use-after-free issue
  cec-api: prevent leaking memory through hole in structure
  mips/vdso: Fix resource leaks in genvdso.c
  rtlwifi: rtl8192cu: Prevent leaking urb
  PCI: Fix pci_create_slot() reference count leak
  omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
  selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
  scsi: lpfc: Fix shost refcount mismatch when deleting vport
  drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
  drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
  drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
  drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
  drm/radeon: fix multiple reference count leak
  drm/amdkfd: Fix reference count leaks.
  iommu/iova: Don't BUG on invalid PFNs
  scsi: target: tcmu: Fix crash on ARM during cmd completion
  blktrace: ensure our debugfs dir exists
  media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
  powerpc/xive: Ignore kmemleak false positives
  arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
  mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
  ASoC: tegra: Fix reference count leaks.
  ALSA: pci: delete repeated words in comments
  gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
  ipvlan: fix device features
  tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
  net: Fix potential wrong skb->protocol in skb_vlan_untag()
  powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
  ANDROID: cuttlefish_defconfig: initialize locals with zeroes
  BACKPORT: security: allow using Clang's zero initialization for stack variables
  scripts: refactor for new enviroment
  Revert "sched/walt: Improve the scheduler"
  Revert "binder: Prevent context manager from incrementing ref 0"

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>

Conflicts:
	arch/arm64/configs/raphael_defconfig
	drivers/gpu/drm/drm_ioctl.c
	drivers/gpu/drm/msm/dsi-staging/dsi_display.c
	drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.h
	drivers/gpu/drm/msm/sde/sde_connector.c
	drivers/input/touchscreen/goodix_driver_gt9886/goodix_ts_i2c.c
2020-09-08 18:58:48 +05:30
Yaroslav Furman
4ecb29c3df cpufreq: schedutil: Apply init protection to default configuration options
Allow governor tunables to be configured in-kernel and guard
against userspace interference.

Signed-off-by: Yaroslav Furman <yaro330@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-09-07 20:49:57 +05:30
Danny Lin
f2da87b1d8 cpufreq: schedutil: Enable iowait boost by default
This can improve performance slightly without any noticeable regressions
in battery life.

Signed-off-by: Danny Lin <danny@kdrag0n.dev>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-09-07 20:49:57 +05:30
AngeloGioacchino Del Regno
a92a4ff38a sched: features: Disable EAS_PREFER_IDLE
This option tends to assign tasks to the best (in energy terms)
idle CPU, but if there is no totally idle core, then the task
will be assigned to a very high power core, generating a lot of
heat and a lot of power consumption for literally NO REASON.

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-09-07 20:49:57 +05:30
UtsavBalar1231
c8af55b625 Merge remote-tracking branch 'origin/auto-kernel-base' into auto-kernel
* origin/auto-kernel-base:
  Linux 4.14.196
  ALSA: usb-audio: Update documentation comment for MS2109 quirk
  HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
  tpm: Unify the mismatching TPM space buffer sizes
  btrfs: check the right error variable in btrfs_del_dir_entries_in_log
  usb: storage: Add unusual_uas entry for Sony PSZ drives
  USB: cdc-acm: rework notification_buffer resizing
  USB: gadget: u_f: Unbreak offset calculation in VLAs
  USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
  USB: gadget: u_f: add overflow checks to VLA macros
  overflow.h: Add allocation size calculation helpers
  usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
  USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
  USB: quirks: Add no-lpm quirk for another Raydium touchscreen
  usb: uas: Add quirk for PNY Pro Elite
  USB: yurex: Fix bad gfp argument
  drm/amdgpu: Fix buffer overflow in INFO ioctl
  device property: Fix the secondary firmware node handling in set_primary_fwnode()
  PM: sleep: core: Fix the handling of pending runtime resume requests
  xhci: Do warm-reset when both CAS and XDEV_RESUME are set
  XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
  writeback: Fix sync livelock due to b_dirty_time processing
  writeback: Avoid skipping inode writeback
  writeback: Protect inode->i_io_list with inode->i_lock
  serial: 8250: change lock order in serial8250_do_startup()
  serial: 8250_exar: Fix number of ports for Commtech PCIe cards
  serial: pl011: Don't leak amba_ports entry on driver register error
  serial: pl011: Fix oops on -EPROBE_DEFER
  serial: samsung: Removes the IRQ not found warning
  vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
  vt: defer kfree() of vc_screenbuf in vc_do_resize()
  USB: lvtest: return proper error code in probe
  fbcon: prevent user font height or width change from causing potential out-of-bounds access
  btrfs: fix space cache memory leak after transaction abort
  HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
  powerpc/perf: Fix soft lockups due to missed interrupt accounting
  net: gianfar: Add of_node_put() before goto statement
  scsi: ufs: Clean up completed request without interrupt notification
  scsi: ufs: Improve interrupt handling for shared interrupts
  scsi: ufs: Fix possible infinite loop in ufshcd_hold
  s390/cio: add cond_resched() in the slow_eval_known_fn() loop
  spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
  fs: prevent BUG_ON in submit_bh_wbc()
  jbd2: abort journal if free a async write error metadata buffer
  ext4: don't BUG on inconsistent journal feature
  jbd2: make sure jh have b_transaction set in refile/unfile_buffer
  usb: gadget: f_tcm: Fix some resource leaks in some error paths
  i2c: rcar: in slave mode, clear NACK earlier
  null_blk: fix passing of REQ_FUA flag in null_handle_rq
  nvme-fc: Fix wrong return value in __nvme_fc_init_request()
  media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
  Revert "ath10k: fix DMA related firmware crashes on multiple devices"
  efi: provide empty efi_enter_virtual_mode implementation
  USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
  powerpc/spufs: add CONFIG_COREDUMP dependency
  KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
  media: davinci: vpif_capture: fix potential double free
  EDAC/ie31200: Fallback if host bridge device is already initialized
  scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
  ceph: fix potential mdsc use-after-free crash
  scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
  locking/lockdep: Fix overflow in presentation of average lock-time
  drm/nouveau: Fix reference count leak in nouveau_connector_detect
  drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
  f2fs: fix use-after-free issue
  cec-api: prevent leaking memory through hole in structure
  mips/vdso: Fix resource leaks in genvdso.c
  rtlwifi: rtl8192cu: Prevent leaking urb
  PCI: Fix pci_create_slot() reference count leak
  omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
  selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
  scsi: lpfc: Fix shost refcount mismatch when deleting vport
  drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
  drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
  drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
  drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
  drm/radeon: fix multiple reference count leak
  drm/amdkfd: Fix reference count leaks.
  iommu/iova: Don't BUG on invalid PFNs
  scsi: target: tcmu: Fix crash on ARM during cmd completion
  blktrace: ensure our debugfs dir exists
  media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
  powerpc/xive: Ignore kmemleak false positives
  arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
  mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
  ASoC: tegra: Fix reference count leaks.
  ALSA: pci: delete repeated words in comments
  gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
  ipvlan: fix device features
  tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
  net: Fix potential wrong skb->protocol in skb_vlan_untag()
  powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
  ANDROID: cuttlefish_defconfig: initialize locals with zeroes
  BACKPORT: security: allow using Clang's zero initialization for stack variables
  Revert "binder: Prevent context manager from incrementing ref 0"

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-09-06 10:59:54 +05:30
UtsavBalar1231
e529165a4f Merge remote-tracking branch 'aosp/android-4.14-stable' into auto-kernel-base
* aosp/android-4.14-stable:
  Linux 4.14.196
  ALSA: usb-audio: Update documentation comment for MS2109 quirk
  HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
  tpm: Unify the mismatching TPM space buffer sizes
  btrfs: check the right error variable in btrfs_del_dir_entries_in_log
  usb: storage: Add unusual_uas entry for Sony PSZ drives
  USB: cdc-acm: rework notification_buffer resizing
  USB: gadget: u_f: Unbreak offset calculation in VLAs
  USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
  USB: gadget: u_f: add overflow checks to VLA macros
  overflow.h: Add allocation size calculation helpers
  usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
  USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
  USB: quirks: Add no-lpm quirk for another Raydium touchscreen
  usb: uas: Add quirk for PNY Pro Elite
  USB: yurex: Fix bad gfp argument
  drm/amdgpu: Fix buffer overflow in INFO ioctl
  device property: Fix the secondary firmware node handling in set_primary_fwnode()
  PM: sleep: core: Fix the handling of pending runtime resume requests
  xhci: Do warm-reset when both CAS and XDEV_RESUME are set
  XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
  writeback: Fix sync livelock due to b_dirty_time processing
  writeback: Avoid skipping inode writeback
  writeback: Protect inode->i_io_list with inode->i_lock
  serial: 8250: change lock order in serial8250_do_startup()
  serial: 8250_exar: Fix number of ports for Commtech PCIe cards
  serial: pl011: Don't leak amba_ports entry on driver register error
  serial: pl011: Fix oops on -EPROBE_DEFER
  serial: samsung: Removes the IRQ not found warning
  vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
  vt: defer kfree() of vc_screenbuf in vc_do_resize()
  USB: lvtest: return proper error code in probe
  fbcon: prevent user font height or width change from causing potential out-of-bounds access
  btrfs: fix space cache memory leak after transaction abort
  HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
  powerpc/perf: Fix soft lockups due to missed interrupt accounting
  net: gianfar: Add of_node_put() before goto statement
  scsi: ufs: Clean up completed request without interrupt notification
  scsi: ufs: Improve interrupt handling for shared interrupts
  scsi: ufs: Fix possible infinite loop in ufshcd_hold
  s390/cio: add cond_resched() in the slow_eval_known_fn() loop
  spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
  fs: prevent BUG_ON in submit_bh_wbc()
  jbd2: abort journal if free a async write error metadata buffer
  ext4: don't BUG on inconsistent journal feature
  jbd2: make sure jh have b_transaction set in refile/unfile_buffer
  usb: gadget: f_tcm: Fix some resource leaks in some error paths
  i2c: rcar: in slave mode, clear NACK earlier
  null_blk: fix passing of REQ_FUA flag in null_handle_rq
  nvme-fc: Fix wrong return value in __nvme_fc_init_request()
  media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
  Revert "ath10k: fix DMA related firmware crashes on multiple devices"
  efi: provide empty efi_enter_virtual_mode implementation
  USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
  powerpc/spufs: add CONFIG_COREDUMP dependency
  KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
  media: davinci: vpif_capture: fix potential double free
  EDAC/ie31200: Fallback if host bridge device is already initialized
  scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
  ceph: fix potential mdsc use-after-free crash
  scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
  locking/lockdep: Fix overflow in presentation of average lock-time
  drm/nouveau: Fix reference count leak in nouveau_connector_detect
  drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
  f2fs: fix use-after-free issue
  cec-api: prevent leaking memory through hole in structure
  mips/vdso: Fix resource leaks in genvdso.c
  rtlwifi: rtl8192cu: Prevent leaking urb
  PCI: Fix pci_create_slot() reference count leak
  omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
  selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
  scsi: lpfc: Fix shost refcount mismatch when deleting vport
  drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
  drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
  drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
  drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
  drm/radeon: fix multiple reference count leak
  drm/amdkfd: Fix reference count leaks.
  iommu/iova: Don't BUG on invalid PFNs
  scsi: target: tcmu: Fix crash on ARM during cmd completion
  blktrace: ensure our debugfs dir exists
  media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
  powerpc/xive: Ignore kmemleak false positives
  arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
  mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
  ASoC: tegra: Fix reference count leaks.
  ALSA: pci: delete repeated words in comments
  gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
  ipvlan: fix device features
  tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
  net: Fix potential wrong skb->protocol in skb_vlan_untag()
  powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
  ANDROID: cuttlefish_defconfig: initialize locals with zeroes
  BACKPORT: security: allow using Clang's zero initialization for stack variables
  Revert "binder: Prevent context manager from incrementing ref 0"

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-09-04 20:22:00 +05:30
Greg Kroah-Hartman
aaa9fead2d Merge 4.14.196 into android-4.14-stable
Changes in 4.14.196
	powerpc/64s: Don't init FSCR_DSCR in __init_FSCR()
	net: Fix potential wrong skb->protocol in skb_vlan_untag()
	tipc: fix uninit skb->data in tipc_nl_compat_dumpit()
	ipvlan: fix device features
	gre6: Fix reception with IP6_TNL_F_RCV_DSCP_COPY
	ALSA: pci: delete repeated words in comments
	ASoC: tegra: Fix reference count leaks.
	mfd: intel-lpss: Add Intel Emmitsburg PCH PCI IDs
	arm64: dts: qcom: msm8916: Pull down PDM GPIOs during sleep
	powerpc/xive: Ignore kmemleak false positives
	media: pci: ttpci: av7110: fix possible buffer overflow caused by bad DMA value in debiirq()
	blktrace: ensure our debugfs dir exists
	scsi: target: tcmu: Fix crash on ARM during cmd completion
	iommu/iova: Don't BUG on invalid PFNs
	drm/amdkfd: Fix reference count leaks.
	drm/radeon: fix multiple reference count leak
	drm/amdgpu: fix ref count leak in amdgpu_driver_open_kms
	drm/amd/display: fix ref count leak in amdgpu_drm_ioctl
	drm/amdgpu: fix ref count leak in amdgpu_display_crtc_set_config
	drm/amdgpu/display: fix ref count leak when pm_runtime_get_sync fails
	scsi: lpfc: Fix shost refcount mismatch when deleting vport
	selftests/powerpc: Purge extra count_pmc() calls of ebb selftests
	omapfb: fix multiple reference count leaks due to pm_runtime_get_sync
	PCI: Fix pci_create_slot() reference count leak
	rtlwifi: rtl8192cu: Prevent leaking urb
	mips/vdso: Fix resource leaks in genvdso.c
	cec-api: prevent leaking memory through hole in structure
	f2fs: fix use-after-free issue
	drm/nouveau/drm/noveau: fix reference count leak in nouveau_fbcon_open
	drm/nouveau: Fix reference count leak in nouveau_connector_detect
	locking/lockdep: Fix overflow in presentation of average lock-time
	scsi: iscsi: Do not put host in iscsi_set_flashnode_param()
	ceph: fix potential mdsc use-after-free crash
	scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
	EDAC/ie31200: Fallback if host bridge device is already initialized
	media: davinci: vpif_capture: fix potential double free
	KVM: arm64: Fix symbol dependency in __hyp_call_panic_nvhe
	powerpc/spufs: add CONFIG_COREDUMP dependency
	USB: sisusbvga: Fix a potential UB casued by left shifting a negative value
	efi: provide empty efi_enter_virtual_mode implementation
	Revert "ath10k: fix DMA related firmware crashes on multiple devices"
	media: gpio-ir-tx: improve precision of transmitted signal due to scheduling
	nvme-fc: Fix wrong return value in __nvme_fc_init_request()
	null_blk: fix passing of REQ_FUA flag in null_handle_rq
	i2c: rcar: in slave mode, clear NACK earlier
	usb: gadget: f_tcm: Fix some resource leaks in some error paths
	jbd2: make sure jh have b_transaction set in refile/unfile_buffer
	ext4: don't BUG on inconsistent journal feature
	jbd2: abort journal if free a async write error metadata buffer
	fs: prevent BUG_ON in submit_bh_wbc()
	spi: stm32: fix stm32_spi_prepare_mbr in case of odd clk_rate
	s390/cio: add cond_resched() in the slow_eval_known_fn() loop
	scsi: ufs: Fix possible infinite loop in ufshcd_hold
	scsi: ufs: Improve interrupt handling for shared interrupts
	scsi: ufs: Clean up completed request without interrupt notification
	net: gianfar: Add of_node_put() before goto statement
	powerpc/perf: Fix soft lockups due to missed interrupt accounting
	HID: i2c-hid: Always sleep 60ms after I2C_HID_PWR_ON commands
	btrfs: fix space cache memory leak after transaction abort
	fbcon: prevent user font height or width change from causing potential out-of-bounds access
	USB: lvtest: return proper error code in probe
	vt: defer kfree() of vc_screenbuf in vc_do_resize()
	vt_ioctl: change VT_RESIZEX ioctl to check for error return from vc_resize()
	serial: samsung: Removes the IRQ not found warning
	serial: pl011: Fix oops on -EPROBE_DEFER
	serial: pl011: Don't leak amba_ports entry on driver register error
	serial: 8250_exar: Fix number of ports for Commtech PCIe cards
	serial: 8250: change lock order in serial8250_do_startup()
	writeback: Protect inode->i_io_list with inode->i_lock
	writeback: Avoid skipping inode writeback
	writeback: Fix sync livelock due to b_dirty_time processing
	XEN uses irqdesc::irq_data_common::handler_data to store a per interrupt XEN data pointer which contains XEN specific information.
	xhci: Do warm-reset when both CAS and XDEV_RESUME are set
	PM: sleep: core: Fix the handling of pending runtime resume requests
	device property: Fix the secondary firmware node handling in set_primary_fwnode()
	drm/amdgpu: Fix buffer overflow in INFO ioctl
	USB: yurex: Fix bad gfp argument
	usb: uas: Add quirk for PNY Pro Elite
	USB: quirks: Add no-lpm quirk for another Raydium touchscreen
	USB: Ignore UAS for JMicron JMS567 ATA/ATAPI Bridge
	usb: host: ohci-exynos: Fix error handling in exynos_ohci_probe()
	overflow.h: Add allocation size calculation helpers
	USB: gadget: u_f: add overflow checks to VLA macros
	USB: gadget: f_ncm: add bounds checks to ncm_unwrap_ntb()
	USB: gadget: u_f: Unbreak offset calculation in VLAs
	USB: cdc-acm: rework notification_buffer resizing
	usb: storage: Add unusual_uas entry for Sony PSZ drives
	btrfs: check the right error variable in btrfs_del_dir_entries_in_log
	tpm: Unify the mismatching TPM space buffer sizes
	HID: hiddev: Fix slab-out-of-bounds write in hiddev_ioctl_usage()
	ALSA: usb-audio: Update documentation comment for MS2109 quirk
	Linux 4.14.196

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I14bae9c97fe9e2e31182c3426df57e5db5fcab8d
2020-09-03 12:02:51 +02:00
Chris Wilson
1cd492f839 locking/lockdep: Fix overflow in presentation of average lock-time
[ Upstream commit a7ef9b28aa8d72a1656fa6f0a01bbd1493886317 ]

Though the number of lock-acquisitions is tracked as unsigned long, this
is passed as the divisor to div_s64() which interprets it as a s32,
giving nonsense values with more than 2 billion acquisitons. E.g.

  acquisitions   holdtime-min   holdtime-max holdtime-total   holdtime-avg
  -------------------------------------------------------------------------
    2350439395           0.07         353.38   649647067.36          0.-32

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20200725185110.11588-1-chris@chris-wilson.co.uk
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-09-03 11:22:27 +02:00
Luis Chamberlain
249681376f blktrace: ensure our debugfs dir exists
[ Upstream commit b431ef837e3374da0db8ff6683170359aaa0859c ]

We make an assumption that a debugfs directory exists, but since
this can fail ensure it exists before allowing blktrace setup to
complete. Otherwise we end up stuffing blktrace files on the debugfs
root directory. In the worst case scenario this *in theory* can create
an eventual panic *iff* in the future a similarly named file is created
prior on the debugfs root directory. This theoretical crash can happen
due to a recursive removal followed by a specific dentry removal.

This doesn't fix any known crash, however I have seen the files
go into the main debugfs root directory in cases where the debugfs
directory was not created due to other internal bugs with blktrace
now fixed.

blktrace is also completely useless without this directory, so
this ensures to userspace we only setup blktrace if the kernel
can stuff files where they are supposed to go into.

debugfs directory creations typically aren't checked for, and we have
maintainers doing sweep removals of these checks, but since we need this
check to ensure proper userspace blktrace functionality we make sure
to annotate the justification for the check.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-09-03 11:22:25 +02:00
UtsavBalar1231
c7a1370d89 Revert "sched/walt: Improve the scheduler"
This reverts commit 7764b501b9.

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-09-01 11:50:25 +05:30
UtsavBalar1231
cddfba2d4d Merge remote-tracking branch 'origin/auto-kernel' into auto-kernel-oss
* origin/auto-kernel:
  README: update
  drone: integrate drone ci pipeline
  ARM64: configs: raphael: Enable char diagnostics driver
  ARM64: configs: raphael: Regenerate
  Revert "Workaround: These are work around which need to de addressed"
  init: completely remove Early init services support
  Dm: init: Enable rootfs mount as dm-verity during boot without ramdisk
  Revert "Remove Per File Key based hardware crypto framework"
  Revert "Integrate the new file encryption framework"
  Revert "Revert "Reverting crypto patches""
  Revert "Variant ops for UFS crypto and new crypto lib"
  Revert "mmc: host: Use request queue pointer for mmc crypto"
  Revert "mmc: cqhci: eMMC JEDEC v5.2 crypto spec addition"
  Revert "mmc: cqhci: Add eMMC crypto APIs"
  Revert "mmc: cqhci: Add inline crypto support to cqhci"
  Revert "mmc: host: Add variant ops for cqhci crypto"
  Revert "mmc: host: Fix the offset for ICE address"
  Revert "mmc: host: Set the supported dun size for crypto"
  Revert "mmc: host: Fix the condition to parse crypto clocks"
  Revert "fscrypt: support legacy inline crypto mode"
  Revert "dm: Support legacy on disk format in dm-default-key"
  Revert "defconfig: Enable new file encryption flags"
  Revert "ARM: dts: Make crypto address part of host controller node"
  Revert "Use correct endianness for encryption keys"
  Revert "ANDROID: block: backport the ability to specify max_dun_bytes"
  Revert "ANDROID: dm-default-key: set dun_bytes more precisely"
  Revert "ANDROID: fscrypt: set dun_bytes more precisely"
  Revert "BACKPORT: FROMLIST: fscrypt: add support for IV_INO_LBLK_32 policies"
  Revert "ANDROID: fscrypt: handle direct I/O with IV_INO_LBLK_32"
  Revert "dm: default-key: Adapt legacy disk format for new set of arguments"
  Revert "defconfig: Enable new file encryption flags for msmnile"
  kbuild: lto: remove duplicate dependencies from .mod files
  selinux: avc: fix build with CONFIG_AUDIT=y
  Revert "sched: walt: hardcode sched_coloc_downmigrate_ns to 40ms"
  ARM64: configs: raphael: Enable External SOCs Control Support
  ARM64: configs: raphael: Enable generic sound device drivers
  ARM64: configs: raphael: Enable Cleancache
  ARM64: configs: raphael: Enable HL/TTL nftable targets
  drm: msm: dsi_parser: Fix strlcpy usage
  sm8150: fix gcc LTO warnings
  teckpack: audio: tfa98xx: read original memtrack data from device
  drm/msm/sde: Clean up non-60 Hz panel reset code
  Makefile: Remove obsolete -fno-builtin flag
  lib/string.c: implement stpcpy
  Revert "Makefile: add -fno-builtin-stpcpy"
  Revert "Makefile: add -fno-builtin-bcmp"
  Revert "Revert "lib/string.c: implement a basic bcmp""
  msm: ipa3: fix the unmap logic
  net : stmmac: rgmii clock was not setting to low
  ARM: dts: msm: Changing the pet timeout as per granularity limit
  coresight: cti: Move CTI DEVID register read from cti_probe
  soc: qcom: qrtr: APIs for ethernet transport
  arch: arm64 : boot: dts : Removing mac addr entry
  net : stmmac : random mac addr assignment
  ARM: dts: msm: Add new QUPv3 SIDs for SA8155 VM
  ARM: dts: msm: add qoe and cv2x over eth support for sa515m
  ARM: dts: msm: add qmi and v2x over eth support for sa2150p
  Arm: dts: qsc405: Update num of tx queues to 4
  dfc: Enable TX when grant is received
  ARM: dts: sdxprairie: Update num of tx queues to 4
  ARM: dts: msm: Disable disp_rsc for sa8155-capture
  power: qpnp-smb2/5: Report TIME_TO_FULL_NOW and  CHARGE_FULL_DESIGN
  power: qpnp-qg/fg-gen3/gen4: Report TIME_TO_FULL_NOW property
  msm: kgsl: skip if requested address doesn't fall in the svm range
  defconfig: Enable new file encryption flags for msmnile
  rpmsg: glink: Enable irq wake for glink interrupt
  ARM: dts: msm: Update pmic alarm thermal zone mitigation configs for GEN3
  msm: ais: restrict cci user interface to VIDEOC_CAM_CONTROL
  ARM: dts: msm: disable avb for lv container
  binderfs: use refcount for binder control devices too
  msm: eth: Add user space interface for eth
  msm: ipa3: add support on detour lan2lan traffic to sw
  dm: default-key: Adapt legacy disk format for new set of arguments
  defconfig: sdm429: Update configs related to DCC
  net: stmmac: Add mac2mac feature support
  soc: qcom: bgcom: change BG TWM firmware name
  ARM: msm: dts: Disable U1U2 low power modes for QCS610
  UVC: Increase usb requests for better throughput
  Documentation: devicetree: net: Add doc for switch driver
  mmc: host: Set the supported dun size for crypto
  ANDROID: fscrypt: handle direct I/O with IV_INO_LBLK_32
  BACKPORT: FROMLIST: fscrypt: add support for IV_INO_LBLK_32 policies
  ANDROID: fscrypt: set dun_bytes more precisely
  ANDROID: dm-default-key: set dun_bytes more precisely
  ANDROID: block: backport the ability to specify max_dun_bytes
  ARM: dts: msm: Add vbus_detect as USB extcon for Telematics AU MTP
  msm: kgsl: Correctly clean up dma buffer attachment in case of error
  ARM: dts: msm: Add multiple dri device nodes for sa8195 lxc gvm
  Use correct endianness for encryption keys
  ARM: dts: sa2150p: enable rgmii level shifter on nand vt som
  ARM: dts: msm: disable disk rename in LV GVM
  sdm429w: add bg-rsg driver changes
  mtd: msm_qpic_nand: Use logical unit count in flash density
  mmc: host: Fix the condition to parse crypto clocks
  defconfig: Disable wlan vendors to optimize memory
  ARM: dts: Make crypto address part of host controller node
  defconfig: Enable new file encryption flags
  dm: Support legacy on disk format in dm-default-key
  fscrypt: support legacy inline crypto mode
  mmc: host: Fix the offset for ICE address
  mmc: host: Add variant ops for cqhci crypto
  mmc: cqhci: Add inline crypto support to cqhci
  mmc: cqhci: Add eMMC crypto APIs
  mmc: cqhci: eMMC JEDEC v5.2 crypto spec addition
  mmc: host: Use request queue pointer for mmc crypto
  Variant ops for UFS crypto and new crypto lib
  Revert "Reverting crypto patches"
  Integrate the new file encryption framework
  Remove Per File Key based hardware crypto framework
  ARM: dts: msm: Disable cti apps node for sa8155
  ARM: dts: add audio device tree for sda429
  usb: f_gsi: Implement remote wakeup feature for gsi for bus suspend
  diag: Synchronize USB notifications handling event queues
  diag: Add usb events to a queue
  msm: ais: change the buffer SOF timestamp match
  net: stmmac: Fix the ioctl case for timestamping
  usb: gadget: u_ether: Add skb check in eth_start_xmit
  net: stmmac: FR60005 unused data cleanup
  lkdtm: Correct the size value for WRITE_KERN
  net: stmmac: Enable RX parameter configuration from device tree
  msm: camera: Fix uninitialized and Null pointer dereference
  serial: msm_geni_serial: Fix the issue with PM usage
  ARM: defconfig: Enable intermediate functional block support for sdm429w
  clk: qcom: gcc: Add freq support for emac clk in qcs405
  msm: kgsl: Use regulator_is_enabled api when gpu-quirk-cx-gdsc is defined
  msm: kgsl: Reset CM3 during GMU suspend
  soc: qcom: socinfo: Add support for trinket-iot soc-id
  msm: kgsl: Always boot GMU with default CM3 config
  ARM: dts: qcom: Enable SE2 I2C for SA8195
  msm: pcie: validate speed switch request
  msm: pcie: correct cached PCIe link BW max gen speed
  soc: qcom: socinfo: Remove Unnecessary soc-id
  ARM: dts: msm: Remove unnecessary files for qcm6125
  ARM: dts: msm: add support of DP PCLK bond mode for SA8195p
  msm: kgsl: Add handler for GPC interrupt on A6xx GPU
  msm: ipa3: add eth ep_pair info
  msm: ipa3: add v2x ethernet pipes
  msm: kgsl: Poll GDSCR to ensure CX collapse
  ARM: dts: msm: Add WLAN PD auxilary minidump ID for sdmmagpie
  ARM: dts: msm: Add WLAN PD auxilary minidump ID for MSS on SM6150
  RM: dts: msm: add support for gpio based jack detection on qcs610

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-29 22:33:13 +05:30
UtsavBalar1231
75417a9d9c Revert "sched: walt: hardcode sched_coloc_downmigrate_ns to 40ms"
This increased active power consuption
This reverts commit deec751432.

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-28 16:59:46 +05:30
UtsavBalar1231
5f38a95d53 Merge remote-tracking branch 'origin/auto-kernel' into auto-kernel-oss
* origin/auto-kernel:
  techpack: audio: squash add back auto-kernel changes
  techpack: Remove audio-kernel subtree from source
  techpack: audio: Remove Android.mk files
  ASoC: Avoid spk_id_get duplicate defination
  ASoC: sm8150: do not export all the variables
  ASoC: msm-dai-q6-v2: Mark msm-dai-q6 drivers as sync probe.
  config: sm8150: Build all modules in-kernel
  ASoC: dsp: elliptic: Fix No newline at end of elliptic_version.h
  ASoC: sm8150: Split sa8155 driver into separate config option
  techpack: audio: Remove build timestamp injection
  techpack/audio: codecs: Fix potential buffer overflows
  ASoC: Remove -Werror definations
  SoC: Fix symbolic links
  ASoC: Add non DSP stereo support for tfa98xx
  ASoC: Add Support for tfa98xx driver
  Squashed 'asoc/codecs/tfa98xx/' content from commit 37440d98
  ASoC: sm8150: copy dai links based on device soc id
  ASoC: sm8150: Add tfa9874 codec dai link support
  ASoC: sm8150: Add cs35l41 codec dai link support
  ASoC: sm8150: Add tas2557 codec dai link support
  ASoC: sm8150: Add snd-soc-dummy codec dai link support
  ASoC: sm8150: Disable LPASS_BE_QUAT_MI2S_RX route
  ASoC: sm8150: Fix mi2s clock frequency
  ASoC: sm8150: modify button configuration
  ASoC: msm-dai-fe: Add Support for packed 24 bit
  ASoC: msm-compress-q6-v2: Set decoder output to 24 bit
  ASoC: msm-pcm-routing-v2: Fix external EC reference for AUDIO_REF_EC_UL10 MUX
  ASoC: dsp: q6afe: don't validate payload size check before memory copy
  ASoC: dsp: q6afe: Remove payload size check on param_id_pos
  ASoC: dsp: set channel_mode as 1 for ADM_TOPOLOGY_ID_AUDIO_RX_FVSAM topology
  ASoC: dsp: Add AFE_PORT_ID_PSEUDOPORT_01 routing support
  ASoC: wcd-spi: Return I/O error if WCD SPI suspended
  ASoC: wcd-dsp-mgr: Import WDSP firmware load changes
  ASoC: wcd9xxx-common-v2: set hph mode on hph class-h state
  ASoC: wcd934x: Boost HPH volume
  ASoC: wcd934x: Bringup tavil micbias support
  ASoC: wcd-mbhc-v2: Add Support for USB-C analog Audio
  ASoC: wcd-mbhc-v2: Set insertion debounce time to 256ms
  ASoC: wcd-mbhc: Modify mbhc mic bias control
  ASoC: Add Speaker ID platform driver
  ASoC: Add Support for msm cirrus playback driver
  ASoC: Add Support for MI US proximity driver
  ASoC: Add Support for Elliptic US proximity driver
  ASoC: Add Support for tas2557 driver
  ASoC: Add Support for cs35l41 driver
  ASoC: Revert sm8150 fix for i2s
  ASoC: codec: Remove qcom USB analog headset support
  qcacld-3.0: disable debug configs added in LA.UM.8.1.r1-15800-sm8150.0
  ARM64: configs: raphael: Increase log buffer
  sched: fair: spread tasks with in little cluster
  sched: walt: hardcode sched_coloc_downmigrate_ns to 40ms
  kbuild: disable dtc simple_bus_reg warnings by default
  kbuild: disable new dtc graph and unit-address warnings
  scripts: turn off some new dtc warnings by default
  scripts/dtc: Update to upstream version v1.4.7-14-gc86da84d30e4
  scripts/dtc: Add yamltree.c to dtc sources
  scripts/dtc: consolidate include path options in Makefile
  atomics/treewide: Clean up '*_andnot()' ifdeffery
  atomics/treewide: Make conditional inc/dec ops optional
  atomics/treewide: Make unconditional inc/dec ops optional
  atomics/treewide: Make test ops optional
  atomics/treewide: Make atomic64_fetch_add_unless() optional
  atomics/powerpc: Define atomic64_fetch_add_unless()
  atomics/arm: Define atomic64_fetch_add_unless()
  atomics/arc: Define atomic64_fetch_add_unless()
  atomics/alpha: Define atomic64_fetch_add_unless()
  atomics/generic: Define atomic64_fetch_add_unless()
  atomics: Prepare for atomic64_fetch_add_unless()
  atomics/treewide: Make atomic_fetch_add_unless() optional
  atomics/treewide: Make atomic64_inc_not_zero() optional
  atomics: Make conditional ops return 'bool'
  atomics/treewide: Remove atomic_inc_not_zero_hint()
  atomics/treewide: Remove redundant atomic_inc_not_zero() definitions
  atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless()
  selinux: Cleanup printk logging in conditional
  selinux: Cleanup printk logging in ebitmap
  selinux: Cleanup printk logging in policydb
  selinux: Cleanup printk logging in netnode
  selinux: Cleanup printk logging in avc
  selinux: Cleanup printk logging in netif
  selinux: Cleanup printk logging in netport
  selinux: Cleanup printk logging in netlink
  selinux: Cleanup printk logging in selinuxfs
  selinux: Cleanup printk logging in avtab
  selinux: Cleanup printk logging in hooks
  ARM64: boot: dts: only append sm8150-v2.dtb
  ARM64: configs: raphael: Disable STACK initialization
  ARM64: configs: raphael: Disable Frequency transitions
  arm64: errata: Allow PC-relative literal loads if the 843419 fix is off
  Revert "ANDROID: HACK: arm64, LLVMLinux: use -mno-implicit-float"
  Revert "lib/string.c: implement a basic bcmp"
  Makefile: add -fno-builtin-bcmp
  Makefile: add -fno-builtin-stpcpy
  Revert "serial: msm_geni_serial: Control RFR manually when RX aborts"
  clk: qcom: osm: avoid freq run over max_freq
  msm: vidc: reduce max_packets count to 480
  msm: vidc: clocks: free vote data when core instance is NULL
  msm: vidc: fix iteration over vote data
  mm, compaction: raise compaction priority after it withdrawns
  scsi: ufs: fix pm_runtime count in reset flow
  scsi: ufs: reject query requests when device shutdown
  scsi: ufs: Avoid race condition between reinit and suspend
  scsi: ufs: re-probing hba when UFS initialization failed.
  netfilter: conntrack: fix kmemleak false positive
  ANDROID: tty: fix tty name overflow
  ANDROID: fix a bug in quota2
  ANDROID: Incremental fs: fix magic compatibility again
  Linux 4.14.195
  KVM: arm/arm64: Don't reschedule in unmap_stage2_range()
  clk: Evict unregistered clks from parent caches
  xen: don't reschedule in preemption off sections
  mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
  do_epoll_ctl(): clean the failure exits up a bit
  epoll: Keep a reference on files added to the check list
  powerpc/pseries: Do not initiate shutdown when system is running on UPS
  net: dsa: b53: check for timeout
  hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
  bonding: fix active-backup failover for current ARP slave
  vfio/type1: Add proper error unwind for vfio_iommu_replay()
  ASoC: intel: Fix memleak in sst_media_open
  ASoC: msm8916-wcd-analog: fix register Interrupt offset
  bonding: fix a potential double-unregister
  bonding: show saner speed for broadcast mode
  net: fec: correct the error path for regulator disable in probe
  i40e: Fix crash during removing i40e driver
  i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
  ext4: fix potential negative array index in do_split()
  alpha: fix annotation of io{read,write}{16,32}be()
  xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
  virtio_ring: Avoid loop when vq is broken in virtqueue_poll
  scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
  cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
  jffs2: fix UAF problem
  xfs: fix inode quota reservation checks
  m68knommu: fix overwriting of bits in ColdFire V3 cache control
  Input: psmouse - add a newline when printing 'proto' by sysfs
  media: vpss: clean up resources in init
  rtc: goldfish: Enable interrupt in set_alarm() when necessary
  media: budget-core: Improve exception handling in budget_register()
  scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
  spi: Prevent adding devices below an unregistering controller
  jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
  ext4: fix checking of directory entry validity for inline directories
  mm, page_alloc: fix core hung in free_pcppages_bulk()
  mm: include CMA pages in lowmem_reserve at boot
  kernel/relay.c: fix memleak on destroy relay channel
  romfs: fix uninitialized memory leak in romfs_dev_read()
  btrfs: sysfs: use NOFS for device creation
  btrfs: inode: fix NULL pointer dereference if inode doesn't need compression
  btrfs: Move free_pages_out label in inline extent handling branch in compress_file_range
  btrfs: don't show full path of bind mounts in subvol=
  btrfs: export helpers for subvolume name/id resolution
  powerpc: Allow 4224 bytes of stack expansion for the signal frame
  powerpc/mm: Only read faulting instruction when necessary in do_page_fault()
  khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
  khugepaged: khugepaged_test_exit() check mmget_still_valid()
  perf probe: Fix memory leakage when the probe point is not found
  drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
  ANDROID: virtio_gpu.h: move map/unmap to 3d group
  cpu_input_boost: Mark boost kthread as performance critical
  Revert "cpufreq: cpu_input_boost: Don't touch the prime cluster"
  lib/string.c: Use freestanding environment
  selinux: selinuxfs: avoid dynamic allocations in sel_write_access
  kernfs: Avoid dynamic memory allocation for small read buffers
  Revert "ion: Improve ION allocation paths"
  FIXUP: iommu: msm: Rewrite to improve clarity and performance
  camera_sensor_module: fix mismerge from 3592eba0e6
  ANDROID: tty: fix tty name overflow
  ANDROID: fix a bug in quota2
  Release 5.2.03.30B
  qcacld-3.0: Fix issues about uninitialized variables
  ANDROID: Incremental fs: fix magic compatibility again
  qcacmn: Fix NULL pointer dereference of roam stats event param buf
  qcacmn: Fix the nol timeout panic
  qcacmn: Do not hold the lock for a long time in timer delete function
  Release 5.2.03.30A
  qcacld-3.0: Do not send HT, VHT and HE ie's to FW in all the modes
  qcacmn: Improve 'Not set force_set if event completed'
  Release 5.2.03.30
  qcacld-3.0: Disable tx beam forming for NDI vdev
  Release 5.2.03.29Z
  qcacld-3.0: Check refill debt count during rx data stall
  qcacld-3.0: Enhance logging in RX path to check refill failures
  fw-api: CL 11245227 - update fw common interface files
  Release 5.2.03.29Y
  qcacld-3.0: Fix Mem leak during GTK/IGTK rekey in FT-SuiteB roam
  fw-api: CL 11237513 - update fw common interface files
  fw-api: CL 11228391 - update fw common interface files
  fw-api: CL 11216157 - update fw common interface files
  fw-api: CL 11212157 - update fw common interface files
  fw-api: CL 11199621 - update fw common interface files
  fw-api: CL 11198984 - update fw common interface files
  uapi: Remove ADM_AUDPROC_PERSISTENT_CAL_TYPE cal type
  qcacmn: Fix OOB issue in wlan_parse_rsn_ie
  asoc : codec : enable usb analog headset support

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-27 11:23:40 +05:30
UtsavBalar1231
eccccd6048 Merge remote-tracking branch 'origin/q' into auto-kernel
* origin/q:
  techpack: Remove audio-kernel subtree from source
  techpack: audio: Remove Android.mk files
  ASoC: Avoid spk_id_get duplicate defination
  ASoC: sm8150: do not export all the variables
  ASoC: msm-dai-q6-v2: Mark msm-dai-q6 drivers as sync probe.
  config: sm8150: Build all modules in-kernel
  ASoC: dsp: elliptic: Fix No newline at end of elliptic_version.h
  ASoC: sm8150: Split sa8155 driver into separate config option
  techpack: audio: Remove build timestamp injection
  techpack/audio: codecs: Fix potential buffer overflows
  ASoC: Remove -Werror definations
  SoC: Fix symbolic links
  ASoC: Add non DSP stereo support for tfa98xx
  ASoC: Add Support for tfa98xx driver
  Squashed 'asoc/codecs/tfa98xx/' content from commit 37440d98
  ASoC: sm8150: copy dai links based on device soc id
  ASoC: sm8150: Add tfa9874 codec dai link support
  ASoC: sm8150: Add cs35l41 codec dai link support
  ASoC: sm8150: Add tas2557 codec dai link support
  ASoC: sm8150: Add snd-soc-dummy codec dai link support
  ASoC: sm8150: Disable LPASS_BE_QUAT_MI2S_RX route
  ASoC: sm8150: Fix mi2s clock frequency
  ASoC: sm8150: modify button configuration
  ASoC: msm-dai-fe: Add Support for packed 24 bit
  ASoC: msm-compress-q6-v2: Set decoder output to 24 bit
  ASoC: msm-pcm-routing-v2: Fix external EC reference for AUDIO_REF_EC_UL10 MUX
  ASoC: dsp: q6afe: don't validate payload size check before memory copy
  ASoC: dsp: q6afe: Remove payload size check on param_id_pos
  ASoC: dsp: set channel_mode as 1 for ADM_TOPOLOGY_ID_AUDIO_RX_FVSAM topology
  ASoC: dsp: Add AFE_PORT_ID_PSEUDOPORT_01 routing support
  ASoC: wcd-spi: Return I/O error if WCD SPI suspended
  ASoC: wcd-dsp-mgr: Import WDSP firmware load changes
  ASoC: wcd9xxx-common-v2: set hph mode on hph class-h state
  ASoC: wcd934x: Boost HPH volume
  ASoC: wcd934x: Bringup tavil micbias support
  ASoC: wcd-mbhc-v2: Add Support for USB-C analog Audio
  ASoC: wcd-mbhc-v2: Set insertion debounce time to 256ms
  ASoC: wcd-mbhc: Modify mbhc mic bias control
  ASoC: Add Speaker ID platform driver
  ASoC: Add Support for msm cirrus playback driver
  ASoC: Add Support for MI US proximity driver
  ASoC: Add Support for Elliptic US proximity driver
  ASoC: Add Support for tas2557 driver
  ASoC: Add Support for cs35l41 driver
  ASoC: Revert sm8150 fix for i2s
  ASoC: codec: Remove qcom USB analog headset support
  qcacld-3.0: disable debug configs added in LA.UM.8.1.r1-15800-sm8150.0
  Linux 4.14.195
  KVM: arm/arm64: Don't reschedule in unmap_stage2_range()
  clk: Evict unregistered clks from parent caches
  xen: don't reschedule in preemption off sections
  mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
  do_epoll_ctl(): clean the failure exits up a bit
  epoll: Keep a reference on files added to the check list
  powerpc/pseries: Do not initiate shutdown when system is running on UPS
  net: dsa: b53: check for timeout
  hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
  bonding: fix active-backup failover for current ARP slave
  vfio/type1: Add proper error unwind for vfio_iommu_replay()
  ASoC: intel: Fix memleak in sst_media_open
  ASoC: msm8916-wcd-analog: fix register Interrupt offset
  bonding: fix a potential double-unregister
  bonding: show saner speed for broadcast mode
  net: fec: correct the error path for regulator disable in probe
  i40e: Fix crash during removing i40e driver
  i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
  ext4: fix potential negative array index in do_split()
  alpha: fix annotation of io{read,write}{16,32}be()
  xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
  virtio_ring: Avoid loop when vq is broken in virtqueue_poll
  scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
  cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
  jffs2: fix UAF problem
  xfs: fix inode quota reservation checks
  m68knommu: fix overwriting of bits in ColdFire V3 cache control
  Input: psmouse - add a newline when printing 'proto' by sysfs
  media: vpss: clean up resources in init
  rtc: goldfish: Enable interrupt in set_alarm() when necessary
  media: budget-core: Improve exception handling in budget_register()
  scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
  spi: Prevent adding devices below an unregistering controller
  jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
  ext4: fix checking of directory entry validity for inline directories
  mm, page_alloc: fix core hung in free_pcppages_bulk()
  mm: include CMA pages in lowmem_reserve at boot
  kernel/relay.c: fix memleak on destroy relay channel
  romfs: fix uninitialized memory leak in romfs_dev_read()
  btrfs: sysfs: use NOFS for device creation
  btrfs: inode: fix NULL pointer dereference if inode doesn't need compression
  btrfs: Move free_pages_out label in inline extent handling branch in compress_file_range
  btrfs: don't show full path of bind mounts in subvol=
  btrfs: export helpers for subvolume name/id resolution
  powerpc: Allow 4224 bytes of stack expansion for the signal frame
  powerpc/mm: Only read faulting instruction when necessary in do_page_fault()
  khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
  khugepaged: khugepaged_test_exit() check mmget_still_valid()
  perf probe: Fix memory leakage when the probe point is not found
  drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
  ANDROID: virtio_gpu.h: move map/unmap to 3d group
  ANDROID: tty: fix tty name overflow
  ANDROID: fix a bug in quota2
  Release 5.2.03.30B
  qcacld-3.0: Fix issues about uninitialized variables
  ANDROID: Incremental fs: fix magic compatibility again
  qcacmn: Fix NULL pointer dereference of roam stats event param buf
  qcacmn: Fix the nol timeout panic
  qcacmn: Do not hold the lock for a long time in timer delete function
  Release 5.2.03.30A
  qcacld-3.0: Do not send HT, VHT and HE ie's to FW in all the modes
  qcacmn: Improve 'Not set force_set if event completed'
  Release 5.2.03.30
  qcacld-3.0: Disable tx beam forming for NDI vdev
  Release 5.2.03.29Z
  qcacld-3.0: Check refill debt count during rx data stall
  qcacld-3.0: Enhance logging in RX path to check refill failures
  fw-api: CL 11245227 - update fw common interface files
  Release 5.2.03.29Y
  qcacld-3.0: Fix Mem leak during GTK/IGTK rekey in FT-SuiteB roam
  fw-api: CL 11237513 - update fw common interface files
  fw-api: CL 11228391 - update fw common interface files
  fw-api: CL 11216157 - update fw common interface files
  fw-api: CL 11212157 - update fw common interface files
  fw-api: CL 11199621 - update fw common interface files
  fw-api: CL 11198984 - update fw common interface files
  uapi: Remove ADM_AUDPROC_PERSISTENT_CAL_TYPE cal type
  qcacmn: Fix OOB issue in wlan_parse_rsn_ie
  asoc : codec : enable usb analog headset support

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-27 10:58:10 +05:30
UtsavBalar1231
4ba9c93fe0 Merge remote-tracking branch 'aosp/android-4.14-stable' into q
* aosp/android-4.14-stable:
  Linux 4.14.195
  KVM: arm/arm64: Don't reschedule in unmap_stage2_range()
  clk: Evict unregistered clks from parent caches
  xen: don't reschedule in preemption off sections
  mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
  do_epoll_ctl(): clean the failure exits up a bit
  epoll: Keep a reference on files added to the check list
  powerpc/pseries: Do not initiate shutdown when system is running on UPS
  net: dsa: b53: check for timeout
  hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
  bonding: fix active-backup failover for current ARP slave
  vfio/type1: Add proper error unwind for vfio_iommu_replay()
  ASoC: intel: Fix memleak in sst_media_open
  ASoC: msm8916-wcd-analog: fix register Interrupt offset
  bonding: fix a potential double-unregister
  bonding: show saner speed for broadcast mode
  net: fec: correct the error path for regulator disable in probe
  i40e: Fix crash during removing i40e driver
  i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
  ext4: fix potential negative array index in do_split()
  alpha: fix annotation of io{read,write}{16,32}be()
  xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
  virtio_ring: Avoid loop when vq is broken in virtqueue_poll
  scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
  cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
  jffs2: fix UAF problem
  xfs: fix inode quota reservation checks
  m68knommu: fix overwriting of bits in ColdFire V3 cache control
  Input: psmouse - add a newline when printing 'proto' by sysfs
  media: vpss: clean up resources in init
  rtc: goldfish: Enable interrupt in set_alarm() when necessary
  media: budget-core: Improve exception handling in budget_register()
  scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
  spi: Prevent adding devices below an unregistering controller
  jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
  ext4: fix checking of directory entry validity for inline directories
  mm, page_alloc: fix core hung in free_pcppages_bulk()
  mm: include CMA pages in lowmem_reserve at boot
  kernel/relay.c: fix memleak on destroy relay channel
  romfs: fix uninitialized memory leak in romfs_dev_read()
  btrfs: sysfs: use NOFS for device creation
  btrfs: inode: fix NULL pointer dereference if inode doesn't need compression
  btrfs: Move free_pages_out label in inline extent handling branch in compress_file_range
  btrfs: don't show full path of bind mounts in subvol=
  btrfs: export helpers for subvolume name/id resolution
  powerpc: Allow 4224 bytes of stack expansion for the signal frame
  powerpc/mm: Only read faulting instruction when necessary in do_page_fault()
  khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
  khugepaged: khugepaged_test_exit() check mmget_still_valid()
  perf probe: Fix memory leakage when the probe point is not found
  drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
  ANDROID: virtio_gpu.h: move map/unmap to 3d group
  ANDROID: tty: fix tty name overflow
  ANDROID: fix a bug in quota2
  ANDROID: Incremental fs: fix magic compatibility again

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>

Conflicts:
	drivers/clk/clk.c
	fs/ext4/namei.c
2020-08-27 10:56:05 +05:30
UtsavBalar1231
cfcfd7a75b sched: fair: spread tasks with in little cluster
- This significantly improves performance by freely migrating
tasks towards idle cpus within same cluster to reduce runnables.
qcom also enabled this on their LITO platform

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-26 22:42:30 +05:30
UtsavBalar1231
deec751432 sched: walt: hardcode sched_coloc_downmigrate_ns to 40ms
This means that a boosted colocation task will at least run 40ms on a big cores
before it can possibly be down migrated

Suggested-by: Zachariah Kennedy <zkennedy87@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-26 22:42:04 +05:30
Mark Rutland
95df3b69d0 atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless()
While __atomic_add_unless() was originally intended as a building-block
for atomic_add_unless(), it's now used in a number of places around the
kernel. It's the only common atomic operation named __atomic*(), rather
than atomic_*(), and for consistency it would be better named
atomic_fetch_add_unless().

This lack of consistency is slightly confusing, and gets in the way of
scripting atomics. Given that, let's clean things up and promote it to
an official part of the atomics API, in the form of
atomic_fetch_add_unless().

This patch converts definitions and invocations over to the new name,
including the instrumented version, using the following script:

  ----
  git grep -w __atomic_add_unless | while read line; do
  sed -i '{s/\<__atomic_add_unless\>/atomic_fetch_add_unless/}' "${line%%:*}";
  done
  git grep -w __arch_atomic_add_unless | while read line; do
  sed -i '{s/\<__arch_atomic_add_unless\>/arch_atomic_fetch_add_unless/}' "${line%%:*}";
  done
  ----

Note that we do not have atomic{64,_long}_fetch_add_unless(), which will
be introduced by later patches.

There should be no functional change as a result of this patch.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Palmer Dabbelt <palmer@sifive.com>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/lkml/20180621121321.4761-2-mark.rutland@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-26 22:42:02 +05:30
Greg Kroah-Hartman
a929037d0e Merge 4.14.195 into android-4.14-stable
Changes in 4.14.195
	drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset()
	perf probe: Fix memory leakage when the probe point is not found
	khugepaged: khugepaged_test_exit() check mmget_still_valid()
	khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
	powerpc/mm: Only read faulting instruction when necessary in do_page_fault()
	powerpc: Allow 4224 bytes of stack expansion for the signal frame
	btrfs: export helpers for subvolume name/id resolution
	btrfs: don't show full path of bind mounts in subvol=
	btrfs: Move free_pages_out label in inline extent handling branch in compress_file_range
	btrfs: inode: fix NULL pointer dereference if inode doesn't need compression
	btrfs: sysfs: use NOFS for device creation
	romfs: fix uninitialized memory leak in romfs_dev_read()
	kernel/relay.c: fix memleak on destroy relay channel
	mm: include CMA pages in lowmem_reserve at boot
	mm, page_alloc: fix core hung in free_pcppages_bulk()
	ext4: fix checking of directory entry validity for inline directories
	jbd2: add the missing unlock_buffer() in the error path of jbd2_write_superblock()
	spi: Prevent adding devices below an unregistering controller
	scsi: ufs: Add DELAY_BEFORE_LPM quirk for Micron devices
	media: budget-core: Improve exception handling in budget_register()
	rtc: goldfish: Enable interrupt in set_alarm() when necessary
	media: vpss: clean up resources in init
	Input: psmouse - add a newline when printing 'proto' by sysfs
	m68knommu: fix overwriting of bits in ColdFire V3 cache control
	xfs: fix inode quota reservation checks
	jffs2: fix UAF problem
	cpufreq: intel_pstate: Fix cpuinfo_max_freq when MSR_TURBO_RATIO_LIMIT is 0
	scsi: libfc: Free skb in fc_disc_gpn_id_resp() for valid cases
	virtio_ring: Avoid loop when vq is broken in virtqueue_poll
	xfs: Fix UBSAN null-ptr-deref in xfs_sysfs_init
	alpha: fix annotation of io{read,write}{16,32}be()
	ext4: fix potential negative array index in do_split()
	i40e: Set RX_ONLY mode for unicast promiscuous on VLAN
	i40e: Fix crash during removing i40e driver
	net: fec: correct the error path for regulator disable in probe
	bonding: show saner speed for broadcast mode
	bonding: fix a potential double-unregister
	ASoC: msm8916-wcd-analog: fix register Interrupt offset
	ASoC: intel: Fix memleak in sst_media_open
	vfio/type1: Add proper error unwind for vfio_iommu_replay()
	bonding: fix active-backup failover for current ARP slave
	hv_netvsc: Fix the queue_mapping in netvsc_vf_xmit()
	net: dsa: b53: check for timeout
	powerpc/pseries: Do not initiate shutdown when system is running on UPS
	epoll: Keep a reference on files added to the check list
	do_epoll_ctl(): clean the failure exits up a bit
	mm/hugetlb: fix calculation of adjust_range_if_pmd_sharing_possible
	xen: don't reschedule in preemption off sections
	clk: Evict unregistered clks from parent caches
	KVM: arm/arm64: Don't reschedule in unmap_stage2_range()
	Linux 4.14.195

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6c25044ba9166ec01723671d9cfa3fdf08ccc43f
2020-08-26 11:01:28 +02:00
Wei Yongjun
6b7be0bc03 kernel/relay.c: fix memleak on destroy relay channel
commit 71e843295c680898959b22dc877ae3839cc22470 upstream.

kmemleak report memory leak as follows:

  unreferenced object 0x607ee4e5f948 (size 8):
  comm "syz-executor.1", pid 2098, jiffies 4295031601 (age 288.468s)
  hex dump (first 8 bytes):
  00 00 00 00 00 00 00 00 ........
  backtrace:
     relay_open kernel/relay.c:583 [inline]
     relay_open+0xb6/0x970 kernel/relay.c:563
     do_blk_trace_setup+0x4a8/0xb20 kernel/trace/blktrace.c:557
     __blk_trace_setup+0xb6/0x150 kernel/trace/blktrace.c:597
     blk_trace_ioctl+0x146/0x280 kernel/trace/blktrace.c:738
     blkdev_ioctl+0xb2/0x6a0 block/ioctl.c:613
     block_ioctl+0xe5/0x120 fs/block_dev.c:1871
     vfs_ioctl fs/ioctl.c:48 [inline]
     __do_sys_ioctl fs/ioctl.c:753 [inline]
     __se_sys_ioctl fs/ioctl.c:739 [inline]
     __x64_sys_ioctl+0x170/0x1ce fs/ioctl.c:739
     do_syscall_64+0x33/0x40 arch/x86/entry/common.c:46
     entry_SYSCALL_64_after_hwframe+0x44/0xa9

'chan->buf' is malloced in relay_open() by alloc_percpu() but not free
while destroy the relay channel.  Fix it by adding free_percpu() before
return from relay_destroy_channel().

Fixes: 017c59c042 ("relay: Use per CPU constructs for the relay channel buffer pointers")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: David Rientjes <rientjes@google.com>
Cc: Michel Lespinasse <walken@google.com>
Cc: Daniel Axtens <dja@axtens.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Akash Goel <akash.goel@intel.com>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200817122826.48518-1-weiyongjun1@huawei.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-26 10:29:54 +02:00
UtsavBalar1231
476a333c5b Merge remote-tracking branch 'origin/auto-kernel' into auto-kernel-oss
* origin/auto-kernel:
  drm: msm: add SET_DISP_HBM_FOD_OFF_DOZE_HBM/LBM_ON changes
  ARM64: dts: ea8076: update from 20.7.16-release
  ARM64: dts: raphael: update from 20.7.16-release
  Linux 4.14.194
  dm cache: remove all obsolete writethrough-specific code
  dm cache: submit writethrough writes in parallel to origin and cache
  dm cache: pass cache structure to mode functions
  genirq/affinity: Make affinity setting if activated opt-in
  genirq/affinity: Handle affinity setting on inactive interrupts correctly
  khugepaged: retract_page_tables() remember to test exit
  sh: landisk: Add missing initialization of sh_io_port_base
  tools build feature: Quote CC and CXX for their arguments
  perf bench mem: Always memset source before memcpy
  ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
  mfd: dln2: Run event handler loop under spinlock
  test_kmod: avoid potential double free in trigger_config_run_type()
  fs/ufs: avoid potential u32 multiplication overflow
  nfs: Fix getxattr kernel panic and memory overflow
  net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init
  drm/vmwgfx: Fix two list_for_each loop exit tests
  drm/vmwgfx: Use correct vmw_legacy_display_unit pointer
  Input: sentelic - fix error return when fsp_reg_write fails
  i2c: rcar: avoid race when unregistering slave
  tools build feature: Use CC and CXX from parent
  pwm: bcm-iproc: handle clk_get_rate() return
  clk: clk-atlas6: fix return value check in atlas6_clk_init()
  i2c: rcar: slave: only send STOP event when we have been addressed
  iommu/vt-d: Enforce PASID devTLB field mask
  iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
  dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
  gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers
  USB: serial: ftdi_sio: clean up receive processing
  USB: serial: ftdi_sio: make process-packet buffer unsigned
  RDMA/ipoib: Return void from ipoib_ib_dev_stop()
  mfd: arizona: Ensure 32k clock is put on driver unbind and error
  drm/imx: imx-ldb: Disable both channels for split mode in enc->disable()
  perf intel-pt: Fix FUP packet state
  pseries: Fix 64 bit logical memory block panic
  watchdog: f71808e_wdt: clear watchdog timeout occurred flag
  watchdog: f71808e_wdt: remove use of wrong watchdog_info option
  watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
  tracing: Use trace_sched_process_free() instead of exit() for pid tracing
  tracing/hwlat: Honor the tracing_cpumask
  kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
  ftrace: Setup correct FTRACE_FL_REGS flags for module
  ocfs2: change slot number type s16 to u16
  ext2: fix missing percpu_counter_inc
  MIPS: CPU#0 is not hotpluggable
  mac80211: fix misplaced while instead of if
  bcache: allocate meta data pages as compound pages
  md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
  net/compat: Add missing sock updates for SCM_RIGHTS
  net: stmmac: dwmac1000: provide multicast filter fallback
  net: ethernet: stmmac: Disable hardware multicast filter
  powerpc: Fix circular dependency between percpu.h and mmu.h
  xtensa: fix xtensa_pmu_setup prototype
  iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw()
  dt-bindings: iio: io-channel-mux: Fix compatible string in example code
  btrfs: fix memory leaks after failure to lookup checksums during inode logging
  btrfs: only search for left_info if there is no right_info in try_merge_free_space
  btrfs: don't allocate anonymous block device for user invisible roots
  PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
  smb3: warn on confusing error scenario with sec=krb5
  net: initialize fastreuse on inet_inherit_port
  xen/balloon: make the balloon wait interruptible
  xen/balloon: fix accounting in alloc_xenballooned_pages error path
  irqdomain/treewide: Free firmware node after domain removal
  ARM: 8992/1: Fix unwind_frame for clang-built kernels
  parisc: mask out enable and reserved bits from sba imask
  parisc: Implement __smp_store_release and __smp_load_acquire barriers
  mtd: rawnand: qcom: avoid write to unavailable register
  spi: spidev: Align buffers for DMA
  9p: Fix memory leak in v9fs_mount
  ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
  fs/minix: reject too-large maximum file size
  fs/minix: don't allow getting deleted inodes
  fs/minix: check return value of sb_getblk()
  bitfield.h: don't compile-time validate _val in FIELD_FIT
  crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
  crypto: ccp - Fix use of merged scatterlists
  crypto: qat - fix double free in qat_uclo_create_batch_init_list
  ALSA: usb-audio: add quirk for Pioneer DDJ-RB
  ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
  ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
  USB: serial: cp210x: enable usb generic throttle/unthrottle
  USB: serial: cp210x: re-enable auto-RTS on open
  net: Set fput_needed iff FDPUT_FPUT is set
  net: refactor bind_bucket fastreuse into helper
  net/nfc/rawsock.c: add CAP_NET_RAW check.
  drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
  af_packet: TPACKET_V3: fix fill status rwlock imbalance
  crypto: aesni - add compatibility with IAS
  x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
  pinctrl-single: fix pcs_parse_pinconf() return value
  dlm: Fix kobject memleak
  fsl/fman: fix eth hash table allocation
  fsl/fman: check dereferencing null pointer
  fsl/fman: fix unreachable code
  fsl/fman: fix dereference null return value
  fsl/fman: use 32-bit unsigned integer
  net: spider_net: Fix the size used in a 'dma_free_coherent()' call
  liquidio: Fix wrong return value in cn23xx_get_pf_num()
  net: ethernet: aquantia: Fix wrong return value
  tools, build: Propagate build failures from tools/build/Makefile.build
  wl1251: fix always return 0 error
  s390/qeth: don't process empty bridge port events
  selftests/powerpc: Fix online CPU selection
  PCI: Release IVRS table in AMD ACS quirk
  selftests/powerpc: Fix CPU affinity for child process
  Bluetooth: hci_serdev: Only unregister device if it was registered
  power: supply: check if calc_soc succeeded in pm860x_init_battery
  Smack: prevent underflow in smk_set_cipso()
  Smack: fix another vsscanf out of bounds
  net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
  scsi: mesh: Fix panic after host or bus reset
  usb: dwc2: Fix error path in gadget registration
  MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
  coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
  thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
  USB: serial: iuu_phoenix: fix led-activity helpers
  drm/imx: tve: fix regulator_disable error path
  PCI/ASPM: Add missing newline in sysfs 'policy'
  staging: rtl8192u: fix a dubious looking mask before a shift
  powerpc/vdso: Fix vdso cpu truncation
  mwifiex: Prevent memory corruption handling keys
  scsi: scsi_debug: Add check for sdebug_max_queue during module init
  drm/bridge: sil_sii8620: initialize return of sii8620_readb
  drm: panel: simple: Fix bpc for LG LB070WV8 panel
  leds: core: Flush scheduled work for system suspend
  PCI: Fix pci_cfg_wait queue locking problem
  xfs: fix reflink quota reservation accounting error
  media: exynos4-is: Add missed check for pinctrl_lookup_state()
  media: firewire: Using uninitialized values in node_probe()
  ipvs: allow connection reuse for unconfirmed conntrack
  scsi: eesox: Fix different dev_id between request_irq() and free_irq()
  scsi: powertec: Fix different dev_id between request_irq() and free_irq()
  drm/radeon: fix array out-of-bounds read and write issues
  cxl: Fix kobject memleak
  drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
  scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
  ASoC: Intel: bxt_rt298: add missing .owner field
  media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
  leds: lm355x: avoid enum conversion warning
  drm/arm: fix unintentional integer overflow on left shift
  iio: improve IIO_CONCENTRATION channel type description
  video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
  console: newport_con: fix an issue about leak related system resources
  video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
  agp/intel: Fix a memory leak on module initialisation failure
  ACPICA: Do not increment operation_region reference counts for field units
  bcache: fix super block seq numbers comparision in register_cache_set()
  dyndbg: fix a BUG_ON in ddebug_describe_flags
  usb: bdc: Halt controller on suspend
  bdc: Fix bug causing crash after multiple disconnects
  usb: gadget: net2280: fix memory leak on probe error handling paths
  gpu: host1x: debug: Fix multiple channels emitting messages simultaneously
  iwlegacy: Check the return value of pcie_capability_read_*()
  brcmfmac: set state of hanger slot to FREE when flushing PSQ
  brcmfmac: To fix Bss Info flag definition Bug
  mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
  irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock
  drm/debugfs: fix plain echo to connector "force" attribute
  drm/nouveau: fix multiple instances of reference count leaks
  arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding
  md-cluster: fix wild pointer of unlock_all_bitmaps()
  video: fbdev: neofb: fix memory leak in neo_scan_monitor()
  drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
  fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls
  Bluetooth: add a mutex lock to avoid UAF in do_enale_set
  drm/tilcdc: fix leak & null ref in panel_connector_get_modes
  ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
  spi: lantiq: fix: Rx overflow error in full duplex mode
  ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
  platform/x86: intel-vbtn: Fix return value check in check_acpi_dev()
  platform/x86: intel-hid: Fix return value check in check_acpi_dev()
  m68k: mac: Fix IOP status/control register writes
  m68k: mac: Don't send IOP message until channel is idle
  arm64: dts: exynos: Fix silent hang after boot on Espresso
  arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property
  EDAC: Fix reference count leaks
  arm64: dts: rockchip: fix rk3399-puma gmac reset gpio
  arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio
  sched: correct SD_flags returned by tl->sd_flags()
  x86/mce/inject: Fix a wrong assignment of i_mce.status
  cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
  HID: input: Fix devices that return multiple bytes in battery report
  tracepoint: Mark __tracepoint_string's __used
  Smack: fix use-after-free in smk_write_relabel_self()
  rxrpc: Fix race between recvmsg and sendmsg on immediate call failure
  usb: hso: check for return value in hso_serial_common_create()
  selftests/net: relax cpu affinity requirement in msg_zerocopy test
  Revert "vxlan: fix tos value before xmit"
  openvswitch: Prevent kernel-infoleak in ovs_ct_put_key()
  net: gre: recompute gre csum for sctp over gre tunnels
  hv_netvsc: do not use VF device if link is down
  net: lan78xx: replace bogus endpoint lookup
  vxlan: Ensure FDB dump is performed under RCU
  net: ethernet: mtk_eth_soc: fix MTU warnings
  ipv6: fix memory leaks on IPV6_ADDRFORM path
  ipv4: Silence suspicious RCU usage warning
  xattr: break delegations in {set,remove}xattr
  Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
  tools lib traceevent: Fix memory leak in process_dynamic_array_len
  atm: fix atm_dev refcnt leaks in atmtcp_remove_persistent
  igb: reinit_locked() should be called with rtnl_lock
  cfg80211: check vendor command doit pointer before use
  i2c: slave: add sanity check when unregistering
  i2c: slave: improve sanity check when registering
  drm/nouveau/fbcon: zero-initialise the mode_cmd2 structure
  drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason
  net/9p: validate fds in p9_fd_open
  leds: 88pm860x: fix use-after-free on unbind
  leds: lm3533: fix use-after-free on unbind
  leds: da903x: fix use-after-free on unbind
  leds: wm831x-status: fix use-after-free on unbind
  mtd: properly check all write ioctls for permissions
  vgacon: Fix for missing check in scrollback handling
  binder: Prevent context manager from incrementing ref 0
  omapfb: dss: Fix max fclk divider for omap36xx
  Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt()
  Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt()
  Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt()
  staging: android: ashmem: Fix lockdep warning for write operation
  ALSA: seq: oss: Serialize ioctls
  usb: xhci: Fix ASMedia ASM1142 DMA addressing
  usb: xhci: define IDs for various ASMedia host controllers
  USB: iowarrior: fix up report size handling for some devices
  net/mlx5e: Don't support phys switch id if not in switchdev mode
  USB: serial: qcserial: add EM7305 QDL product ID
  ARM64: configs: raphael: Enable Profiling support
  ARM64: configs: raphael: Enable dm-snapshot
  ARM64: configs: raphael: CONFIG_STATIC_USERMODEHELPER=y
  ARM64: configs: raphael: enable CONFIG_VETH=y
  qos: Don't allow userspace to impose restrictions on CPU idle levels
  msm: mhi_dev: UCI memory leak fix
  mhi: netdev: Avoid free of netdev client,ipc handles
  msm: mhi_dev: Fix interrupt storm during Enable/disable
  msm: mhi_dev: Redesign UCI transfer request structure management
  msm: ipa3: Define ODL DPL cons for sdx55 CPE config
  msm: ipa: header file to support wdi 2.4G new pipe
  msm: ipa3: Enable holb as part of usb suspend
  MDM:IPA3: Fixes issue with RNDIS and ECM suspend path
  ARM: dts: msm: Remove pm-qos values
  drm/msm/sde: Remove pm_qos usage
  msm_vidc: Remove pm_qos usage
  goodix_driver_gt9886: check aod_status while updating suspend_stat
  goodix_driver_gt9886: fix bad indentation in gsx_gesture_ist
  goodix_driver_gt9886: Remove touch_suspend_notify sysfs node
  Revert "msm: kgsl: Mark the scratch buffer as privileged"
  defconfig: disable QCOM_SECURE_BUFFER for lxc container
  drm: msm: Import minimal doze backlight changes
  Revert "drm: msm: modify doze backlight sysfs"
  Revert "sde: interrupts: optimize interrupt dispatching routines"
  ARM: dts: msm: Add multiple dri device nodes for sa8195 lxc gvm
  ARM: dts: msm: disable avb for lv container
  binderfs: use refcount for binder control devices too
  arm: dts: qcom: Enable msm ion heap for qseecom
  ion: don't call free_buffer_page on failure of ion_hyp_unassign_sg
  f2fs: avoid to wait writeback on evicted inode
  msm: adsprpc: Avoid race condition during map find and free
  qcacld-3.0: Increase unsafe channel max num for 6G
  ARM: dts: sa2150p: Enable EMAC settings for SA2150P
  msm: ep_pcie: Prevent apps suspend in active state
  ARM: dts: msm: Enable BAM mode for spi dtsi node
  ARM: dts: add audio device tree for sda429
  Revert "security: selinux: allow per-file labelling for binderfs"
  msm: ipa: Add IPv6 NAT uc activation interface
  ARM: dts: msm: Include qcs610 changes for qcs410 also
  AndroidKernel: Disable debugfs for user builds
  mtd: msm_qpic_nand: Skip erased page check upon error
  defconfig: msm: Enable switchdev for SA515m
  ARM: dts: msm: Remove "qcom,ilim-ma" property for SDM429W
  power: smb-lib: fix OTG enable error handling
  iio: qcom-rradc: Add batt_id delay property for RRADC
  iio: qcom-rradc: Force conversion for die_temp channel on RRADC
  ARM: dts: sa2150p: use gpio 77 for wakeup on sa2150p side
  serail: msm_geni_serial: Stop TX Engine during port close
  ARM: align the start and end of v7_setup_stack to cache line
  dts: sdx: add support for tdm for sa515m TTP
  diag: Prevent possible integer overflow while processing cntl pkt
  platform: qcom-geni-se: Disable CMD_DONE in DMA mode for I2C and SPI
  msm: ipa: Fix deleting the routing entries
  ARM: dts: msm: Remove TWM Haptics entry for SDM429w + BG
  ARM: dts: msm: Keep a DDR proxy vote for modem pil for sdmmagpie
  msm: camera: csiphy: Update phy settings for atoll
  msm: dts: add secure nested cb for ife
  msm: ais: add support for nested smmu
  usb: dwc3: Initialize val,val1 with 0 as they can be used uninitialized
  input: qti-haptics: Add support for cmd based haptics-twm
  net: stmmac: FR60005 Loopback & phy off support
  msm: ais: Do not attach iommu if its already attached
  ANDROID: dm-bow: Add block_size option
  power: smb1398-charger: Fix use of uninitialized variable error
  diag: Prevent out-of-bound read while processing peripheral ctrl_pkt
  defconfig: quin_gvmq: enable disk renaming
  msm: ais: fix to enqueue current sof timestamp
  jpeg: Add DMA driver implementation
  msm: ipa3: Fix to save the ntn buffers in SMMU disabled case
  ARM: dts: msm: Increasing the CMA size
  net: stmmac: Reset mmc counters on read
  defconfig: sa2150p-nand: Enable SPIDEV driver
  ANDROID: Incremental fs: Clean up incfs_test build process
  defconfig: Enable Incremental FS support for trinket
  defconfig: Disable CONFIG_CNSS_GENL for sdm429
  ARM: dts: msm: Add device tree for sa8195 lxc gvm
  defconfig: sa2150p-nand: Enable STMMAC driver
  ARM: dts: msm: Add qrtr ethernet entry for sa515m
  ARM: dts: msm: Add qrtr ethernet entry for sa2150p
  dt-bindings: net: qrtr: Add Ethernet Device transport bindings
  Release 5.2.03.29X
  qcacld-3.0: Parse FTIE with MIC length 24 for SHA384 AKMs
  msm: ais: stop vfe path on error
  drivers: ion: add dma type support
  Release 5.2.03.29W
  ath10k: Add mesh point interface creation combination
  ath10k: fix 4vap iface limit missing
  ath10k: tweak interface combinations
  mtd: msm_qpic_nand: Add support to read one codeword
  defconfig: Enable DEBUG LIST defconfig
  dma-buf: fix sleep-while-atomic in dmabuffs_dname
  msm: camera: core: Change return type
  msm: camera: reqmgr: Stop slot reset on buf done
  defconfig: msm: Sync config with Android-4.14 configs
  msm: camera: reqmgr: Skip apply for initial sync req on slave link
  msm: camera: reqmgr: increase the rd idx if no lower pd device
  msm: camera: reqmgr: reset slots after deactivating session
  f2fs: prepare a waiter before entering io_schedule
  f2fs: update_sit_entry: Make the judgment condition of f2fs_bug_on more intuitive
  f2fs: replace test_and_set/clear_bit() with set/clear_bit()
  f2fs: make file immutable even if releasing zero compression block
  f2fs: compress: disable compression mount option if compression is off
  qcacld-3.0: Validate mac handle before accessing
  msm: kgsl: Mark the scratch buffer as privileged
  qcacmn: Fix possible OOB access while sending ext stats request
  mtd: msm_qpic_nand: Use flash device ECC capability for erase page
  cnss: Enable cnss utils code for Auto platforms
  soc: qcom: hgsl: Support DBQ count upto 9
  defconfig: Sync  with Android-4.14 configs
  msm: ipa3: Configure correct aggeragtion byte limit
  msm: ipa: eth: Prevent suspend for 2 seconds after device resume
  ARM: dts: msm: add rpmcc header for SDM660
  Release 5.2.03.29V
  qcacld-3.0: Add pointer sanity check for sta_ds
  defconfig: sa515m: Disable UAC driver
  msm: camera: isp: Dumping state monitor array to debug logs
  qcacmn: FT-SAE roam fails due to null TLV in RSO Command
  arm: dts: qcom: add support for bus scaling
  ARM: dts: Update AXI bus votes for EMAC in QCS405
  Release 5.2.03.29U
  qcacld-3.0: Avoid vdev deleted but roam capability is held
  qcacmn: Fix KW issue in the regulatory component
  Release 5.2.03.29T
  ARM: dts: msm: enable virtio_blk names
  qcacld-3.0: Print current RSSI of AP after roam scan is complete
  Release 5.2.03.29S
  qcacld-3.0: Complete the wait events out of the lock in ssr
  ARM: dts: msm: Disable dma mode for SSC QUPV3 on SA6155P VM
  Release 5.2.03.29R
  qcacld-3.0: Extend Tdls external mode config support
  fw-api: CL 11145073 - update fw common interface files
  Release 5.2.03.29Q
  qcacld-3.0: Allow the driver to process multiple measurement req
  defconfig: msm: Disable STACKPROTECTOR_STRONG to compile 32 bit kernel
  drivers: rpmsg: fix to avoid dump stack in rpm-smd driver
  Release 5.2.03.29P
  qcacld-3.0: Free blacklist when user turns off Wifi
  Release 5.2.03.29O
  qcacld-3.0: Flush pmksa cache for SAP when SAP stop
  qcacld-3.0: Fix data stall after sta roaming disabled and reconnection
  ARM: dts: msm: Enable PCIe0 for S8155 Single LV GVM
  Release 5.2.03.29N
  qcacld-3.0: Don't set mon iface chan if iface is down during SSR
  qcacmn: Extend Tdls external mode config support
  fw-api: CL 11101099 - update fw common interface files
  fw-api: CL 11091714 - update fw common interface files
  Release 5.2.03.29M
  qcacld-3.0: Don't allow roam invoke if roaming offload is not initialized
  Release 5.2.03.29L
  qcacld-3.0: Gracefully deregister packet capture callbacks
  Release 5.2.03.29K
  qcacld-3.0: Change the size of Measurement Request IE
  Release 5.2.03.29J
  qcacld-3.0: Remove ucfg_pkt_capture_deregister_callbacks
  fw-api: CL 11068717 - update fw common interface files
  usb: gadget: Revert increase write buffer size
  diag: Clear the local masks only during local usb disconnect

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>

Conflicts:
	arch/arm64/boot/dts/qcom/dsi-panel-ss-fhd-ea8076-cmd.dtsi
	arch/arm64/boot/dts/qcom/dsi-panel-ss-fhd-ea8076-global-cmd.dtsi
	drivers/gpu/drm/drm_sysfs.c
	drivers/gpu/drm/msm/dsi-staging/dsi_defs.h
	drivers/gpu/drm/msm/dsi-staging/dsi_display.c
	drivers/gpu/drm/msm/dsi-staging/dsi_display.h
	drivers/gpu/drm/msm/dsi-staging/dsi_drm.c
	drivers/gpu/drm/msm/dsi-staging/dsi_panel.c
	drivers/gpu/drm/msm/sde/sde_connector.c
	include/drm/drm_device.h
2020-08-21 21:59:15 +05:30
UtsavBalar1231
88f6e89c5c Merge remote-tracking branch 'origin/q' into auto-kernel
* origin/q:
  Linux 4.14.194
  dm cache: remove all obsolete writethrough-specific code
  dm cache: submit writethrough writes in parallel to origin and cache
  dm cache: pass cache structure to mode functions
  genirq/affinity: Make affinity setting if activated opt-in
  genirq/affinity: Handle affinity setting on inactive interrupts correctly
  khugepaged: retract_page_tables() remember to test exit
  sh: landisk: Add missing initialization of sh_io_port_base
  tools build feature: Quote CC and CXX for their arguments
  perf bench mem: Always memset source before memcpy
  ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
  mfd: dln2: Run event handler loop under spinlock
  test_kmod: avoid potential double free in trigger_config_run_type()
  fs/ufs: avoid potential u32 multiplication overflow
  nfs: Fix getxattr kernel panic and memory overflow
  net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init
  drm/vmwgfx: Fix two list_for_each loop exit tests
  drm/vmwgfx: Use correct vmw_legacy_display_unit pointer
  Input: sentelic - fix error return when fsp_reg_write fails
  i2c: rcar: avoid race when unregistering slave
  tools build feature: Use CC and CXX from parent
  pwm: bcm-iproc: handle clk_get_rate() return
  clk: clk-atlas6: fix return value check in atlas6_clk_init()
  i2c: rcar: slave: only send STOP event when we have been addressed
  iommu/vt-d: Enforce PASID devTLB field mask
  iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
  dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
  gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers
  USB: serial: ftdi_sio: clean up receive processing
  USB: serial: ftdi_sio: make process-packet buffer unsigned
  RDMA/ipoib: Return void from ipoib_ib_dev_stop()
  mfd: arizona: Ensure 32k clock is put on driver unbind and error
  drm/imx: imx-ldb: Disable both channels for split mode in enc->disable()
  perf intel-pt: Fix FUP packet state
  pseries: Fix 64 bit logical memory block panic
  watchdog: f71808e_wdt: clear watchdog timeout occurred flag
  watchdog: f71808e_wdt: remove use of wrong watchdog_info option
  watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
  tracing: Use trace_sched_process_free() instead of exit() for pid tracing
  tracing/hwlat: Honor the tracing_cpumask
  kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
  ftrace: Setup correct FTRACE_FL_REGS flags for module
  ocfs2: change slot number type s16 to u16
  ext2: fix missing percpu_counter_inc
  MIPS: CPU#0 is not hotpluggable
  mac80211: fix misplaced while instead of if
  bcache: allocate meta data pages as compound pages
  md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
  net/compat: Add missing sock updates for SCM_RIGHTS
  net: stmmac: dwmac1000: provide multicast filter fallback
  net: ethernet: stmmac: Disable hardware multicast filter
  powerpc: Fix circular dependency between percpu.h and mmu.h
  xtensa: fix xtensa_pmu_setup prototype
  iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw()
  dt-bindings: iio: io-channel-mux: Fix compatible string in example code
  btrfs: fix memory leaks after failure to lookup checksums during inode logging
  btrfs: only search for left_info if there is no right_info in try_merge_free_space
  btrfs: don't allocate anonymous block device for user invisible roots
  PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
  smb3: warn on confusing error scenario with sec=krb5
  net: initialize fastreuse on inet_inherit_port
  xen/balloon: make the balloon wait interruptible
  xen/balloon: fix accounting in alloc_xenballooned_pages error path
  irqdomain/treewide: Free firmware node after domain removal
  ARM: 8992/1: Fix unwind_frame for clang-built kernels
  parisc: mask out enable and reserved bits from sba imask
  parisc: Implement __smp_store_release and __smp_load_acquire barriers
  mtd: rawnand: qcom: avoid write to unavailable register
  spi: spidev: Align buffers for DMA
  9p: Fix memory leak in v9fs_mount
  ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
  fs/minix: reject too-large maximum file size
  fs/minix: don't allow getting deleted inodes
  fs/minix: check return value of sb_getblk()
  bitfield.h: don't compile-time validate _val in FIELD_FIT
  crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
  crypto: ccp - Fix use of merged scatterlists
  crypto: qat - fix double free in qat_uclo_create_batch_init_list
  ALSA: usb-audio: add quirk for Pioneer DDJ-RB
  ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
  ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
  USB: serial: cp210x: enable usb generic throttle/unthrottle
  USB: serial: cp210x: re-enable auto-RTS on open
  net: Set fput_needed iff FDPUT_FPUT is set
  net: refactor bind_bucket fastreuse into helper
  net/nfc/rawsock.c: add CAP_NET_RAW check.
  drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
  af_packet: TPACKET_V3: fix fill status rwlock imbalance
  crypto: aesni - add compatibility with IAS
  x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
  pinctrl-single: fix pcs_parse_pinconf() return value
  dlm: Fix kobject memleak
  fsl/fman: fix eth hash table allocation
  fsl/fman: check dereferencing null pointer
  fsl/fman: fix unreachable code
  fsl/fman: fix dereference null return value
  fsl/fman: use 32-bit unsigned integer
  net: spider_net: Fix the size used in a 'dma_free_coherent()' call
  liquidio: Fix wrong return value in cn23xx_get_pf_num()
  net: ethernet: aquantia: Fix wrong return value
  tools, build: Propagate build failures from tools/build/Makefile.build
  wl1251: fix always return 0 error
  s390/qeth: don't process empty bridge port events
  selftests/powerpc: Fix online CPU selection
  PCI: Release IVRS table in AMD ACS quirk
  selftests/powerpc: Fix CPU affinity for child process
  Bluetooth: hci_serdev: Only unregister device if it was registered
  power: supply: check if calc_soc succeeded in pm860x_init_battery
  Smack: prevent underflow in smk_set_cipso()
  Smack: fix another vsscanf out of bounds
  net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
  scsi: mesh: Fix panic after host or bus reset
  usb: dwc2: Fix error path in gadget registration
  MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
  coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
  thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
  USB: serial: iuu_phoenix: fix led-activity helpers
  drm/imx: tve: fix regulator_disable error path
  PCI/ASPM: Add missing newline in sysfs 'policy'
  staging: rtl8192u: fix a dubious looking mask before a shift
  powerpc/vdso: Fix vdso cpu truncation
  mwifiex: Prevent memory corruption handling keys
  scsi: scsi_debug: Add check for sdebug_max_queue during module init
  drm/bridge: sil_sii8620: initialize return of sii8620_readb
  drm: panel: simple: Fix bpc for LG LB070WV8 panel
  leds: core: Flush scheduled work for system suspend
  PCI: Fix pci_cfg_wait queue locking problem
  xfs: fix reflink quota reservation accounting error
  media: exynos4-is: Add missed check for pinctrl_lookup_state()
  media: firewire: Using uninitialized values in node_probe()
  ipvs: allow connection reuse for unconfirmed conntrack
  scsi: eesox: Fix different dev_id between request_irq() and free_irq()
  scsi: powertec: Fix different dev_id between request_irq() and free_irq()
  drm/radeon: fix array out-of-bounds read and write issues
  cxl: Fix kobject memleak
  drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
  scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
  ASoC: Intel: bxt_rt298: add missing .owner field
  media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
  leds: lm355x: avoid enum conversion warning
  drm/arm: fix unintentional integer overflow on left shift
  iio: improve IIO_CONCENTRATION channel type description
  video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
  console: newport_con: fix an issue about leak related system resources
  video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
  agp/intel: Fix a memory leak on module initialisation failure
  ACPICA: Do not increment operation_region reference counts for field units
  bcache: fix super block seq numbers comparision in register_cache_set()
  dyndbg: fix a BUG_ON in ddebug_describe_flags
  usb: bdc: Halt controller on suspend
  bdc: Fix bug causing crash after multiple disconnects
  usb: gadget: net2280: fix memory leak on probe error handling paths
  gpu: host1x: debug: Fix multiple channels emitting messages simultaneously
  iwlegacy: Check the return value of pcie_capability_read_*()
  brcmfmac: set state of hanger slot to FREE when flushing PSQ
  brcmfmac: To fix Bss Info flag definition Bug
  mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
  irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock
  drm/debugfs: fix plain echo to connector "force" attribute
  drm/nouveau: fix multiple instances of reference count leaks
  arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding
  md-cluster: fix wild pointer of unlock_all_bitmaps()
  video: fbdev: neofb: fix memory leak in neo_scan_monitor()
  drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
  fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls
  Bluetooth: add a mutex lock to avoid UAF in do_enale_set
  drm/tilcdc: fix leak & null ref in panel_connector_get_modes
  ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
  spi: lantiq: fix: Rx overflow error in full duplex mode
  ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
  platform/x86: intel-vbtn: Fix return value check in check_acpi_dev()
  platform/x86: intel-hid: Fix return value check in check_acpi_dev()
  m68k: mac: Fix IOP status/control register writes
  m68k: mac: Don't send IOP message until channel is idle
  arm64: dts: exynos: Fix silent hang after boot on Espresso
  arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property
  EDAC: Fix reference count leaks
  arm64: dts: rockchip: fix rk3399-puma gmac reset gpio
  arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio
  sched: correct SD_flags returned by tl->sd_flags()
  x86/mce/inject: Fix a wrong assignment of i_mce.status
  cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
  HID: input: Fix devices that return multiple bytes in battery report
  tracepoint: Mark __tracepoint_string's __used
  Smack: fix use-after-free in smk_write_relabel_self()
  rxrpc: Fix race between recvmsg and sendmsg on immediate call failure
  usb: hso: check for return value in hso_serial_common_create()
  selftests/net: relax cpu affinity requirement in msg_zerocopy test
  Revert "vxlan: fix tos value before xmit"
  openvswitch: Prevent kernel-infoleak in ovs_ct_put_key()
  net: gre: recompute gre csum for sctp over gre tunnels
  hv_netvsc: do not use VF device if link is down
  net: lan78xx: replace bogus endpoint lookup
  vxlan: Ensure FDB dump is performed under RCU
  net: ethernet: mtk_eth_soc: fix MTU warnings
  ipv6: fix memory leaks on IPV6_ADDRFORM path
  ipv4: Silence suspicious RCU usage warning
  xattr: break delegations in {set,remove}xattr
  Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
  tools lib traceevent: Fix memory leak in process_dynamic_array_len
  atm: fix atm_dev refcnt leaks in atmtcp_remove_persistent
  igb: reinit_locked() should be called with rtnl_lock
  cfg80211: check vendor command doit pointer before use
  i2c: slave: add sanity check when unregistering
  i2c: slave: improve sanity check when registering
  drm/nouveau/fbcon: zero-initialise the mode_cmd2 structure
  drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason
  net/9p: validate fds in p9_fd_open
  leds: 88pm860x: fix use-after-free on unbind
  leds: lm3533: fix use-after-free on unbind
  leds: da903x: fix use-after-free on unbind
  leds: wm831x-status: fix use-after-free on unbind
  mtd: properly check all write ioctls for permissions
  vgacon: Fix for missing check in scrollback handling
  binder: Prevent context manager from incrementing ref 0
  omapfb: dss: Fix max fclk divider for omap36xx
  Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt()
  Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt()
  Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt()
  staging: android: ashmem: Fix lockdep warning for write operation
  ALSA: seq: oss: Serialize ioctls
  usb: xhci: Fix ASMedia ASM1142 DMA addressing
  usb: xhci: define IDs for various ASMedia host controllers
  USB: iowarrior: fix up report size handling for some devices
  net/mlx5e: Don't support phys switch id if not in switchdev mode
  USB: serial: qcserial: add EM7305 QDL product ID
  defconfig: disable QCOM_SECURE_BUFFER for lxc container
  ARM: dts: msm: Add multiple dri device nodes for sa8195 lxc gvm
  ARM: dts: msm: disable avb for lv container
  binderfs: use refcount for binder control devices too
  Revert "security: selinux: allow per-file labelling for binderfs"
  ARM: dts: msm: Enable PCIe0 for S8155 Single LV GVM

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-21 21:46:33 +05:30
Greg Kroah-Hartman
831ff8141a Merge 4.14.194 into android-4.14-stable
Changes in 4.14.194
	USB: serial: qcserial: add EM7305 QDL product ID
	net/mlx5e: Don't support phys switch id if not in switchdev mode
	USB: iowarrior: fix up report size handling for some devices
	usb: xhci: define IDs for various ASMedia host controllers
	usb: xhci: Fix ASMedia ASM1142 DMA addressing
	ALSA: seq: oss: Serialize ioctls
	staging: android: ashmem: Fix lockdep warning for write operation
	Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt()
	Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt()
	Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt()
	omapfb: dss: Fix max fclk divider for omap36xx
	binder: Prevent context manager from incrementing ref 0
	vgacon: Fix for missing check in scrollback handling
	mtd: properly check all write ioctls for permissions
	leds: wm831x-status: fix use-after-free on unbind
	leds: da903x: fix use-after-free on unbind
	leds: lm3533: fix use-after-free on unbind
	leds: 88pm860x: fix use-after-free on unbind
	net/9p: validate fds in p9_fd_open
	drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason
	drm/nouveau/fbcon: zero-initialise the mode_cmd2 structure
	i2c: slave: improve sanity check when registering
	i2c: slave: add sanity check when unregistering
	cfg80211: check vendor command doit pointer before use
	igb: reinit_locked() should be called with rtnl_lock
	atm: fix atm_dev refcnt leaks in atmtcp_remove_persistent
	tools lib traceevent: Fix memory leak in process_dynamic_array_len
	Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
	xattr: break delegations in {set,remove}xattr
	ipv4: Silence suspicious RCU usage warning
	ipv6: fix memory leaks on IPV6_ADDRFORM path
	net: ethernet: mtk_eth_soc: fix MTU warnings
	vxlan: Ensure FDB dump is performed under RCU
	net: lan78xx: replace bogus endpoint lookup
	hv_netvsc: do not use VF device if link is down
	net: gre: recompute gre csum for sctp over gre tunnels
	openvswitch: Prevent kernel-infoleak in ovs_ct_put_key()
	Revert "vxlan: fix tos value before xmit"
	selftests/net: relax cpu affinity requirement in msg_zerocopy test
	usb: hso: check for return value in hso_serial_common_create()
	rxrpc: Fix race between recvmsg and sendmsg on immediate call failure
	Smack: fix use-after-free in smk_write_relabel_self()
	tracepoint: Mark __tracepoint_string's __used
	HID: input: Fix devices that return multiple bytes in battery report
	cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
	x86/mce/inject: Fix a wrong assignment of i_mce.status
	sched: correct SD_flags returned by tl->sd_flags()
	arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio
	arm64: dts: rockchip: fix rk3399-puma gmac reset gpio
	EDAC: Fix reference count leaks
	arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property
	arm64: dts: exynos: Fix silent hang after boot on Espresso
	m68k: mac: Don't send IOP message until channel is idle
	m68k: mac: Fix IOP status/control register writes
	platform/x86: intel-hid: Fix return value check in check_acpi_dev()
	platform/x86: intel-vbtn: Fix return value check in check_acpi_dev()
	ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
	spi: lantiq: fix: Rx overflow error in full duplex mode
	ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
	drm/tilcdc: fix leak & null ref in panel_connector_get_modes
	Bluetooth: add a mutex lock to avoid UAF in do_enale_set
	fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls
	drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
	video: fbdev: neofb: fix memory leak in neo_scan_monitor()
	md-cluster: fix wild pointer of unlock_all_bitmaps()
	arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding
	drm/nouveau: fix multiple instances of reference count leaks
	drm/debugfs: fix plain echo to connector "force" attribute
	irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock
	mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
	brcmfmac: To fix Bss Info flag definition Bug
	brcmfmac: set state of hanger slot to FREE when flushing PSQ
	iwlegacy: Check the return value of pcie_capability_read_*()
	gpu: host1x: debug: Fix multiple channels emitting messages simultaneously
	usb: gadget: net2280: fix memory leak on probe error handling paths
	bdc: Fix bug causing crash after multiple disconnects
	usb: bdc: Halt controller on suspend
	dyndbg: fix a BUG_ON in ddebug_describe_flags
	bcache: fix super block seq numbers comparision in register_cache_set()
	ACPICA: Do not increment operation_region reference counts for field units
	agp/intel: Fix a memory leak on module initialisation failure
	video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
	console: newport_con: fix an issue about leak related system resources
	video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
	iio: improve IIO_CONCENTRATION channel type description
	drm/arm: fix unintentional integer overflow on left shift
	leds: lm355x: avoid enum conversion warning
	media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
	ASoC: Intel: bxt_rt298: add missing .owner field
	scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
	drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
	cxl: Fix kobject memleak
	drm/radeon: fix array out-of-bounds read and write issues
	scsi: powertec: Fix different dev_id between request_irq() and free_irq()
	scsi: eesox: Fix different dev_id between request_irq() and free_irq()
	ipvs: allow connection reuse for unconfirmed conntrack
	media: firewire: Using uninitialized values in node_probe()
	media: exynos4-is: Add missed check for pinctrl_lookup_state()
	xfs: fix reflink quota reservation accounting error
	PCI: Fix pci_cfg_wait queue locking problem
	leds: core: Flush scheduled work for system suspend
	drm: panel: simple: Fix bpc for LG LB070WV8 panel
	drm/bridge: sil_sii8620: initialize return of sii8620_readb
	scsi: scsi_debug: Add check for sdebug_max_queue during module init
	mwifiex: Prevent memory corruption handling keys
	powerpc/vdso: Fix vdso cpu truncation
	staging: rtl8192u: fix a dubious looking mask before a shift
	PCI/ASPM: Add missing newline in sysfs 'policy'
	drm/imx: tve: fix regulator_disable error path
	USB: serial: iuu_phoenix: fix led-activity helpers
	thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
	coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
	MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
	usb: dwc2: Fix error path in gadget registration
	scsi: mesh: Fix panic after host or bus reset
	net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
	Smack: fix another vsscanf out of bounds
	Smack: prevent underflow in smk_set_cipso()
	power: supply: check if calc_soc succeeded in pm860x_init_battery
	Bluetooth: hci_serdev: Only unregister device if it was registered
	selftests/powerpc: Fix CPU affinity for child process
	PCI: Release IVRS table in AMD ACS quirk
	selftests/powerpc: Fix online CPU selection
	s390/qeth: don't process empty bridge port events
	wl1251: fix always return 0 error
	tools, build: Propagate build failures from tools/build/Makefile.build
	net: ethernet: aquantia: Fix wrong return value
	liquidio: Fix wrong return value in cn23xx_get_pf_num()
	net: spider_net: Fix the size used in a 'dma_free_coherent()' call
	fsl/fman: use 32-bit unsigned integer
	fsl/fman: fix dereference null return value
	fsl/fman: fix unreachable code
	fsl/fman: check dereferencing null pointer
	fsl/fman: fix eth hash table allocation
	dlm: Fix kobject memleak
	pinctrl-single: fix pcs_parse_pinconf() return value
	x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
	crypto: aesni - add compatibility with IAS
	af_packet: TPACKET_V3: fix fill status rwlock imbalance
	drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
	net/nfc/rawsock.c: add CAP_NET_RAW check.
	net: refactor bind_bucket fastreuse into helper
	net: Set fput_needed iff FDPUT_FPUT is set
	USB: serial: cp210x: re-enable auto-RTS on open
	USB: serial: cp210x: enable usb generic throttle/unthrottle
	ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
	ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
	ALSA: usb-audio: add quirk for Pioneer DDJ-RB
	crypto: qat - fix double free in qat_uclo_create_batch_init_list
	crypto: ccp - Fix use of merged scatterlists
	crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
	bitfield.h: don't compile-time validate _val in FIELD_FIT
	fs/minix: check return value of sb_getblk()
	fs/minix: don't allow getting deleted inodes
	fs/minix: reject too-large maximum file size
	ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
	9p: Fix memory leak in v9fs_mount
	spi: spidev: Align buffers for DMA
	mtd: rawnand: qcom: avoid write to unavailable register
	parisc: Implement __smp_store_release and __smp_load_acquire barriers
	parisc: mask out enable and reserved bits from sba imask
	ARM: 8992/1: Fix unwind_frame for clang-built kernels
	irqdomain/treewide: Free firmware node after domain removal
	xen/balloon: fix accounting in alloc_xenballooned_pages error path
	xen/balloon: make the balloon wait interruptible
	net: initialize fastreuse on inet_inherit_port
	smb3: warn on confusing error scenario with sec=krb5
	PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
	btrfs: don't allocate anonymous block device for user invisible roots
	btrfs: only search for left_info if there is no right_info in try_merge_free_space
	btrfs: fix memory leaks after failure to lookup checksums during inode logging
	dt-bindings: iio: io-channel-mux: Fix compatible string in example code
	iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw()
	xtensa: fix xtensa_pmu_setup prototype
	powerpc: Fix circular dependency between percpu.h and mmu.h
	net: ethernet: stmmac: Disable hardware multicast filter
	net: stmmac: dwmac1000: provide multicast filter fallback
	net/compat: Add missing sock updates for SCM_RIGHTS
	md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
	bcache: allocate meta data pages as compound pages
	mac80211: fix misplaced while instead of if
	MIPS: CPU#0 is not hotpluggable
	ext2: fix missing percpu_counter_inc
	ocfs2: change slot number type s16 to u16
	ftrace: Setup correct FTRACE_FL_REGS flags for module
	kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
	tracing/hwlat: Honor the tracing_cpumask
	tracing: Use trace_sched_process_free() instead of exit() for pid tracing
	watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
	watchdog: f71808e_wdt: remove use of wrong watchdog_info option
	watchdog: f71808e_wdt: clear watchdog timeout occurred flag
	pseries: Fix 64 bit logical memory block panic
	perf intel-pt: Fix FUP packet state
	drm/imx: imx-ldb: Disable both channels for split mode in enc->disable()
	mfd: arizona: Ensure 32k clock is put on driver unbind and error
	RDMA/ipoib: Return void from ipoib_ib_dev_stop()
	USB: serial: ftdi_sio: make process-packet buffer unsigned
	USB: serial: ftdi_sio: clean up receive processing
	gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers
	dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
	iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
	iommu/vt-d: Enforce PASID devTLB field mask
	i2c: rcar: slave: only send STOP event when we have been addressed
	clk: clk-atlas6: fix return value check in atlas6_clk_init()
	pwm: bcm-iproc: handle clk_get_rate() return
	tools build feature: Use CC and CXX from parent
	i2c: rcar: avoid race when unregistering slave
	Input: sentelic - fix error return when fsp_reg_write fails
	drm/vmwgfx: Use correct vmw_legacy_display_unit pointer
	drm/vmwgfx: Fix two list_for_each loop exit tests
	net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init
	nfs: Fix getxattr kernel panic and memory overflow
	fs/ufs: avoid potential u32 multiplication overflow
	test_kmod: avoid potential double free in trigger_config_run_type()
	mfd: dln2: Run event handler loop under spinlock
	ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
	perf bench mem: Always memset source before memcpy
	tools build feature: Quote CC and CXX for their arguments
	sh: landisk: Add missing initialization of sh_io_port_base
	khugepaged: retract_page_tables() remember to test exit
	genirq/affinity: Handle affinity setting on inactive interrupts correctly
	genirq/affinity: Make affinity setting if activated opt-in
	dm cache: pass cache structure to mode functions
	dm cache: submit writethrough writes in parallel to origin and cache
	dm cache: remove all obsolete writethrough-specific code
	Linux 4.14.194

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0a759b837bffc0f5af5fe1b6a38ccdd465e41e6e
2020-08-21 11:00:26 +02:00
UtsavBalar1231
783fb84855 Merge v4.14.194 into q
* tag 'v4.14.194' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux:
  Linux 4.14.194
  dm cache: remove all obsolete writethrough-specific code
  dm cache: submit writethrough writes in parallel to origin and cache
  dm cache: pass cache structure to mode functions
  genirq/affinity: Make affinity setting if activated opt-in
  genirq/affinity: Handle affinity setting on inactive interrupts correctly
  khugepaged: retract_page_tables() remember to test exit
  sh: landisk: Add missing initialization of sh_io_port_base
  tools build feature: Quote CC and CXX for their arguments
  perf bench mem: Always memset source before memcpy
  ALSA: echoaudio: Fix potential Oops in snd_echo_resume()
  mfd: dln2: Run event handler loop under spinlock
  test_kmod: avoid potential double free in trigger_config_run_type()
  fs/ufs: avoid potential u32 multiplication overflow
  nfs: Fix getxattr kernel panic and memory overflow
  net: qcom/emac: add missed clk_disable_unprepare in error path of emac_clks_phase1_init
  drm/vmwgfx: Fix two list_for_each loop exit tests
  drm/vmwgfx: Use correct vmw_legacy_display_unit pointer
  Input: sentelic - fix error return when fsp_reg_write fails
  i2c: rcar: avoid race when unregistering slave
  tools build feature: Use CC and CXX from parent
  pwm: bcm-iproc: handle clk_get_rate() return
  clk: clk-atlas6: fix return value check in atlas6_clk_init()
  i2c: rcar: slave: only send STOP event when we have been addressed
  iommu/vt-d: Enforce PASID devTLB field mask
  iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
  dm rq: don't call blk_mq_queue_stopped() in dm_stop_queue()
  gpu: ipu-v3: image-convert: Combine rotate/no-rotate irq handlers
  USB: serial: ftdi_sio: clean up receive processing
  USB: serial: ftdi_sio: make process-packet buffer unsigned
  RDMA/ipoib: Return void from ipoib_ib_dev_stop()
  mfd: arizona: Ensure 32k clock is put on driver unbind and error
  drm/imx: imx-ldb: Disable both channels for split mode in enc->disable()
  perf intel-pt: Fix FUP packet state
  pseries: Fix 64 bit logical memory block panic
  watchdog: f71808e_wdt: clear watchdog timeout occurred flag
  watchdog: f71808e_wdt: remove use of wrong watchdog_info option
  watchdog: f71808e_wdt: indicate WDIOF_CARDRESET support in watchdog_info.options
  tracing: Use trace_sched_process_free() instead of exit() for pid tracing
  tracing/hwlat: Honor the tracing_cpumask
  kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
  ftrace: Setup correct FTRACE_FL_REGS flags for module
  ocfs2: change slot number type s16 to u16
  ext2: fix missing percpu_counter_inc
  MIPS: CPU#0 is not hotpluggable
  mac80211: fix misplaced while instead of if
  bcache: allocate meta data pages as compound pages
  md/raid5: Fix Force reconstruct-write io stuck in degraded raid5
  net/compat: Add missing sock updates for SCM_RIGHTS
  net: stmmac: dwmac1000: provide multicast filter fallback
  net: ethernet: stmmac: Disable hardware multicast filter
  powerpc: Fix circular dependency between percpu.h and mmu.h
  xtensa: fix xtensa_pmu_setup prototype
  iio: dac: ad5592r: fix unbalanced mutex unlocks in ad5592r_read_raw()
  dt-bindings: iio: io-channel-mux: Fix compatible string in example code
  btrfs: fix memory leaks after failure to lookup checksums during inode logging
  btrfs: only search for left_info if there is no right_info in try_merge_free_space
  btrfs: don't allocate anonymous block device for user invisible roots
  PCI: hotplug: ACPI: Fix context refcounting in acpiphp_grab_context()
  smb3: warn on confusing error scenario with sec=krb5
  net: initialize fastreuse on inet_inherit_port
  xen/balloon: make the balloon wait interruptible
  xen/balloon: fix accounting in alloc_xenballooned_pages error path
  irqdomain/treewide: Free firmware node after domain removal
  ARM: 8992/1: Fix unwind_frame for clang-built kernels
  parisc: mask out enable and reserved bits from sba imask
  parisc: Implement __smp_store_release and __smp_load_acquire barriers
  mtd: rawnand: qcom: avoid write to unavailable register
  spi: spidev: Align buffers for DMA
  9p: Fix memory leak in v9fs_mount
  ALSA: usb-audio: work around streaming quirk for MacroSilicon MS2109
  fs/minix: reject too-large maximum file size
  fs/minix: don't allow getting deleted inodes
  fs/minix: check return value of sb_getblk()
  bitfield.h: don't compile-time validate _val in FIELD_FIT
  crypto: cpt - don't sleep of CRYPTO_TFM_REQ_MAY_SLEEP was not specified
  crypto: ccp - Fix use of merged scatterlists
  crypto: qat - fix double free in qat_uclo_create_batch_init_list
  ALSA: usb-audio: add quirk for Pioneer DDJ-RB
  ALSA: usb-audio: fix overeager device match for MacroSilicon MS2109
  ALSA: usb-audio: Creative USB X-Fi Pro SB1095 volume knob support
  USB: serial: cp210x: enable usb generic throttle/unthrottle
  USB: serial: cp210x: re-enable auto-RTS on open
  net: Set fput_needed iff FDPUT_FPUT is set
  net: refactor bind_bucket fastreuse into helper
  net/nfc/rawsock.c: add CAP_NET_RAW check.
  drivers/net/wan/lapbether: Added needed_headroom and a skb->len check
  af_packet: TPACKET_V3: fix fill status rwlock imbalance
  crypto: aesni - add compatibility with IAS
  x86/fsgsbase/64: Fix NULL deref in 86_fsgsbase_read_task
  pinctrl-single: fix pcs_parse_pinconf() return value
  dlm: Fix kobject memleak
  fsl/fman: fix eth hash table allocation
  fsl/fman: check dereferencing null pointer
  fsl/fman: fix unreachable code
  fsl/fman: fix dereference null return value
  fsl/fman: use 32-bit unsigned integer
  net: spider_net: Fix the size used in a 'dma_free_coherent()' call
  liquidio: Fix wrong return value in cn23xx_get_pf_num()
  net: ethernet: aquantia: Fix wrong return value
  tools, build: Propagate build failures from tools/build/Makefile.build
  wl1251: fix always return 0 error
  s390/qeth: don't process empty bridge port events
  selftests/powerpc: Fix online CPU selection
  PCI: Release IVRS table in AMD ACS quirk
  selftests/powerpc: Fix CPU affinity for child process
  Bluetooth: hci_serdev: Only unregister device if it was registered
  power: supply: check if calc_soc succeeded in pm860x_init_battery
  Smack: prevent underflow in smk_set_cipso()
  Smack: fix another vsscanf out of bounds
  net: dsa: mv88e6xxx: MV88E6097 does not support jumbo configuration
  scsi: mesh: Fix panic after host or bus reset
  usb: dwc2: Fix error path in gadget registration
  MIPS: OCTEON: add missing put_device() call in dwc3_octeon_device_init()
  coresight: tmc: Fix TMC mode read in tmc_read_unprepare_etb()
  thermal: ti-soc-thermal: Fix reversed condition in ti_thermal_expose_sensor()
  USB: serial: iuu_phoenix: fix led-activity helpers
  drm/imx: tve: fix regulator_disable error path
  PCI/ASPM: Add missing newline in sysfs 'policy'
  staging: rtl8192u: fix a dubious looking mask before a shift
  powerpc/vdso: Fix vdso cpu truncation
  mwifiex: Prevent memory corruption handling keys
  scsi: scsi_debug: Add check for sdebug_max_queue during module init
  drm/bridge: sil_sii8620: initialize return of sii8620_readb
  drm: panel: simple: Fix bpc for LG LB070WV8 panel
  leds: core: Flush scheduled work for system suspend
  PCI: Fix pci_cfg_wait queue locking problem
  xfs: fix reflink quota reservation accounting error
  media: exynos4-is: Add missed check for pinctrl_lookup_state()
  media: firewire: Using uninitialized values in node_probe()
  ipvs: allow connection reuse for unconfirmed conntrack
  scsi: eesox: Fix different dev_id between request_irq() and free_irq()
  scsi: powertec: Fix different dev_id between request_irq() and free_irq()
  drm/radeon: fix array out-of-bounds read and write issues
  cxl: Fix kobject memleak
  drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline
  scsi: cumana_2: Fix different dev_id between request_irq() and free_irq()
  ASoC: Intel: bxt_rt298: add missing .owner field
  media: omap3isp: Add missed v4l2_ctrl_handler_free() for preview_init_entities()
  leds: lm355x: avoid enum conversion warning
  drm/arm: fix unintentional integer overflow on left shift
  iio: improve IIO_CONCENTRATION channel type description
  video: pxafb: Fix the function used to balance a 'dma_alloc_coherent()' call
  console: newport_con: fix an issue about leak related system resources
  video: fbdev: sm712fb: fix an issue about iounmap for a wrong address
  agp/intel: Fix a memory leak on module initialisation failure
  ACPICA: Do not increment operation_region reference counts for field units
  bcache: fix super block seq numbers comparision in register_cache_set()
  dyndbg: fix a BUG_ON in ddebug_describe_flags
  usb: bdc: Halt controller on suspend
  bdc: Fix bug causing crash after multiple disconnects
  usb: gadget: net2280: fix memory leak on probe error handling paths
  gpu: host1x: debug: Fix multiple channels emitting messages simultaneously
  iwlegacy: Check the return value of pcie_capability_read_*()
  brcmfmac: set state of hanger slot to FREE when flushing PSQ
  brcmfmac: To fix Bss Info flag definition Bug
  mm/mmap.c: Add cond_resched() for exit_mmap() CPU stalls
  irqchip/irq-mtk-sysirq: Replace spinlock with raw_spinlock
  drm/debugfs: fix plain echo to connector "force" attribute
  drm/nouveau: fix multiple instances of reference count leaks
  arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding
  md-cluster: fix wild pointer of unlock_all_bitmaps()
  video: fbdev: neofb: fix memory leak in neo_scan_monitor()
  drm/radeon: Fix reference count leaks caused by pm_runtime_get_sync
  fs/btrfs: Add cond_resched() for try_release_extent_mapping() stalls
  Bluetooth: add a mutex lock to avoid UAF in do_enale_set
  drm/tilcdc: fix leak & null ref in panel_connector_get_modes
  ARM: socfpga: PM: add missing put_device() call in socfpga_setup_ocram_self_refresh()
  spi: lantiq: fix: Rx overflow error in full duplex mode
  ARM: at91: pm: add missing put_device() call in at91_pm_sram_init()
  platform/x86: intel-vbtn: Fix return value check in check_acpi_dev()
  platform/x86: intel-hid: Fix return value check in check_acpi_dev()
  m68k: mac: Fix IOP status/control register writes
  m68k: mac: Don't send IOP message until channel is idle
  arm64: dts: exynos: Fix silent hang after boot on Espresso
  arm64: dts: qcom: msm8916: Replace invalid bias-pull-none property
  EDAC: Fix reference count leaks
  arm64: dts: rockchip: fix rk3399-puma gmac reset gpio
  arm64: dts: rockchip: fix rk3399-puma vcc5v0-host gpio
  sched: correct SD_flags returned by tl->sd_flags()
  x86/mce/inject: Fix a wrong assignment of i_mce.status
  cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
  HID: input: Fix devices that return multiple bytes in battery report
  tracepoint: Mark __tracepoint_string's __used
  Smack: fix use-after-free in smk_write_relabel_self()
  rxrpc: Fix race between recvmsg and sendmsg on immediate call failure
  usb: hso: check for return value in hso_serial_common_create()
  selftests/net: relax cpu affinity requirement in msg_zerocopy test
  Revert "vxlan: fix tos value before xmit"
  openvswitch: Prevent kernel-infoleak in ovs_ct_put_key()
  net: gre: recompute gre csum for sctp over gre tunnels
  hv_netvsc: do not use VF device if link is down
  net: lan78xx: replace bogus endpoint lookup
  vxlan: Ensure FDB dump is performed under RCU
  net: ethernet: mtk_eth_soc: fix MTU warnings
  ipv6: fix memory leaks on IPV6_ADDRFORM path
  ipv4: Silence suspicious RCU usage warning
  xattr: break delegations in {set,remove}xattr
  Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
  tools lib traceevent: Fix memory leak in process_dynamic_array_len
  atm: fix atm_dev refcnt leaks in atmtcp_remove_persistent
  igb: reinit_locked() should be called with rtnl_lock
  cfg80211: check vendor command doit pointer before use
  i2c: slave: add sanity check when unregistering
  i2c: slave: improve sanity check when registering
  drm/nouveau/fbcon: zero-initialise the mode_cmd2 structure
  drm/nouveau/fbcon: fix module unload when fbcon init has failed for some reason
  net/9p: validate fds in p9_fd_open
  leds: 88pm860x: fix use-after-free on unbind
  leds: lm3533: fix use-after-free on unbind
  leds: da903x: fix use-after-free on unbind
  leds: wm831x-status: fix use-after-free on unbind
  mtd: properly check all write ioctls for permissions
  vgacon: Fix for missing check in scrollback handling
  binder: Prevent context manager from incrementing ref 0
  omapfb: dss: Fix max fclk divider for omap36xx
  Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi_evt()
  Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt()
  Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result_evt()
  staging: android: ashmem: Fix lockdep warning for write operation
  ALSA: seq: oss: Serialize ioctls
  usb: xhci: Fix ASMedia ASM1142 DMA addressing
  usb: xhci: define IDs for various ASMedia host controllers
  USB: iowarrior: fix up report size handling for some devices
  net/mlx5e: Don't support phys switch id if not in switchdev mode
  USB: serial: qcserial: add EM7305 QDL product ID

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>

Conflicts:
	drivers/hwtracing/coresight/coresight-tmc-etf.c
	net/ipv4/inet_connection_sock.c
2020-08-21 13:41:39 +05:30
Thomas Gleixner
6a7a29935d genirq/affinity: Make affinity setting if activated opt-in
commit f0c7baca180046824e07fc5f1326e83a8fd150c7 upstream.

John reported that on a RK3288 system the perf per CPU interrupts are all
affine to CPU0 and provided the analysis:

 "It looks like what happens is that because the interrupts are not per-CPU
  in the hardware, armpmu_request_irq() calls irq_force_affinity() while
  the interrupt is deactivated and then request_irq() with IRQF_PERCPU |
  IRQF_NOBALANCING.

  Now when irq_startup() runs with IRQ_STARTUP_NORMAL, it calls
  irq_setup_affinity() which returns early because IRQF_PERCPU and
  IRQF_NOBALANCING are set, leaving the interrupt on its original CPU."

This was broken by the recent commit which blocked interrupt affinity
setting in hardware before activation of the interrupt. While this works in
general, it does not work for this particular case. As contrary to the
initial analysis not all interrupt chip drivers implement an activate
callback, the safe cure is to make the deferred interrupt affinity setting
at activation time opt-in.

Implement the necessary core logic and make the two irqchip implementations
for which this is required opt-in. In hindsight this would have been the
right thing to do, but ...

Fixes: baedb87d1b53 ("genirq/affinity: Handle affinity setting on inactive interrupts correctly")
Reported-by: John Keeping <john@metanate.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Marc Zyngier <maz@kernel.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/87blk4tzgm.fsf@nanos.tec.linutronix.de
[fllinden@amazon.com - backported to 4.14]
Signed-off-by: Frank van der Linden <fllinden@amazon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:48:23 +02:00
Thomas Gleixner
da54edbe56 genirq/affinity: Handle affinity setting on inactive interrupts correctly
commit baedb87d1b53532f81b4bd0387f83b05d4f7eb9a upstream.

Setting interrupt affinity on inactive interrupts is inconsistent when
hierarchical irq domains are enabled. The core code should just store the
affinity and not call into the irq chip driver for inactive interrupts
because the chip drivers may not be in a state to handle such requests.

X86 has a hacky workaround for that but all other irq chips have not which
causes problems e.g. on GIC V3 ITS.

Instead of adding more ugly hacks all over the place, solve the problem in
the core code. If the affinity is set on an inactive interrupt then:

    - Store it in the irq descriptors affinity mask
    - Update the effective affinity to reflect that so user space has
      a consistent view
    - Don't call into the irq chip driver

This is the core equivalent of the X86 workaround and works correctly
because the affinity setting is established in the irq chip when the
interrupt is activated later on.

Note, that this is only effective when hierarchical irq domains are enabled
by the architecture. Doing it unconditionally would break legacy irq chip
implementations.

For hierarchial irq domains this works correctly as none of the drivers can
have a dependency on affinity setting in inactive state by design.

Remove the X86 workaround as it is not longer required.

Fixes: 02edee152d6e ("x86/apic/vector: Ignore set_affinity call for inactive interrupts")
Reported-by: Ali Saidi <alisaidi@amazon.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Ali Saidi <alisaidi@amazon.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20200529015501.15771-1-alisaidi@amazon.com
Link: https://lkml.kernel.org/r/877dv2rv25.fsf@nanos.tec.linutronix.de
[fllinden@amazon.com - 4.14 never had the x86 workaround, so skip x86 changes]
Signed-off-by: Frank van der Linden <fllinden@amazon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:48:23 +02:00
Steven Rostedt (VMware)
c9e38a3cc4 tracing: Use trace_sched_process_free() instead of exit() for pid tracing
commit afcab636657421f7ebfa0783a91f90256bba0091 upstream.

On exit, if a process is preempted after the trace_sched_process_exit()
tracepoint but before the process is done exiting, then when it gets
scheduled in, the function tracers will not filter it properly against the
function tracing pid filters.

That is because the function tracing pid filters hooks to the
sched_process_exit() tracepoint to remove the exiting task's pid from the
filter list. Because the filtering happens at the sched_switch tracepoint,
when the exiting task schedules back in to finish up the exit, it will no
longer be in the function pid filtering tables.

This was noticeable in the notrace self tests on a preemptable kernel, as
the tests would fail as it exits and preempted after being taken off the
notrace filter table and on scheduling back in it would not be in the
notrace list, and then the ending of the exit function would trace. The test
detected this and would fail.

Cc: stable@vger.kernel.org
Cc: Namhyung Kim <namhyung@kernel.org>
Fixes: 1e10486ffe ("ftrace: Add 'function-fork' trace option")
Fixes: c37775d578 ("tracing: Add infrastructure to allow set_event_pid to follow children"
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:48:19 +02:00
Kevin Hao
c3bb307dc6 tracing/hwlat: Honor the tracing_cpumask
commit 96b4833b6827a62c295b149213c68b559514c929 upstream.

In calculation of the cpu mask for the hwlat kernel thread, the wrong
cpu mask is used instead of the tracing_cpumask, this causes the
tracing/tracing_cpumask useless for hwlat tracer. Fixes it.

Link: https://lkml.kernel.org/r/20200730082318.42584-2-haokexin@gmail.com

Cc: Ingo Molnar <mingo@redhat.com>
Cc: stable@vger.kernel.org
Fixes: 0330f7aa8e ("tracing: Have hwlat trace migrate across tracing_cpumask CPUs")
Signed-off-by: Kevin Hao <haokexin@gmail.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:48:19 +02:00
Muchun Song
afd39cbaca kprobes: Fix NULL pointer dereference at kprobe_ftrace_handler
commit 0cb2f1372baa60af8456388a574af6133edd7d80 upstream.

We found a case of kernel panic on our server. The stack trace is as
follows(omit some irrelevant information):

  BUG: kernel NULL pointer dereference, address: 0000000000000080
  RIP: 0010:kprobe_ftrace_handler+0x5e/0xe0
  RSP: 0018:ffffb512c6550998 EFLAGS: 00010282
  RAX: 0000000000000000 RBX: ffff8e9d16eea018 RCX: 0000000000000000
  RDX: ffffffffbe1179c0 RSI: ffffffffc0535564 RDI: ffffffffc0534ec0
  RBP: ffffffffc0534ec1 R08: ffff8e9d1bbb0f00 R09: 0000000000000004
  R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
  R13: ffff8e9d1f797060 R14: 000000000000bacc R15: ffff8e9ce13eca00
  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
  CR2: 0000000000000080 CR3: 00000008453d0005 CR4: 00000000003606e0
  DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
  DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
  Call Trace:
   <IRQ>
   ftrace_ops_assist_func+0x56/0xe0
   ftrace_call+0x5/0x34
   tcpa_statistic_send+0x5/0x130 [ttcp_engine]

The tcpa_statistic_send is the function being kprobed. After analysis,
the root cause is that the fourth parameter regs of kprobe_ftrace_handler
is NULL. Why regs is NULL? We use the crash tool to analyze the kdump.

  crash> dis tcpa_statistic_send -r
         <tcpa_statistic_send>: callq 0xffffffffbd8018c0 <ftrace_caller>

The tcpa_statistic_send calls ftrace_caller instead of ftrace_regs_caller.
So it is reasonable that the fourth parameter regs of kprobe_ftrace_handler
is NULL. In theory, we should call the ftrace_regs_caller instead of the
ftrace_caller. After in-depth analysis, we found a reproducible path.

  Writing a simple kernel module which starts a periodic timer. The
  timer's handler is named 'kprobe_test_timer_handler'. The module
  name is kprobe_test.ko.

  1) insmod kprobe_test.ko
  2) bpftrace -e 'kretprobe:kprobe_test_timer_handler {}'
  3) echo 0 > /proc/sys/kernel/ftrace_enabled
  4) rmmod kprobe_test
  5) stop step 2) kprobe
  6) insmod kprobe_test.ko
  7) bpftrace -e 'kretprobe:kprobe_test_timer_handler {}'

We mark the kprobe as GONE but not disarm the kprobe in the step 4).
The step 5) also do not disarm the kprobe when unregister kprobe. So
we do not remove the ip from the filter. In this case, when the module
loads again in the step 6), we will replace the code to ftrace_caller
via the ftrace_module_enable(). When we register kprobe again, we will
not replace ftrace_caller to ftrace_regs_caller because the ftrace is
disabled in the step 3). So the step 7) will trigger kernel panic. Fix
this problem by disarming the kprobe when the module is going away.

Link: https://lkml.kernel.org/r/20200728064536.24405-1-songmuchun@bytedance.com

Cc: stable@vger.kernel.org
Fixes: ae6aa16fdc ("kprobes: introduce ftrace based optimization")
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Co-developed-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:48:19 +02:00
Chengming Zhou
2b5858751a ftrace: Setup correct FTRACE_FL_REGS flags for module
commit 8a224ffb3f52b0027f6b7279854c71a31c48fc97 upstream.

When module loaded and enabled, we will use __ftrace_replace_code
for module if any ftrace_ops referenced it found. But we will get
wrong ftrace_addr for module rec in ftrace_get_addr_new, because
rec->flags has not been setup correctly. It can cause the callback
function of a ftrace_ops has FTRACE_OPS_FL_SAVE_REGS to be called
with pt_regs set to NULL.
So setup correct FTRACE_FL_REGS flags for rec when we call
referenced_filters to find ftrace_ops references it.

Link: https://lkml.kernel.org/r/20200728180554.65203-1-zhouchengming@bytedance.com

Cc: stable@vger.kernel.org
Fixes: 8c4f3c3fa9 ("ftrace: Check module functions being traced on reload")
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 09:48:19 +02:00
Peng Liu
a51095df01 sched: correct SD_flags returned by tl->sd_flags()
[ Upstream commit 9b1b234bb86bcdcdb142e900d39b599185465dbb ]

During sched domain init, we check whether non-topological SD_flags are
returned by tl->sd_flags(), if found, fire a waning and correct the
violation, but the code failed to correct the violation. Correct this.

Fixes: 143e1e28cb ("sched: Rework sched_domain topology definition")
Signed-off-by: Peng Liu <iwtbavbm@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20200609150936.GA13060@iZj6chx1xj0e0buvshuecpZ
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-08-21 09:48:02 +02:00
Yang Yingliang
1bfba2f427 cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
Add skcd->no_refcnt check which is missed when backporting
ad0f75e5f57c ("cgroup: fix cgroup_sk_alloc() for sk_clone_lock()").

This patch is needed in stable-4.9, stable-4.14 and stable-4.19.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-08-21 09:48:02 +02:00
Sultan Alsawaf
0faa773ada qos: Don't allow userspace to impose restrictions on CPU idle levels
Giving userspace intimate control over CPU latency requirements is
nonsense. Userspace can't even stop itself from being preempted, so
there's no reason for it to have access to a mechanism primarily used to
eliminate CPU delays on the order of microseconds.

Remove userspace's ability to send pm_qos requests so that it can't hurt
power consumption.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-21 11:09:55 +05:30
UtsavBalar1231
aee7a62153 Merge remote-tracking branch 'origin/auto-kernel' into auto-kernel-oss
* origin/auto-kernel:
  ARM64: configs: raphael: Regenerate and sync
  kernel: Boost whenever a zygote-forked process becomes a top app
  kernel: Boost to the max for when zygote forks
  Revert "fs: exec: Introduce is_zygote_pid()"
  base: firmware_class: Fix suspicious concatenation warnings
  mm: remove __GFP_COLD
  seq_buf: Export seq_buf_printf
  ext4: optimize __ext4_check_dir_entry()
  treewide: Use array_size() in f2fs_kzalloc()
  treewide: Use array_size() in sock_kmalloc()
  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()
  treewide: Use struct_size() for devm_kmalloc() and friends
  treewide: Use struct_size() for vmalloc()-family
  treewide: Use struct_size() for kmalloc()-family
  UPSTREAM: Convert v4l2 event to struct_size
  UPSTREAM: Convert virtio_console to struct_size
  device: Use overflow helpers for devm_kmalloc()
  mm: Use overflow helpers in kvmalloc()
  mm: Use overflow helpers in kmalloc_array*()
  slab: make kmalloc_size() return "unsigned int"
  slab: make kmalloc_index() return "unsigned int"
  net/rds/ib_fmr.c: use kmalloc_array_node()
  mm/mempool.c: use kmalloc_array_node()
  drivers/infiniband/sw/rdmavt/qp.c: use kmalloc_array_node()
  drivers/infiniband/hw/qib/qib_init.c: use kmalloc_array_node()
  block/blk-mq.c: use kmalloc_array_node()
  include/linux/slab.h: add kmalloc_array_node() and kcalloc_node()
  slab, slub, slob: convert slab_flags_t to 32-bit
  slab, slub, slob: add slab_flags_t
  ARM64: configs: raphael: use zstd from zRAM compression
  zcomp: Use ARRAY_SIZE() for backends list
  zram: Allocate struct zcomp_strm as per-CPU memory
  drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store
  zram: try to avoid worst-case scenario on same element pages
  Documentation: dontdiff: Add zstd compressed files
  .gitignore: Add ZSTD-compressed files
  x86: Bump ZO_z_extra_bytes margin for zstd
  lib: Add zstd support to decompress
  lib: Prepare zstd for preboot environment, improve performance
  lib: Add might_fault() to strncpy_from_user.
  BACKPORT: lz4: fix kernel decompression speed
  iommu: msm: Fix issues in the 4.14 port
  iommu: msm: Rewrite to improve clarity and performance
  ion: Rewrite for improved clarity and performance
  Revert "ANDROID: staging: android: ion: Expose total heap and pool sizes via sysfs"
  ion: Remove hibernation support for secure heaps
  sde: interrupts: optimize interrupt dispatching routines
  ARM64: configs: raphael: sync for exfat-linux
  exfat: allow new i_version api for 4.14
  fs: include exfat fs
  drivers: staging: remove staging exfat
  ARM64: configs: raphael: some cpu related changes
  Revert "soc:qcom:icnss Async suspend/resume callbacks."
  kernel: Warn when an IRQ's affinity notifier gets overwritten
  kernel: Only set one CPU in the default IRQ affinity mask
  Revert "genirq: Add default affinity mask command line option"
  Revert "irq/core: Fix boot crash when the irqaffinity= boot parameter is passed on CPUMASK_OFFSTACK=y kernels(v1)"
  scsi: ufs: Only create one pm_qos object for the IRQ
  ARM64: configs: raphael: Enable CIB
  cpufreq: cpu_input_boost: Don't touch the prime cluster
  cpufreq: cpu_input_boost: Remove all input boost code and adjust
  cpu_input_boost: Introduce driver for event-based CPU boosting
  ARM64: configs: raphael: Disable IKHEADERS
  Revert "cpufreq: Only block min freq setting for booster processes"
  Revert "goodix_driver_gt9886: use async probing and suspend/resume"
  Revert "mm/slab_common: Align all caches' objects to hardware cachelines"
  proc/base: add static branch hints in __set_oom_adj
  drivers: gt9886: mark IRQ as performance critical
  ARM64: dts: ea8076: re-organize documentation
  arm64: dts: sm8150: Add full CPU frequency tables
  clk: qcom: clk-cpu-osm: Allow overriding CPU frequency tables in DT
  qcacmn: Fix suspicious string concatenation warning in fwlog
  qcacld-3.0: Fix regulatory domain country names
  selinux: randomize layout of key structures
  selinux: remove set but not used variable 'sidtab'
  selinux: ensure the policy has been loaded before reading the sidtab stats
  selinux: fix sidtab string cache locking
  BACKPORT: selinux: cache the SID -> context string translation
  rcu: Make kfree_rcu() ignore NULL pointers
  selinux: remove useless assignments
  selinux: log invalid contexts in AVCs
  BACKPORT: selinux: convert to kvmalloc
  mm: Introduce kvcalloc()
  msm: camera: reqmgr: Stop slot reset on buf done
  msm: mhi_dev: Fix memory leak
  msm: camera: csiphy: Update phy settings for atoll
  msm: camera: core: Change return type
  msm: camera: reqmgr: Skip apply for initial sync req on slave link
  msm: camera: reqmgr: increase the rd idx if no lower pd device
  msm: camera: reqmgr: reset slots after deactivating session
  jpeg: Add DMA driver implementation
  ARM: dts: msm: Include qcs610 changes for qcs410 also
  BACKPORT: loop: Fix wrong masking of status flags
  BACKPORT: loop: Add LOOP_CONFIGURE ioctl
  BACKPORT: loop: Clean up LOOP_SET_STATUS lo_flags handling
  BACKPORT: loop: Rework lo_ioctl() __user argument casting
  BACKPORT: loop: Move loop_set_status_from_info() and friends up
  BACKPORT: loop: Factor out configuring loop from status
  BACKPORT: loop: Remove figure_loop_size()
  BACKPORT: loop: Refactor loop_set_status() size calculation
  BACKPORT: loop: Factor out setting loop device size
  BACKPORT: loop: Remove sector_t truncation checks
  BACKPORT: loop: Call loop_config_discard() only after new config is applied
  qcacld-3.0: Flush pmksa cache for SAP when SAP stop
  Linux 4.14.193
  ARM: 8702/1: head-common.S: Clear lr before jumping to start_kernel()
  ext4: fix direct I/O read error
  random32: move the pseudo-random 32-bit definitions to prandom.h
  random32: remove net_rand_state from the latent entropy gcc plugin
  random: fix circular include dependency on arm64 after addition of percpu.h
  ARM: percpu.h: fix build error
  random32: update the net random state on interrupt and activity
  Revert "scsi: libsas: direct call probe and destruct"
  drivers: cpuidle: lpm-levels: check for valid LPM stats
  mhi: devices: mhi_netdev: Update napi poll weight to 128
  ipa3: mpm: remove WARN_ON for security concern
  sched: Improve the scheduler
  sched: Improve the scheduler
  sched/fair: bonus vruntime for task boost 3
  Sched/fair: Improve the scheduler
  Sched/fair: Improve the scheduler
  sched/walt: Avoid taking rq lock for every IRQ update
  sched/fair: Add timeout for detach_tasks() in load balance
  ANDROID: ARM64: configs: raphael: enable CONFIG_EXT4_FS_POSIX_ACL
  BACKPORT: disp: msm: dsi: Update pll delay calculation as per latest DSI HPG
  BACKPORT: disp: msm: dsi: Fix pll delay calculation during clock switch
  BACKPORT: disp: msm: dsi: Update dsi byte interface clock calculation
  drm: msm: phy-v3: Disable phy idle power collapse on poweron
  drm: msm: phy-v3: Add delay in ULPS exit on-command
  drm: msm: sde: workaround for miui like fod behaviour
  Revert "drm/msm/sde: fix topology lookup table when ctl version is used"
  Revert "drm/msm/dsi-staging: update PHY configuration to support cphy"
  Revert "drm/msm/dsi-staging: Add C-PHY support for phy ver 3.0"
  Revert "ANDROID: drivers base/arch_topology: avoid a stuck risk when cpufreq policy free"
  msm: gsi: disable debug driver
  msm: gsi: silence gsi_config_channel_mode logging
  techpack: silence some logging
  kernel: update build tools
  goodix_driver_gt9886: use async probing and suspend/resume
  sm8150: squash remove place_marker usage
  ARM64: configs: raphael: debloat and optimize
  ARM64: configs: raphael: switch back to 100hz timer frequency
  ARM64: configs: raphael: Always report stock kernel version to fsck.f2fs
  f2fs: Add support for reporting a fake kernel version to fsck
  dsi_panel: Do not explicitly enable ULPS mode during suspend
  ARM64: configs: raphael: sync for omit sublevel patch version
  Kconfig: omit sublevel patch version
  arm64/alternatives: move length validation inside the subsection
  arm64/alternatives: use subsections for replacement sequences
  Revert "FROMLIST: cpu: fix cache warnings when resuming from deep suspend"
  arm64: dts: pm8150: Switch to software debouncing for pon keys
  input: qpnp-power-on: Separate software debounce delay from hardware
  input: qpnp-power-on: Adapt software debounce to work for all keys
  arm64: dts: sm8150: Don't ratelimit userspace kmsg logging
  Revert "kbuild: Add support for LLVM's Polly optimizer"
  ARM64: configs: raphael: adjust cpusets
  ARM64: configs: raphael: Enable and configure cpuset assist
  cpufreq: schedutil: Expose default rate-limits as config options
  ARM64: configs: raphael: Configure optimal minimum CPU frequencies for sm8150
  cpufreq: Allow configuring default minimum frequencies in Kconfig
  cpufreq: Only block min freq setting for booster processes
  cpufreq: Kill userspace CPU boosting entirely
  cpufreq: squash revert cpu_input_boost support
  Linux 4.14.192
  x86/i8259: Use printk_deferred() to prevent deadlock
  KVM: LAPIC: Prevent setting the tscdeadline timer if the lapic is hw disabled
  xen-netfront: fix potential deadlock in xennet_remove()
  cxgb4: add missing release on skb in uld_send()
  x86/unwind/orc: Fix ORC for newly forked tasks
  Revert "i2c: cadence: Fix the hold bit setting"
  net: ethernet: ravb: exit if re-initialization fails in tx timeout
  parisc: add support for cmpxchg on u8 pointers
  nfc: s3fwrn5: add missing release on skb in s3fwrn5_recv_frame
  qed: Disable "MFW indication via attention" SPAM every 5 minutes
  usb: hso: Fix debug compile warning on sparc32
  arm64: csum: Fix handling of bad packets
  arm64/alternatives: move length validation inside the subsection
  mac80211: mesh: Free pending skb when destroying a mpath
  mac80211: mesh: Free ie data when leaving mesh
  bpf: Fix map leak in HASH_OF_MAPS map
  ibmvnic: Fix IRQ mapping disposal in error path
  mlxsw: core: Free EMAD transactions using kfree_rcu()
  mlxsw: core: Increase scope of RCU read-side critical section
  mlx4: disable device on shutdown
  net: lan78xx: fix transfer-buffer memory leak
  net: lan78xx: add missing endpoint sanity check
  sh: Fix validation of system call number
  selftests/net: rxtimestamp: fix clang issues for target arch PowerPC
  net/x25: Fix null-ptr-deref in x25_disconnect
  net/x25: Fix x25_neigh refcnt leak when x25 disconnect
  xfs: fix missed wakeup on l_flush_wait
  rds: Prevent kernel-infoleak in rds_notify_queue_get()
  x86, vmlinux.lds: Page-align end of ..page_aligned sections
  x86/build/lto: Fix truncated .bss with -fdata-sections
  9p/trans_fd: Fix concurrency del of req_list in p9_fd_cancelled/p9_read_work
  9p/trans_fd: abort p9_read_work if req status changed
  f2fs: check if file namelen exceeds max value
  f2fs: check memory boundary by insane namelen
  drm: hold gem reference until object is no longer accessed
  drm/amdgpu: Prevent kernel-infoleak in amdgpu_info_ioctl()
  ARM: 8986/1: hw_breakpoint: Don't invoke overflow handler on uaccess watchpoints
  wireless: Use offsetof instead of custom macro.
  PCI/ASPM: Disable ASPM on ASMedia ASM1083/1085 PCIe-to-PCI bridge
  x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit
  ath9k: release allocated buffer if timed out
  ath9k_htc: release allocated buffer if timed out
  iio: imu: adis16400: fix memory leak
  media: rc: prevent memory leak in cx23888_ir_probe
  crypto: ccp - Release all allocated memory if sha type is invalid
  net: phy: mdio-bcm-unimac: fix potential NULL dereference in unimac_mdio_probe()
  scsi: libsas: direct call probe and destruct
  Revert "clk: qcom: rcg2: Don't crash if our parent can't be found; return an error"
  Reverting crypto patches
  msm: ipa3: put ecm default as vlan in auto config
  ARM: dts: sa2150p: delete wlan related nodes for sa2150p target
  ARM: dts: sa2150p: override certain memory regions for sa2150p-nand
  serial: msm_geni_serial: Fix DMA RX FSM reset sequence
  Revert "Dm: init: Enable rootfs mount as dm-verity during boot without ramdisk"
  defconfig: Disable the arm cpuidle support for sdm429
  defconfig: msm: Add config fragment for DEBUG_FS disablement
  scripts: Consider env variables while running 'make'
  Documentation: devicetree: net: Add EMAC configuration options
  drivers: thermal: call TSENS re-init only when register is ready to update
  drivers: cpuidle: lpm-levels: check for valid LPM stats
  msm: camera: cci: Fix incorrect use of cci config ioctl
  kernel: squash revert dynamic stune boost patches
  Revert "exec: Do not block userspace writes when CPU_BOOST is enabled"
  power: smb1390: Fix taper condition for VPH configuration
  msm: ipa3: Fix to unmap sgt pages with correct size
  ARM: dts: sa515m: enable ssr and wake up sideband support
  ARM: dts: sa515m: correct sideband wakeup gpio numbers
  msm: ep_pcie: set irq flag to IRQF_EARLY_RESUME for PERST irq
  uapi: sound: add TTP pass through run mode command
  ARM: dts: msm: enable fuel gauge driver
  ARM: dts: msm: Enable default thermal zones and cooling devices for sdm429
  drm: msm: sde: Fix compile warnings
  drm/msm/sde: revert gcc compilation fix from yaro
  disp: msm: sde: modify setting of split_display flag
  drm/msm/sde: update multirect op to max for multirect mode
  drm/msm/sde: skip rsc client creation for external encoders
  drm/msm/sde: fix deadlock by connection_mutex
  drm/msm/sde: remove redundant connector cache list update
  drm/msm/sde: skip crtc atomic begin when active is false
  drm/msm/sde: fix topology lookup table when ctl version is used
  Linux 4.14.191
  xfs: set format back to extents if xfs_bmap_extents_to_btree
  regmap: debugfs: check count when read regmap file
  mm/page_owner.c: remove drain_all_pages from init_early_allocated_pages
  tcp: allow at most one TLP probe per flight
  rtnetlink: Fix memory(net_device) leak when ->newlink fails
  ip6_gre: fix null-ptr-deref in ip6gre_init_net()
  AX.25: Prevent integer overflows in connect and sendmsg
  rxrpc: Fix sendmsg() returning EPIPE due to recvmsg() returning ENODATA
  net: udp: Fix wrong clean up for IS_UDPLITE macro
  net-sysfs: add a newline when printing 'tx_timeout' by sysfs
  drivers/net/wan/x25_asy: Fix to make it work
  dev: Defer free of skbs in flush_backlog
  AX.25: Prevent out-of-bounds read in ax25_sendmsg()
  AX.25: Fix out-of-bounds read in ax25_connect()
  defconfig: sa2150p: Remove unwanted debug configs
  mhi: cntrl: qcom: Update the fw image name for new devices
  ARM: dts: msm: Add correct board name for SDX55 MTP Telematics AU DSDA
  drivers: qti-virtual-sensor: Add hexa cpu max virtual sensor for SDM429
  ARM: dts: msm: fix cx_cdev label size for SDM429W
  ARM: dts: msm: Add virtual display connector for sa8155
  ARM: dts: msm: Add virtual display connector for sa6155
  ARM: dts: msm: Add virtual display connector for sa8195
  usb: gadget: f_ipc: Increase max packet size to 24k
  ARM: dts: msm: Enable slimbus slave for SDMw429
  usb: gadget: f_ipc: Wait for req completion only when suspended
  Revert "ARM: dts: msm: add display related dt nodes on QCS410 device"
  clk: qcom: npucc: Update NPU Q6 frequency for ATOLL
  Revert "drm/msm/sde: use atomic counter for pending frame done"
  Revert "drm/msm/sde: support posted frame trigger for cmd mode"
  Revert "drm/msm/sde: delay reset frame by a frame for posted trigger"
  Revert "drm/msm/sde: add connector property for frame trigger mode"
  ARM: dts: msm: Configure "qcom,sync-dly" to 800us for SDM660
  backlight: qcom-wled: Add "qcom,sync-dly" device tree property
  usb: dwc3-msm: Set proper ssphy flag during peripheral bus suspend
  Revert "drm/msm/sde: avoid frame done event during autorefresh"
  Revert "drm/msm/sde: trigger frame done if ctl is idle"
  Revert "disp: msm: sde: use wr_ptr interrupt instead of ctl_start"
  Revert "disp: msm: sde: reset ctl during wr_ptr_irq timeout"
  Revert "disp: msm: sde: fix release fence signaling in error cases"
  Revert "disp: msm: sde: wait for specific pp_done instead of zero"
  Revert "disp: msm: sde: fix handling the missing pp-done interrupt cases"
  Revert "disp: msm: sde: avoid encoder power-collapse with pending frames"
  Revert "disp: msm: sde: handle another case for lost pp-done interrupt"
  Revert "disp: msm: sde: signal retire fence in wr_ptr timeout"
  Revert "disp: msm: sde: avoid multiple frame-done encoder events"
  Revert "drm/msm/dsi-staging: update dsi clock calculations"
  Revert "drm/msm/dsi-staging: update frame transfer time calculations"
  Revert "disp: msm: dsi: update dsi pclk in panel mode settings"
  Revert "dt-bindings: Add frame threshold property for dsi controller"
  Revert "ARM: dts: msm: update frame threshold time for atoll"
  Revert "drm/msm/sde: initialize sde_encoder_wait_info before usage"
  Revert "drm/msm/sde: avoid frame_done event trigger for idle scenario"
  Revert "drm/msm/sde: trigger single frame_done evt for vid encoder"
  coresight: cti: Add sys interface to show max trigger number
  ARM: dts: msm: Add memshare for sdm429
  rpmsg: qcom_glink_bgcom: Clean up the channels after SSR
  msm: qpnp-power-on: configure KPDPWR_N S2 for HARD_RESET at TWM entry
  dts: sdx: add support for tdm for sa515m card
  power: smb1398: Update win-uv threshold to 10mV
  power: battery: Fix use of uninitialized variable error
  power: smb1398: Do not disable FP_FET during IREV condition
  backlight: qcom-spmi-wled: Add "qcom,sync-dly" property
  defconfig: Enable FS related configs
  defconfig: Disable CRYPTO_MD4 config
  defconfig: For support api_30 kernel changes
  ARM: dts: msm: disable gpu_isdb cti for trinket
  ARM: dts: qcom: add video device tree entry for sdm429w
  net: qualcomm: rmnet: validate ipv6 extension header lengths
  msm: ais: Address index out of bounds
  msm: mhi_dev: allocate high priority Workqueue for mhi_sm_wq
  binder: fix braces warning in binderfs
  usb: host: xhci: update event ring dequeue pointer on purpose
  drivers: soc: rename block device nodes
  iommu/arm-smmu: Do not write to slave side protected context banks
  i2c: i2c-qcom-geni: Reinitialize the variables after every transfer
  clk: qcom: mdss: Add check to read the gdsc status
  drm/msm/sde: trigger single frame_done evt for vid encoder
  drm/msm/sde: avoid frame_done event trigger for idle scenario
  drm/msm/sde: initialize sde_encoder_wait_info before usage
  ARM: dts: msm: Add UFS support for kdump kernel on sa8155
  iio: adc: Add channels AMUX1 and AMUX3 for voltage reading
  msm: ADSPRPC: Size check before allocating memory from DMA
  usb: dwc3-msm: Add markers for peripheral bus resume
  sched/walt: Improve the scheduler
  Reverting incremental fs changes
  drivers: soc: sdx_ext_ipc: Fix devm_request_threaded_irq call
  Reverting crypto and incrementalfs changes
  diag: Update event and log code ranges
  ARM: dts: msm: Update ADC channels for SA2150P based CCARD
  PCI: Add PCIe quirks for PCIe root port
  ARM: dts: msm: Update mpss_adsp carved memory for sa515m cdp
  ARM: dts: msm: enable usb suspend function in host mode
  usb: dwc3-msm: Add markers for peripheral bus resume
  msm: vidc: fix deadlock between queue and flush buffer handling
  ARM: dts: msm: Add uart support for kdump kernel on sa8155
  sx150x-pinctrl: Avoid i2c transfer during kexec
  ARM: dts: msm: Add and enable Tj based modem_v2x mitigation for SA515
  drivers: thermal: qmi_cooling: Add support for modem_v2x cooling device
  arm: dts: qcom: add tz_apps and qseecom
  mhi: core: Error handling for pending packets in mission_mode
  msm: kgsl: Fix possible use-after-free while adding context to active list
  ARM: dts: msm: add support for SMP2P shutdown ack from modem
  ARM: dts: msm: Update mpss_adsp carved memory for sa515m cdp
  ARM: dts: msm: add hs uart node for BT on QCS410 device
  ARM: dts: msm: Add mem_dump and RTB node for sdm429
  defconfig: sdm429: Add configs related to DCVS and scheduler
  ARM : dts: msm: Add DCVS and sched nodes
  msm: ADSPRPC: Map and FD non-NULL check before dereferencing
  platform: msm: qcom-geni-se: Correct print statement format
  net: stmmac: Add check for micrel phy for phy interrupt
  defconfig: sdmshrike: use uncompressed linux kernel
  soc: qcom: hab: fix some issues in the remote open cancelling case
  ARM: dts: qcom: Add system secure ion heap for Quin GVM
  wcnss: Enable smd channel ready
  ARM: dts: msm8916: Update reserved-memory for wcnss, venus and mba
  defconfig: Enable Incremental FS support
  net: stmmac: Fixed autoneg disable issue
  ubifs: Fix deadlock in concurrent bulk-read and writepage
  spi: spi-geni-qcom: Return error if setup transfer fails
  mhi: core: do not toggle PCIe low power mode in sleeping context
  msm: ais: remove unnecessary writing to csid rdi cfg0 register
  cfg80211: Indicate backport support for sband iftype data
  ARM: dts: qcom: add display nodes for SDA429w devices
  drm/msm/dsi-staging: fix t_clk_pre in high dsi clock use case
  init: early_services: get status after launching early services
  ARM: dts: msm: Add DVT-2 support for APQ hardware
  dt-bindings: add clock_pre extend enable panel property
  usb: phy: snps: Enable auto-resume during host mode bus suspend
  ARM: dts: msm: Add core/core2x clk for SSC QUP
  usb: misc: mdm_data_bridge: Add missing check for single interface
  net: stmmac: Add check for  HWTSTAMP_FILTER_ALL filter
  msm: ais: add ais isp trace
  ARM: msm: dts: set skip-panel-reset for AUO 416p panel
  video: fbdev: msm: add skip-panel-reset dt property
  power: smb5-lib: Report the CURRENT_MAX as 1A in CC-mode
  soc: qcom: bgcom: Use shared_ee property for spi
  ARM: dts: msm: Add shared_ee property to bg spi node
  ARM: dts: msm: Add MHI and PCIe configuration
  video: fbdev: msm: add interface to send idle on/off command to panel
  msm: ipa3: Support uc header proc ctx for DSCP insertion
  usb: gadget: f_ipc: Add support of sideband notifier call chain
  msm: ipa: send the endp_desc QMI for low_lat only on non-auto mode
  ARM: dts: msm: update modem Tj thermal zone trips for SA515
  usb: gadget: f_gsi: Increase num of buffers to 50 for ECM
  fw-api: CL 11046353 - update fw common interface files
  Release 5.2.03.29I
  fw-api: CL 11039524 - update fw common interface files
  fw-api: CL 11034593 - update fw common interface files
  fw-api: CL 11025894 - update fw common interface files
  fw-api: CL 11024688 - update fw common interface files
  fw-api: CL 11019489 - update fw common interface files
  fw-api: CL 11006718 - update fw common interface files
  fw-api: CL 10992505 - update fw common interface files
  fw-api: CL 10972934 - update fw common interface files
  fw-api: CL 10966184 - update fw common interface files
  qcacmn: Send vdev param NAN_CONFIG_FEATURES after creating vdev
  qcacld-3.0: Send vdev param NAN_CONFIG_FEATURES after creating vdev
  usb: gadget: handle bam setup and cleanup for mbim in u_bam_dmux
  Release 5.2.03.29H
  qcacld-3.0: Limit the number of times get_tx_power can come
  Release 5.2.03.29G
  qcacld-3.0: Fix Mlme info updating in connected BSS in scan
  UPSTREAM: ath10k: Fix encoding for protected management frames
  UPSTREAM: ath10k: Fix length of wmi tlv command for protected mgmt frames
  UPSTREAM: ath10k: Add peer delete response event
  UPSTREAM: ath10k: wait for vdev delete response from firmware
  UPSTREAM: ath10k: Add wmi tlv service map for mesh 11s
  UPSTREAM: ath10k: update GCMP & GCMP-256 cipher suite number for WCN3990
  UPSTREAM: ath10k: assign 'n_cipher_suites = 11' for WCN3990 to enable WPA3
  UPSTREAM: ath10k: assign 'n_cipher_suites' for WCN3990
  UPSTREAM: ath10k: Add wmi tlv vdev subtype for mesh in WCN3990
  Release 5.2.03.29F
  qcacld-3.0: Fix pm_qos update logic
  qcacld-3.0: CPU mask not set for affine cores on init
  UPSTREAM: mac80211: add missing WFA Multi-AP backhaul STA Rx requirement
  Release 5.2.03.29E
  qcacld-3.0: Update pm_qos request only if vote or tx or rx level changes
  qcacmn: Define QDF API for cpumask abstraction
  qcacmn: Add QDF API to set thread cpu mask
  qcacmn: Add vdev param to configure NAN feature bitmap to firmware
  Release 5.2.03.29D
  qcacld-3.0: Ini bitmap to enable/disable a particular NAN feature
  msm: sps: Assign proper BAM destination values
  Release 5.2.03.29C
  usb: u_ether: Add null pointer check for sk_buff in eth_start_xmit
  qcacmn: Invoke correct api to convert channel to frequency
  qcacmn: Make freq to chan and vice versa conversion more generic
  qcacld-3.0: Allocate required memory for skb and radiotap
  qcacmn: Fix OOB issue in wlan_parse_rsn_ie
  kheaders: include only headers into kheaders_data.tar.xz
  kheaders: remove meaningless -R option of 'ls'
  msm: camera: Fix KW issues
  ARM: dts: msm: Change smem host id for gvm la
  soc: qcom: smem: Increase total host number
  Release 5.2.03.29B
  qcacld-3.0: Change the RX thread policy for qcs40x soc
  kgsl: Parse secure mapping size from dts
  ANDROID: cuttlefish_defconfig: Drop built-in cmdline
  Release 5.2.03.29A
  qcacld-3.0: Change the policy & priority of RX thread
  Release 5.2.03.29
  ARM: dts: msm: Disable GPU mempools for QCS610 IoT
  qcacld-3.0: Add handler for WMI_VDEV_BCN_LATENCY_EVENTID
  Release 5.2.03.28Z
  asoc: Add digital mute callback function for cdc dma
  qcacld-3.0: Remove unnecessary clone of skb
  usb: host: xhci: Increase number of event ring segments to 4
  fw-api: CL 10917877 - update fw common interface files
  fw-api: CL 10899787 - update fw common interface files
  fw-api: CL 10894153 - update fw common interface files
  fw-api: CL 10878097 - update fw common interface files
  fw-api: CL 10874626 - update fw common interface files
  fw-api: CL 10864082 - update fw common interface files
  fw-api: CL 10859209 - update fw common interface files
  qcacmn: Add support for WMI_VDEV_BCN_LATENCY event
  soc: qcom: bgcom: use pm_runtime_status_suspended of spi
  net: usb: Initialize retval with zero as it might be used uninitialized
  qcacmn: fix format specifier in qdf_dpt_dump_stats_debugfs
  Release 5.2.03.28Y
  qcacld-3.0: initialize peer hang_data in recovery_notifier_cb
  Release 5.2.03.28X
  qcacld-3.0: Add reference when access vdev
  Release 5.2.03.28W
  qcacld-3.0: Fix assert in sme_store_nss_chains_cfg
  ASoC: bolero: Resolve glitch during amic record
  ARM: dts: msm: update frame threshold time for atoll
  dt-bindings: Add frame threshold property for dsi controller
  disp: msm: dsi: update dsi pclk in panel mode settings
  drm/msm/dsi-staging: update frame transfer time calculations
  drm/msm/dsi-staging: update dsi clock calculations
  exfat: version 5.8-2arter97
  exfat: limit supported kernel versions via macro
  exfat: fix sanity-checks on allow_utime and discard mount options
  exfat: flush dirty metadata in fsync
  exfat: move setting VOL_DIRTY over exfat_remove_entries()
  exfat: call sync_filesystem for read-only remount
  exfat: add missing brelse() calls on error paths
  exfat: Set the unused characters of FileName field to the value 0000h
  exfat: debian: comply to debian policy for upstream_version
  msm: adsprpc: Race conditions when handling the ADSP SSR
  disp: msm: sde: avoid multiple frame-done encoder events
  disp: msm: sde: signal retire fence in wr_ptr timeout
  disp: msm: sde: handle another case for lost pp-done interrupt
  disp: msm: sde: avoid encoder power-collapse with pending frames
  disp: msm: sde: fix handling the missing pp-done interrupt cases
  disp: msm: sde: wait for specific pp_done instead of zero
  disp: msm: sde: fix release fence signaling in error cases
  disp: msm: sde: reset ctl during wr_ptr_irq timeout
  exfat: version 5.8-1arter97
  exfat: update README for new base
  exfat: import README.md from master
  exfat: debian: install a Kbuild file, improve installation
  exfat: add Ubuntu DKMS configuration
  exfat: set custom version
  exfat: add virtual xattr support for Android
  exfat: implement "quiet" option for setattr
  exfat: include exfat_raw.h to exfat_fs.h
  exfat: handle older kernels with different getattr() vfs interface
  exfat: handle older kernels without SB_* renamed flags
  exfat: handle kernel versions without exported iversion.h
  exfat: use sops->free_inode only on v5.2+
  exfat: guard timestamp range support
  exfat: add an empty compat.h
  exfat: remove use of fs_parser
  exfat: add gitignore
  exfat: allow building externally
  Add GPL 2.0 license
  exfat: Fix potential use after free in exfat_load_upcase_table()
  exfat: fix range validation error in alloc and free cluster
  exfat: fix incorrect update of stream entry in __exfat_truncate()
  exfat: fix memory leak in exfat_parse_param()
  exfat: remove unnecessary reassignment of p_uniname->name_len
  exfat: standardize checksum calculation
  exfat: add boot region verification
  exfat: separate the boot sector analysis
  exfat: redefine PBR as boot_sector
  exfat: optimize dir-cache
  exfat: replace 'time_ms' with 'time_cs'
  exfat: remove the assignment of 0 to bool variable
  exfat: Remove unused functions exfat_high_surrogate() and exfat_low_surrogate()
  exfat: Simplify exfat_utf8_d_hash() for code points above U+FFFF
  exfat: Improve wording of EXFAT_DEFAULT_IOCHARSET config option
  exfat: Use a more common logging style
  exfat: Simplify exfat_utf8_d_cmp() for code points above U+FFFF
  exfat: add the dummy mount options to be backward compatible with staging/exfat
  exfat: fix possible memory leak in exfat_find()
  exfat: use iter_file_splice_write
  exfat: truncate atimes to 2s granularity
  exfat: properly set s_time_gran
  exfat: remove 'bps' mount-option
  exfat: Unify access to the boot sector
  exfat: add missing MODULE_ALIAS_FS()
  exfat: Fix discard support
  exfat: update file system parameter handling
  exfat: add Kconfig and Makefile
  exfat: add nls operations
  exfat: add misc operations
  exfat: add exfat cache
  exfat: add bitmap operations
  exfat: add fat entry operations
  exfat: add file operations
  exfat: add directory operations
  exfat: add inode operations
  exfat: add super block operations
  exfat: add in-memory and on-disk structures and headers
  disp: msm: sde: use wr_ptr interrupt instead of ctl_start
  drm/msm/sde: trigger frame done if ctl is idle
  drm/msm/sde: avoid frame done event during autorefresh
  drm/msm/sde: add connector property for frame trigger mode
  drm/msm/sde: delay reset frame by a frame for posted trigger
  drm/msm/sde: support posted frame trigger for cmd mode
  drm/msm/sde: use atomic counter for pending frame done
  ASoC: bolero: Fix higher btn press noise issue
  audio-kernel: add proxy ports for call screening in machine driver
  asoc: add code change for proxy playback and capture BE DAIs.
  usb: pd: Correctly handle SVDM versions
  ANDROID: arm64: vdso: wrap -n in ld-option
  BACKPORT: arm64: vdso: Explicitly add build-id option
  BACKPORT: arm64: vdso: use $(LD) instead of $(CC) to link VDSO
  ANDROID: cuttlefish defconfig - enable mount/net/uts namespaces.
  ANDROID: net: bpf: permit redirect from ingress L3 to egress L2 devices at near max mtu
  UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage
  ANDROID: cuttlefish_defconfig: Fix dm-verity related options
  BACKPORT: loop: Add LOOP_SET_BLOCK_SIZE in compat ioctl
  BACKPORT: loop: change queue block size to match when using DIO
  ANDROID: cuttlefish_defconfig: Minimally enable EFI
  UPSTREAM: loop: Only freeze block queue when needed.
  UPSTREAM: loop: Only change blocksize when needed.
  UPSTREAM: ipv6: ndisc: add support for 'PREF64' dns64 prefix identifier
  ANDROID: dm-bow: Fix free_show value is incorrect
  UPSTREAM: bpf: Explicitly memset some bpf info structures declared on the stack
  UPSTREAM: bpf: Explicitly memset the bpf_attr structure
  UPSTREAM: binder: fix incorrect calculation for num_valid
  UPSTREAM: sched/psi: Fix OOB write when writing 0 bytes to PSI files
  UPSTREAM: psi: Fix a division error in psi poll()
  UPSTREAM: sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime
  UPSTREAM: sched/psi: Correct overly pessimistic size calculation
  ANDROID: net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head

Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 19:30:29 +05:30
Sultan Alsawaf
1237497eba kernel: Boost whenever a zygote-forked process becomes a top app
Boost the CPU to the max for 1000 ms whenever the top app changes, which
improves app launch speeds and addresses jitter when switching between
apps. A check to make sure that the top-app's parent is zygote ensures
that a user-facing app is indeed what's added to the top app task group,
since app processes are forked from zygote.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 19:02:29 +05:30
Sultan Alsawaf
ab25cbf8fb kernel: Boost to the max for when zygote forks
In order to boost during the period from when a new app is forked to the
time that it is added to the top-app cpuset (which is a signal to
subsequently boost again), boost for a short amount of time when zygote
forks. Not all processes forked from zygote are top apps, hence the
decoupled boosting setup.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 19:02:29 +05:30
Mel Gorman
3a5e34f19b mm: remove __GFP_COLD
As the page free path makes no distinction between cache hot and cold
pages, there is no real useful ordering of pages in the free list that
allocation requests can take advantage of.  Juding from the users of
__GFP_COLD, it is likely that a number of them are the result of copying
other sites instead of actually measuring the impact.  Remove the
__GFP_COLD parameter which simplifies a number of paths in the page
allocator.

This is potentially controversial but bear in mind that the size of the
per-cpu pagelists versus modern cache sizes means that the whole per-cpu
list can often fit in the L3 cache.  Hence, there is only a potential
benefit for microbenchmarks that alloc/free pages in a tight loop.  It's
even worse when THP is taken into account which has little or no chance
of getting a cache-hot page as the per-cpu list is bypassed and the
zeroing of multiple pages will thrash the cache anyway.

The truncate microbenchmarks are not shown as this patch affects the
allocation path and not the free path.  A page fault microbenchmark was
tested but it showed no sigificant difference which is not surprising
given that the __GFP_COLD branches are a miniscule percentage of the
fault path.

Link: http://lkml.kernel.org/r/20171018075952.10627-9-mgorman@techsingularity.net
Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
[UtsavBalar1231: port to 4.14]
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:55 +05:30
Kees Cook
3592eba0e6 treewide: Use array_size() in vzalloc()
The vzalloc() function has no 2-factor argument form, so multiplication
factors need to be wrapped in array_size(). This patch replaces cases of:

        vzalloc(a * b)

with:
        vzalloc(array_size(a, b))

as well as handling cases of:

        vzalloc(a * b * c)

with:

        vzalloc(array3_size(a, b, c))

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

        vzalloc(4 * 1024)

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.

The Coccinelle script used for this was:

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

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

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

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

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

(
  vzalloc(
-	sizeof(TYPE) * (COUNT_ID)
+	array_size(COUNT_ID, sizeof(TYPE))
  , ...)
|
  vzalloc(
-	sizeof(TYPE) * COUNT_ID
+	array_size(COUNT_ID, sizeof(TYPE))
  , ...)
|
  vzalloc(
-	sizeof(TYPE) * (COUNT_CONST)
+	array_size(COUNT_CONST, sizeof(TYPE))
  , ...)
|
  vzalloc(
-	sizeof(TYPE) * COUNT_CONST
+	array_size(COUNT_CONST, sizeof(TYPE))
  , ...)
|
  vzalloc(
-	sizeof(THING) * (COUNT_ID)
+	array_size(COUNT_ID, sizeof(THING))
  , ...)
|
  vzalloc(
-	sizeof(THING) * COUNT_ID
+	array_size(COUNT_ID, sizeof(THING))
  , ...)
|
  vzalloc(
-	sizeof(THING) * (COUNT_CONST)
+	array_size(COUNT_CONST, sizeof(THING))
  , ...)
|
  vzalloc(
-	sizeof(THING) * COUNT_CONST
+	array_size(COUNT_CONST, sizeof(THING))
  , ...)
)

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

  vzalloc(
-	SIZE * COUNT
+	array_size(COUNT, SIZE)
  , ...)

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

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

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

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

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

(
  vzalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vzalloc(
-	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 E1, E2, E3;
constant C1, C2, C3;
@@

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

// And then all remaining 2 factors products when they're not all constants.
@@
expression E1, E2;
constant C1, C2;
@@

(
  vzalloc(C1 * C2, ...)
|
  vzalloc(
-	E1 * E2
+	array_size(E1, E2)
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:54 +05:30
Kees Cook
f0a8bd5618 treewide: Use array_size() in vmalloc()
The vmalloc() function has no 2-factor argument form, so multiplication
factors need to be wrapped in array_size(). This patch replaces cases of:

        vmalloc(a * b)

with:
        vmalloc(array_size(a, b))

as well as handling cases of:

        vmalloc(a * b * c)

with:

        vmalloc(array3_size(a, b, c))

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

        vmalloc(4 * 1024)

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.

The Coccinelle script used for this was:

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

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

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

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

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

(
  vmalloc(
-	sizeof(TYPE) * (COUNT_ID)
+	array_size(COUNT_ID, sizeof(TYPE))
  , ...)
|
  vmalloc(
-	sizeof(TYPE) * COUNT_ID
+	array_size(COUNT_ID, sizeof(TYPE))
  , ...)
|
  vmalloc(
-	sizeof(TYPE) * (COUNT_CONST)
+	array_size(COUNT_CONST, sizeof(TYPE))
  , ...)
|
  vmalloc(
-	sizeof(TYPE) * COUNT_CONST
+	array_size(COUNT_CONST, sizeof(TYPE))
  , ...)
|
  vmalloc(
-	sizeof(THING) * (COUNT_ID)
+	array_size(COUNT_ID, sizeof(THING))
  , ...)
|
  vmalloc(
-	sizeof(THING) * COUNT_ID
+	array_size(COUNT_ID, sizeof(THING))
  , ...)
|
  vmalloc(
-	sizeof(THING) * (COUNT_CONST)
+	array_size(COUNT_CONST, sizeof(THING))
  , ...)
|
  vmalloc(
-	sizeof(THING) * COUNT_CONST
+	array_size(COUNT_CONST, sizeof(THING))
  , ...)
)

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

  vmalloc(
-	SIZE * COUNT
+	array_size(COUNT, SIZE)
  , ...)

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

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

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

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

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

(
  vmalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  vmalloc(
-	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 E1, E2, E3;
constant C1, C2, C3;
@@

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

// And then all remaining 2 factors products when they're not all constants.
@@
expression E1, E2;
constant C1, C2;
@@

(
  vmalloc(C1 * C2, ...)
|
  vmalloc(
-	E1 * E2
+	array_size(E1, E2)
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:54 +05:30
Kees Cook
99d27d6fb6 treewide: kzalloc_node() -> kcalloc_node()
The kzalloc_node() function has a 2-factor argument form, kcalloc_node(). This
patch replaces cases of:

        kzalloc_node(a * b, gfp, node)

with:
        kcalloc_node(a * b, gfp, node)

as well as handling cases of:

        kzalloc_node(a * b * c, gfp, node)

with:

        kzalloc_node(array3_size(a, b, c), gfp, node)

as it's slightly less ugly than:

        kcalloc_node(array_size(a, b), c, gfp, node)

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

        kzalloc_node(4 * 1024, gfp, node)

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.

The Coccinelle script used for this was:

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

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

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

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

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

(
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

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

- kzalloc_node
+ kcalloc_node
  (
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

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

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

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

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

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

(
  kzalloc_node(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc_node(
-	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 E1, E2, E3;
constant C1, C2, C3;
@@

(
  kzalloc_node(C1 * C2 * C3, ...)
|
  kzalloc_node(
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc_node(
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc_node(
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc_node(
-	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 THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  kzalloc_node(sizeof(THING) * C2, ...)
|
  kzalloc_node(sizeof(TYPE) * C2, ...)
|
  kzalloc_node(C1 * C2 * C3, ...)
|
  kzalloc_node(C1 * C2, ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	(E1) * E2
+	E1, E2
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- kzalloc_node
+ kcalloc_node
  (
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:53 +05:30
Kees Cook
41b77821cf treewide: kzalloc() -> kcalloc()
The kzalloc() function has a 2-factor argument form, kcalloc(). This
patch replaces cases of:

        kzalloc(a * b, gfp)

with:
        kcalloc(a * b, gfp)

as well as handling cases of:

        kzalloc(a * b * c, gfp)

with:

        kzalloc(array3_size(a, b, c), gfp)

as it's slightly less ugly than:

        kzalloc_array(array_size(a, b), c, gfp)

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

        kzalloc(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.

The Coccinelle script used for this was:

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

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

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

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

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

(
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

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

- kzalloc
+ kcalloc
  (
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

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

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

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

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

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

(
  kzalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kzalloc(
-	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 E1, E2, E3;
constant C1, C2, C3;
@@

(
  kzalloc(C1 * C2 * C3, ...)
|
  kzalloc(
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  kzalloc(
-	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 THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  kzalloc(sizeof(THING) * C2, ...)
|
  kzalloc(sizeof(TYPE) * C2, ...)
|
  kzalloc(C1 * C2 * C3, ...)
|
  kzalloc(C1 * C2, ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- kzalloc
+ kcalloc
  (
-	(E1) * E2
+	E1, E2
  , ...)
|
- kzalloc
+ kcalloc
  (
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- kzalloc
+ kcalloc
  (
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:52 +05:30
Kees Cook
88739c4879 treewide: kmalloc() -> kmalloc_array()
The kmalloc() function has a 2-factor argument form, kmalloc_array(). This
patch replaces cases of:

        kmalloc(a * b, gfp)

with:
        kmalloc_array(a * b, gfp)

as well as handling cases of:

        kmalloc(a * b * c, gfp)

with:

        kmalloc(array3_size(a, b, c), gfp)

as it's slightly less ugly than:

        kmalloc_array(array_size(a, b), c, gfp)

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

        kmalloc(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.

The tools/ directory was manually excluded, since it has its own
implementation of kmalloc().

The Coccinelle script used for this was:

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

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

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

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

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

(
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * (COUNT_ID)
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * COUNT_ID
+	COUNT_ID, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * (COUNT_CONST)
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * COUNT_CONST
+	COUNT_CONST, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * (COUNT_ID)
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * COUNT_ID
+	COUNT_ID, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * (COUNT_CONST)
+	COUNT_CONST, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * COUNT_CONST
+	COUNT_CONST, sizeof(THING)
  , ...)
)

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

- kmalloc
+ kmalloc_array
  (
-	SIZE * COUNT
+	COUNT, SIZE
  , ...)

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

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

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

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

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

(
  kmalloc(
-	(COUNT) * STRIDE * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	(COUNT) * (STRIDE) * SIZE
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	COUNT * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	(COUNT) * STRIDE * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	(COUNT) * (STRIDE) * (SIZE)
+	array3_size(COUNT, STRIDE, SIZE)
  , ...)
|
  kmalloc(
-	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 E1, E2, E3;
constant C1, C2, C3;
@@

(
  kmalloc(C1 * C2 * C3, ...)
|
  kmalloc(
-	(E1) * E2 * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kmalloc(
-	(E1) * (E2) * E3
+	array3_size(E1, E2, E3)
  , ...)
|
  kmalloc(
-	(E1) * (E2) * (E3)
+	array3_size(E1, E2, E3)
  , ...)
|
  kmalloc(
-	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 THING, E1, E2;
type TYPE;
constant C1, C2, C3;
@@

(
  kmalloc(sizeof(THING) * C2, ...)
|
  kmalloc(sizeof(TYPE) * C2, ...)
|
  kmalloc(C1 * C2 * C3, ...)
|
  kmalloc(C1 * C2, ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * (E2)
+	E2, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(TYPE) * E2
+	E2, sizeof(TYPE)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * (E2)
+	E2, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	sizeof(THING) * E2
+	E2, sizeof(THING)
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	(E1) * E2
+	E1, E2
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	(E1) * (E2)
+	E1, E2
  , ...)
|
- kmalloc
+ kmalloc_array
  (
-	E1 * E2
+	E1, E2
  , ...)
)

Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:52 +05:30
Kees Cook
0f37f111de 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>
Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-17 18:55:51 +05:30
Sultan Alsawaf
8da7ea0182 kernel: Warn when an IRQ's affinity notifier gets overwritten
An IRQ affinity notifier getting overwritten can point to some annoying
issues which need to be resolved, like multiple pm_qos objects being
registered to the same IRQ. Print out a warning when this happens to aid
debugging.

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-16 23:24:49 +05:30
Sultan Alsawaf
99e0da6885 kernel: Only set one CPU in the default IRQ affinity mask
On ARM, IRQs are executed on the first CPU inside the affinity mask, so
setting an affinity mask with more than one CPU set is deceptive and
causes issues with pm_qos. To fix this, only set the CPU0 bit inside the
affinity mask, since that's where IRQs will run by default.

This is a follow-up to "kernel: Don't allow IRQ affinity masks to have
more than one CPU".

Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-16 23:24:48 +05:30
celtare21
2c193c9897 Revert "genirq: Add default affinity mask command line option"
This reverts commit fbf198030e.

Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-16 23:24:47 +05:30
celtare21
3d69d24640 Revert "irq/core: Fix boot crash when the irqaffinity= boot parameter is passed on CPUMASK_OFFSTACK=y kernels(v1)"
This reverts commit 07a1c2d113.

Signed-off-by: celtare21 <celtare21@gmail.com>
Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.com>
2020-08-16 23:24:47 +05:30