Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e5107f0 authored by Ivaylo Georgiev's avatar Ivaylo Georgiev
Browse files

Merge android-4.19-q.73 (8feec99e) into msm-4.19



* refs/heads/tmp-8feec99e:
  Documentation: devicetree: Remove Exynos bindings from kernel
  Documentation: devicetree: Remove Armadeus bindings from kernel
  Revert "dt-bindings: mmc: Add supports-cqe property"
  Revert "dt-bindings: mmc: Add disable-cqe-dcmd property."
  Linux 4.19.73
  vhost: make sure log_num < in_num
  powerpc/tm: Fix restoring FP/VMX facility incorrectly on interrupts
  powerpc/tm: Remove msr_tm_active()
  PCI: Reset both NVIDIA GPU and HDA in ThinkPad P50 workaround
  ext4: unsigned int compared against zero
  ext4: fix block validity checks for journal inodes using indirect blocks
  ext4: don't perform block validity checks on the journal inode
  drm/atomic_helper: Allow DPMS On<->Off changes for unregistered connectors
  virtio/s390: fix race on airq_areas[]
  drm/i915: Make sure cdclk is high enough for DP audio on VLV/CHV
  bcache: fix race in btree_flush_write()
  bcache: add comments for mutex_lock(&b->write_lock)
  bcache: only clear BTREE_NODE_dirty bit when it is set
  NFSv4: Fix delegation state recovery
  iio: adc: gyroadc: fix uninitialized return code
  mm/migrate.c: initialize pud_entry in migrate_vma()
  i2c: at91: fix clk_offset for sama5d2
  i2c: at91: disable TXRDY interrupt after sending data
  gpio: don't WARN() on NULL descs if gpiolib is disabled
  iommu/iova: Remove stale cached32_node
  powerpc/mm: Limit rma_size to 1TB when running without HV mode
  ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips
  drm/panel: Add support for Armadeus ST0700 Adapt
  dm thin metadata: check if in fail_io mode when setting needs_check
  pstore: Fix double-free in pstore_mkfile() failure path
  resource: fix locking in find_next_iomem_res()
  resource: Fix find_next_iomem_res() iteration issue
  resource: Include resource end in walk_*() interfaces
  btrfs: correctly validate compression type
  RDMA/srp: Accept again source addresses that do not have a port number
  RDMA/srp: Document srp_parse_in() arguments
  ARM: dts: gemini: Set DIR-685 SPI CS as active low
  KVM: PPC: Book3S HV: Fix CR0 setting in TM emulation
  KVM: PPC: Use ccr field in pt_regs struct embedded in vcpu struct
  KVM: VMX: check CPUID before allowing read/write of IA32_XSS
  KVM: VMX: Fix handling of #MC that occurs during VM-Entry
  KVM: VMX: Always signal #GP on WRMSR to MSR_IA32_CR_PAT with bad value
  KVM: x86: optimize check for valid PAT value
  ceph: use ceph_evict_inode to cleanup inode's resource
  ALSA: hda - Don't resume forcibly i915 HDMI/DP codec
  cifs: Properly handle auto disabling of serverino option
  scsi: zfcp: fix request object use-after-free in send path causing wrong traces
  staging: wilc1000: fix error path cleanup in wilc_wlan_initialize()
  scsi: target/iblock: Fix overrun in WRITE SAME emulation
  scsi: target/core: Use the SECTOR_SHIFT constant
  apparmor: reset pos on failure to unpack for various functions
  IB/hfi1: Avoid hardlockup with flushlist_lock
  clk: tegra210: Fix default rates for HDA clocks
  clk: tegra: Fix maximum audio sync clock for Tegra124/210
  cifs: add spinlock for the openFileList to cifsInodeInfo
  Btrfs: fix race between block group removal and block group allocation
  drm/amdgpu/{uvd,vcn}: fetch ring's read_ptr after alloc
  drm/amdgpu: fix ring test failure issue during s3 in vce 3.0 (V2)
  kvm: Check irqchip mode before assign irqfd
  drm/amdkfd: Add missing Polaris10 ID
  ARC: mm: SIGSEGV userspace trying to access kernel virtual memory
  ARC: mm: fix uninitialised signal code in do_page_fault
  signal/arc: Use force_sig_fault where appropriate
  dm crypt: move detailed message into debug level
  cifs: smbd: take an array of reqeusts when sending upper layer data
  PCI: dwc: Use devm_pci_alloc_host_bridge() to simplify code
  mmc: sdhci-pci: Add support for Intel CML
  blk-mq: free hw queue's resource in hctx's release handler
  dm mpath: fix missing call of path selector type->end_io
  PCI: Reset Lenovo ThinkPad P50 nvgpu at boot if necessary
  PCI: Add macro for Switchtec quirk declarations
  dt-bindings: mmc: Add disable-cqe-dcmd property.
  dt-bindings: mmc: Add supports-cqe property
  ARM: dts: qcom: ipq4019: enlarge PCIe BAR range
  ARM: dts: qcom: ipq4019: Fix MSI IRQ type
  ARM: dts: qcom: ipq4019: fix PCI range
  ext4: protect journal inode's blocks using block_validity
  media: i2c: tda1997x: select V4L2_FWNODE
  cifs: Fix lease buffer length error
  KVM: x86: Always use 32-bit SMRAM save state for 32-bit kernels
  x86/kvm: move kvm_load/put_guest_xcr0 into atomic context
  kvm: mmu: Fix overflow on kvm mmu page limit calculation
  IB/mlx5: Reset access mask when looping inside page fault handler
  arm64: dts: stratix10: add the sysmgr-syscon property from the gmac's
  usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps
  drm/i915: Sanity check mmap length against object size
  drm/i915: Handle vm_mmap error during I915_GEM_MMAP ioctl with WC set
  CIFS: Fix leaking locked VFS cache pages in writeback retry
  CIFS: Fix error paths in writeback code
  drm: add __user attribute to ptr_to_compat()
  PCI: qcom: Don't deassert reset GPIO during probe
  PCI: qcom: Fix error handling in runtime PM support
  btrfs: init csum_list before possible free
  btrfs: scrub: fix circular locking dependency warning
  btrfs: scrub: move scrub_setup_ctx allocation out of device_list_mutex
  btrfs: scrub: pass fs_info to scrub_setup_ctx
  mmc: renesas_sdhi: Fix card initialization failure in high speed mode
  powerpc/kvm: Save and restore host AMR/IAMR/UAMOR
  spi: spi-gpio: fix SPI_CS_HIGH capability
  x86/kvmclock: set offset for kvm unstable clock
  iwlwifi: add new card for 9260 series
  iwlwifi: fix devices with PCI Device ID 0x34F0 and 11ac RF modules
  drm/nouveau: Don't WARN_ON VCPI allocation failures
  mt76: fix corrupted software generated tx CCMP PN
  iio: adc: exynos-adc: Use proper number of channels for Exynos4x12
  dt-bindings: iio: adc: exynos-adc: Add S5PV210 variant
  iio: adc: exynos-adc: Add S5PV210 variant
  KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run
  bcache: treat stale && dirty keys as bad keys
  bcache: replace hard coded number with BUCKET_GC_GEN_MAX
  tpm: Fix some name collisions with drivers/char/tpm.h
  mfd: Kconfig: Fix I2C_DESIGNWARE_PLATFORM dependencies
  drm/i915/ilk: Fix warning when reading emon_status with no output
  drm/vblank: Allow dynamic per-crtc max_vblank_count
  crypto: ccree - add missing inline qualifier
  crypto: ccree - fix resume race condition on init
  IB/uverbs: Fix OOPs upon device disassociation
  ARC: mm: do_page_fault fixes #1: relinquish mmap_sem if signal arrives while handle_mm_fault
  ARC: show_regs: lockdep: re-enable preemption
  media: vim2m: only cancel work if it is for right context
  btrfs: Use real device structure to verify dev extent
  btrfs: volumes: Make sure no dev extent is beyond device boundary
  powerpc/pkeys: Fix handling of pkey state across fork()
  scsi: megaraid_sas: Use 63-bit DMA addressing
  scsi: megaraid_sas: Add check for reset adapter bit
  scsi: megaraid_sas: Fix combined reply queue mode detection
  btrfs: Fix error handling in btrfs_cleanup_ordered_extents
  btrfs: Remove extent_io_ops::fill_delalloc
  Btrfs: fix deadlock with memory reclaim during scrub
  Btrfs: clean up scrub is_dev_replace parameter
  KVM: PPC: Book3S HV: Fix race between kvm_unmap_hva_range and MMU mode switch
  drm/i915: Cleanup gt powerstate from gem
  drm/i915: Restore sane defaults for KMS on GEM error load
  media: vim2m: use cancel_delayed_work_sync instead of flush_schedule_work
  media: vim2m: use workqueue
  s390/zcrypt: reinit ap queue state machine during device probe
  ARM: davinci: dm644x: define gpio interrupts as separate resources
  ARM: davinci: dm355: define gpio interrupts as separate resources
  ARM: davinci: dm646x: define gpio interrupts as separate resources
  ARM: davinci: dm365: define gpio interrupts as separate resources
  ARM: davinci: da8xx: define gpio interrupts as separate resources
  drm/amd/dm: Understand why attaching path/tile properties are needed
  drm/amd/pp: Fix truncated clock value when set watermark
  powerplay: Respect units on max dcfclk watermark
  Drivers: hv: kvp: Fix the recent regression caused by incorrect clean-up
  Drivers: hv: kvp: Fix the indentation of some "break" statements
  drm/atomic_helper: Disallow new modesets on unregistered connectors
  drm/i915/gen9+: Fix initial readout for Y tiled framebuffers
  drm/i915: Rename PLANE_CTL_DECOMPRESSION_ENABLE
  drm/i915: Fix intel_dp_mst_best_encoder()
  x86/kvm/lapic: preserve gfn_to_hva_cache len on cache reinit
  KVM: hyperv: define VP assist page helpers
  KVM: x86: hyperv: keep track of mismatched VP indexes
  KVM: x86: hyperv: consistently use 'hv_vcpu' for 'struct kvm_vcpu_hv' variables
  KVM: x86: hyperv: enforce vp_index < KVM_MAX_VCPUS
  drm/amdgpu: Update gc_9_0 golden settings.
  drm/amdgpu/gfx9: Update gfx9 golden settings.
  remoteproc: qcom: q6v5-mss: add SCM probe dependency
  x86, hibernate: Fix nosave_regions setup for hibernation
  Drivers: hv: kvp: Fix two "this statement may fall through" warnings
  keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h
  scsi: qla2xxx: Move log messages before issuing command to firmware
  media: cec: remove cec-edid.c
  media: cec/v4l2: move V4L2 specific CEC functions to V4L2
  drm/i915: Re-apply "Perform link quality check, unconditionally during long pulse"
  kernel/module: Fix mem leak in module_add_modinfo_attrs
  modules: always page-align module section allocations
  remoteproc: qcom: q6v5: shore up resource probe handling
  clk: s2mps11: Add used attribute to s2mps11_dt_match
  nvme-fc: use separate work queue to avoid warning
  riscv: remove unused variable in ftrace
  scripts/decode_stacktrace: match basepath using shell prefix operator, not regex
  arm64: dts: rockchip: enable usb-host regulators at boot on rk3328-rock64
  media: stm32-dcmi: fix irq = 0 case
  powerpc/64: mark start_here_multiplatform as __ref
  x86/ftrace: Fix warning and considate ftrace_jmp_replace() and ftrace_call_replace()
  selftests: fib_rule_tests: use pre-defined DEV_ADDR
  timekeeping: Use proper ktime_add when adding nsecs in coarse offset
  {nl,mac}80211: fix interface combinations on crypto controlled devices
  blk-iolatency: fix STS_AGAIN handling
  Blk-iolatency: warn on negative inflight IO counter
  hv_sock: Fix hang when a connection is closed
  batman-adv: Only read OGM tvlv_len after buffer len check
  batman-adv: fix uninit-value in batadv_netlink_get_ifindex()
  powerpc/tm: Fix FP/VMX unavailable exceptions inside a transaction
  vhost/test: fix build for vhost test - again
  vhost/test: fix build for vhost test
  drm/vmwgfx: Fix double free in vmw_recv_msg()
  sched/fair: Don't assign runtime for throttled cfs_rq
  ALSA: hda/realtek - Fix the problem of two front mics on a ThinkCentre
  ALSA: hda/realtek - Enable internal speaker & headset mic of ASUS UX431FL
  ALSA: hda/realtek - Add quirk for HP Pavilion 15
  ALSA: hda/realtek - Fix overridden device-specific initialization
  ALSA: hda - Fix potential endless loop at applying quirks
  ANDROID: regression introduced override_creds=off

Change-Id: I74d7d497d9ec70b589ac400f62e266858ee7893d
Signed-off-by: default avatarIvaylo Georgiev <irgeorgiev@codeaurora.org>
parents 2fe8c633 d863b7a2
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0
# SPDX-License-Identifier: GPL-2.0
VERSION = 4
VERSION = 4
PATCHLEVEL = 19
PATCHLEVEL = 19
SUBLEVEL = 72
SUBLEVEL = 73
EXTRAVERSION =
EXTRAVERSION =
NAME = "People's Front"
NAME = "People's Front"


+8 −0
Original line number Original line Diff line number Diff line
@@ -179,6 +179,12 @@ void show_regs(struct pt_regs *regs)
	struct task_struct *tsk = current;
	struct task_struct *tsk = current;
	struct callee_regs *cregs;
	struct callee_regs *cregs;


	/*
	 * generic code calls us with preemption disabled, but some calls
	 * here could sleep, so re-enable to avoid lockdep splat
	 */
	preempt_enable();

	print_task_path_n_nm(tsk);
	print_task_path_n_nm(tsk);
	show_regs_print_info(KERN_INFO);
	show_regs_print_info(KERN_INFO);


@@ -221,6 +227,8 @@ void show_regs(struct pt_regs *regs)
	cregs = (struct callee_regs *)current->thread.callee_reg;
	cregs = (struct callee_regs *)current->thread.callee_reg;
	if (cregs)
	if (cregs)
		show_callee_regs(cregs);
		show_callee_regs(cregs);

	preempt_disable();
}
}


void show_kernel_fault_diag(const char *str, struct pt_regs *regs,
void show_kernel_fault_diag(const char *str, struct pt_regs *regs,
+15 −23
Original line number Original line Diff line number Diff line
@@ -66,14 +66,12 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
	struct vm_area_struct *vma = NULL;
	struct vm_area_struct *vma = NULL;
	struct task_struct *tsk = current;
	struct task_struct *tsk = current;
	struct mm_struct *mm = tsk->mm;
	struct mm_struct *mm = tsk->mm;
	siginfo_t info;
	int si_code = SEGV_MAPERR;
	int ret;
	int ret;
	vm_fault_t fault;
	vm_fault_t fault;
	int write = regs->ecr_cause & ECR_C_PROTV_STORE;  /* ST/EX */
	int write = regs->ecr_cause & ECR_C_PROTV_STORE;  /* ST/EX */
	unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
	unsigned int flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;


	clear_siginfo(&info);

	/*
	/*
	 * We fault-in kernel-space virtual memory on-demand. The
	 * We fault-in kernel-space virtual memory on-demand. The
	 * 'reference' page table is init_mm.pgd.
	 * 'reference' page table is init_mm.pgd.
@@ -83,16 +81,14 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
	 * only copy the information from the master page table,
	 * only copy the information from the master page table,
	 * nothing more.
	 * nothing more.
	 */
	 */
	if (address >= VMALLOC_START) {
	if (address >= VMALLOC_START && !user_mode(regs)) {
		ret = handle_kernel_vaddr_fault(address);
		ret = handle_kernel_vaddr_fault(address);
		if (unlikely(ret))
		if (unlikely(ret))
			goto bad_area_nosemaphore;
			goto no_context;
		else
		else
			return;
			return;
	}
	}


	info.si_code = SEGV_MAPERR;

	/*
	/*
	 * If we're in an interrupt or have no user
	 * If we're in an interrupt or have no user
	 * context, we must not take the fault..
	 * context, we must not take the fault..
@@ -119,7 +115,7 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
	 * we can handle it..
	 * we can handle it..
	 */
	 */
good_area:
good_area:
	info.si_code = SEGV_ACCERR;
	si_code = SEGV_ACCERR;


	/* Handle protection violation, execute on heap or stack */
	/* Handle protection violation, execute on heap or stack */


@@ -143,13 +139,18 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
	 */
	 */
	fault = handle_mm_fault(vma, address, flags);
	fault = handle_mm_fault(vma, address, flags);


	/* If Pagefault was interrupted by SIGKILL, exit page fault "early" */
	if (unlikely(fatal_signal_pending(current))) {
	if (unlikely(fatal_signal_pending(current))) {
		if ((fault & VM_FAULT_ERROR) && !(fault & VM_FAULT_RETRY))

			up_read(&mm->mmap_sem);
		/*
		if (user_mode(regs))
		 * if fault retry, mmap_sem already relinquished by core mm
		 * so OK to return to user mode (with signal handled first)
		 */
		if (fault & VM_FAULT_RETRY) {
			if (!user_mode(regs))
				goto no_context;
			return;
			return;
		}
		}
	}


	perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);
	perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, address);


@@ -195,15 +196,10 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
bad_area:
bad_area:
	up_read(&mm->mmap_sem);
	up_read(&mm->mmap_sem);


bad_area_nosemaphore:
	/* User mode accesses just cause a SIGSEGV */
	/* User mode accesses just cause a SIGSEGV */
	if (user_mode(regs)) {
	if (user_mode(regs)) {
		tsk->thread.fault_address = address;
		tsk->thread.fault_address = address;
		info.si_signo = SIGSEGV;
		force_sig_fault(SIGSEGV, si_code, (void __user *)address, tsk);
		info.si_errno = 0;
		/* info.si_code has been set above */
		info.si_addr = (void __user *)address;
		force_sig_info(SIGSEGV, &info, tsk);
		return;
		return;
	}
	}


@@ -238,9 +234,5 @@ void do_page_fault(unsigned long address, struct pt_regs *regs)
		goto no_context;
		goto no_context;


	tsk->thread.fault_address = address;
	tsk->thread.fault_address = address;
	info.si_signo = SIGBUS;
	force_sig_fault(SIGBUS, BUS_ADRERR, (void __user *)address, tsk);
	info.si_errno = 0;
	info.si_code = BUS_ADRERR;
	info.si_addr = (void __user *)address;
	force_sig_info(SIGBUS, &info, tsk);
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -65,7 +65,7 @@
		gpio-miso = <&gpio1 8 GPIO_ACTIVE_HIGH>;
		gpio-miso = <&gpio1 8 GPIO_ACTIVE_HIGH>;
		gpio-mosi = <&gpio1 7 GPIO_ACTIVE_HIGH>;
		gpio-mosi = <&gpio1 7 GPIO_ACTIVE_HIGH>;
		/* Collides with pflash CE1, not so cool */
		/* Collides with pflash CE1, not so cool */
		cs-gpios = <&gpio0 20 GPIO_ACTIVE_HIGH>;
		cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
		num-chipselects = <1>;
		num-chipselects = <1>;


		panel: display@0 {
		panel: display@0 {
+3 −3
Original line number Original line Diff line number Diff line
@@ -386,10 +386,10 @@
			#address-cells = <3>;
			#address-cells = <3>;
			#size-cells = <2>;
			#size-cells = <2>;


			ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000
			ranges = <0x81000000 0 0x40200000 0x40200000 0 0x00100000>,
				  0x82000000 0 0x48000000 0x48000000 0 0x10000000>;
				 <0x82000000 0 0x40300000 0x40300000 0 0x00d00000>;


			interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
			interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
			interrupt-names = "msi";
			interrupt-names = "msi";
			#interrupt-cells = <1>;
			#interrupt-cells = <1>;
			interrupt-map-mask = <0 0 0 0x7>;
			interrupt-map-mask = <0 0 0 0x7>;
Loading