Commit graph

883,425 commits

Author SHA1 Message Date
Ionela Voinescu
57ab64893e UPSTREAM: arm64/kvm: disable access to AMU registers from kvm guests
Access to the AMU counters should be disabled by default in kvm guests,
as information from the counters might reveal activity in other guests
or activity on the host.

Therefore, disable access to AMU registers from EL0 and EL1 in kvm
guests by:
 - Hiding the presence of the extension in the feature register
   (SYS_ID_AA64PFR0_EL1) on the VCPU.
 - Disabling access to the AMU registers before switching to the guest.
 - Trapping accesses and injecting an undefined instruction into the
   guest.

Bug: 172781912
Change-Id: Ie8048574431dfe00e9d8f59ecbcf51b4c1167000
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Julien Thierry <julien.thierry.kdev@gmail.com>
Cc: James Morse <james.morse@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 4fcdf106a4330bb5c2306a1efbb3af3b7c0db537)
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2020-11-18 17:57:57 +00:00
Ionela Voinescu
0611858d57 UPSTREAM: arm64: trap to EL1 accesses to AMU counters from EL0
The activity monitors extension is an optional extension introduced
by the ARMv8.4 CPU architecture. In order to access the activity
monitors counters safely, if desired, the kernel should detect the
presence of the extension through the feature register, and mediate
the access.

Therefore, disable direct accesses to activity monitors counters
from EL0 (userspace) and trap them to EL1 (kernel).

To be noted that the ARM64_AMU_EXTN kernel config does not have an
effect on this code. Given that the amuserenr_el0 resets to an
UNKNOWN value, setting the trap of EL0 accesses to EL1 is always
attempted for safety and security considerations. Therefore firmware
should still ensure accesses to AMU registers are not trapped in
EL2/EL3 as this code cannot be bypassed if the CPU implements the
Activity Monitors Unit.

Bug: 172781912
Change-Id: I231595cd2d1e36bfc6abd24559c9c3d13e7eab03
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Reviewed-by: James Morse <james.morse@arm.com>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Steve Capper <steve.capper@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 87a1f063464afd934f0f22aac710ca65bef77af3)
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2020-11-18 17:57:38 +00:00
Ionela Voinescu
30bf0431f1 BACKPORT: arm64: add support for the AMU extension v1
The activity monitors extension is an optional extension introduced
by the ARMv8.4 CPU architecture. This implements basic support for
version 1 of the activity monitors architecture, AMUv1.

This support includes:
- Extension detection on each CPU (boot, secondary, hotplugged)
- Register interface for AMU aarch64 registers

Bug: 172781912
Change-Id: I8fa585dd992213d8042e6f9ddec2cb3bcefade05
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 2c9d45b43c39e26fd2a73f2203321cdaee98b58b)
[neeraju: Resolved minor conflicts in Kconfig, cpucaps.h, cpufeature.h]
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
2020-11-18 17:57:23 +00:00
Chenggang Wang
1221294815 UPSTREAM: block: fix get_max_io_size()
commit e4b469c66f3cbb81c2e94d31123d7bcdf3c1dabd upstream.

A previous commit aligning splits to physical block sizes inadvertently
modified one return case such that that it now returns 0 length splits
when the number of sectors doesn't exceed the physical offset. This
later hits a BUG in bio_split(). Restore the previous working behavior.

Bug: 173583534
Fixes: 9cc5169cd4 ("block: Improve physical block alignment of split
bios")
Reported-by: Eric Deal <eric.deal@wdc.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
Cc: Bart Van Assche <bvanassche@acm.org>
Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bug: 173583534
(cherry picked from commit f09dbec9c0)
Signed-off-by: Chenggang Wang <wangchenggang@vivo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5f4708059f106b6ded162cbe096e45bae7a7fca4
2020-11-18 15:26:38 +00:00
Deeksha Gupta
37201331c4 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 1 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

1 Added function:

  [A] 'function void cfg80211_stop_iface(wiphy*, wireless_dev*, gfp_t)'

Bug: 173561495
Signed-off-by: Deeksha Gupta <deegupta@codeaurora.org>
Change-Id: I8197af49fd23443631b8845859f88e6bfa363ad1
2020-11-18 14:47:25 +00:00
Chris Ye
6d9ab208c5 FROMGIT: Input: Add devices for HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE
Kernel 5.4 introduces HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE, devices
need to be set explicitly with this flag.

Bug: 170072925
Bug: 170126889
Tests: atest android.hardware.input.cts.tests

(cherry picked from commit f59ee399de4a8ca4d7d19cdcabb4b63e94867f09
https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git for-5.10/upstream-fixes)

Signed-off-by: Chris Ye <lzye@google.com>
Change-Id: I65742e96babc59adde0ab32656850ef4f164ac3e
2020-11-18 11:20:53 +00:00
Chanho Park
09b63a9447 ANDROID: GKI: add allowed list for Exynosauto SoC
This patch adds GKI symbol list for Exynosauto SoC. We need to add
below 10 functions and most of symbols are required by PCIe
EP(End point) driver.

Leaf changes summary: 10 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 10 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

10 Added functions:

  [A] 'function uint32_t drm_of_crtc_port_mask(drm_device*, device_node*)'
  [A] 'function int dw_pcie_ep_init(dw_pcie_ep*)'
  [A] 'function u32 dw_pcie_read_dbi(dw_pcie*, u32, size_t)'
  [A] 'function void dw_pcie_write_dbi(dw_pcie*, u32, size_t, u32)'
  [A] 'function void pci_epc_clear_bar(pci_epc*, u8, pci_epf_bar*)'
  [A] 'function int pci_epc_map_addr(pci_epc*, u8, phys_addr_t, u64, size_t)'
  [A] 'function void* pci_epc_mem_alloc_addr(pci_epc*, phys_addr_t*, size_t)'
  [A] 'function void pci_epc_mem_free_addr(pci_epc*, phys_addr_t, void*, size_t)'
  [A] 'function int pci_epc_set_bar(pci_epc*, u8, pci_epf_bar*)'
  [A] 'function void pci_epc_unmap_addr(pci_epc*, u8, phys_addr_t)'

Bug: 173340486
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I7411118d2112f10f09405acc1a1461e06ccd9883
2020-11-18 02:15:51 +00:00
Chanho Park
83e8d7513c ANDROID: GKI: update allowed list for Exynosauto SoC
This patch adds to update GKI symbol list for Exynosauto SoC. To review
the allowed list easily, this patch does not include any newly additions
of GKI symbols.

Bug: 173340486
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I6854f5e813845840b4db052282a92f59c6864cc0
2020-11-18 02:15:24 +00:00
Baolin Wang
4e20d65b72 UPSTREAM: mfd: sprd: Add wakeup capability for PMIC IRQ
When changing to use suspend-to-idle to save power, the PMIC irq can not
wakeup the system due to lack of wakeup capability, which will cause
the sub-irqs (such as power key) of the PMIC can not wake up the system.
Thus we can add the wakeup capability for PMIC irq to solve this issue,
as well as removing the IRQF_NO_SUSPEND flag to allow PMIC irq to be
a wakeup source.

Reported-by: Chunyan Zhang <zhang.lyra@gmail.com>
Signed-off-by: Baolin Wang <baolin.wang7@gmail.com>
Tested-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bug: 173341055
(cherry picked from commit a75bfc824a2d33f57ebdc003bfe6b7a9e11e9cb9)
Signed-off-by: Chunyan Zhang <zhang.lyra@gmail.com>
Change-Id: Ibe5f907b96d59e8b02e8e4838fc8b3cde5f4f35e
2020-11-18 02:12:45 +00:00
Chunyan Zhang
5eaa11cf0d UPSTREAM: tick/common: Touch watchdog in tick_unfreeze() on all CPUs
Suspend to IDLE invokes tick_unfreeze() on resume. tick_unfreeze() on the
first resuming CPU resumes timekeeping, which also has the side effect of
resetting the softlockup watchdog on this CPU.

But on the secondary CPUs the watchdog is not reset in the resume /
unfreeze() path, which can result in false softlockup warnings on those
CPUs depending on the time spent in suspend.

Prevent this by clearing the softlock watchdog in the unfreeze path also
on the secondary resuming CPUs.

[ tglx: Massaged changelog ]

Signed-off-by: Chunyan Zhang <chunyan.zhang@unisoc.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20200110083902.27276-1-chunyan.zhang@unisoc.com
Bug: 173341055
(cherry picked from commit 5167c506d62dd9ffab73eba23c79b0a8845c9fe1)
Signed-off-by: Chunyan Zhang <zhang.lyra@gmail.com>
Change-Id: Iab440b4137726811fce76f3636a4cf8bafc2c202
2020-11-18 02:12:36 +00:00
Mukesh Ojha
70145df882 FROMLIST: thermal: Fix NULL pointer dereference issue
Cooling stats variable inside thermal_cooling_device_stats_update()
can get NULL. We should add a valid check on stat before using it.

Bug: 173355233
Link: https://lore.kernel.org/lkml/1605544181-5348-1-git-send-email-mojha@codeaurora.org/
Change-Id: I48105dcf8ff81d272534c59b7120a6d9fc831d04
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
2020-11-17 23:56:27 +05:30
Zhiqiang Tu
7982ae0c2c ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 0 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

Bug: 173134053
Change-Id: I7f419c3180f2a45ae628e4a600eb6a45ca12a7e9
Signed-off-by: Zhiqiang Tu <ztu@codeaurora.org>
2020-11-16 17:34:58 +08:00
Tony Lindgren
42e0a0e97f UPSTREAM: spi: Fix regression to return zero on success instead of positive value
Commit d948e6ca1899 ("spi: add power control when set_cs") added generic
runtime PM handling, but also changed the return value to be 1 instead
of 0 that we had earlier as pm_runtime_get functions return a positve
value on success.

This causes SPI devices to return errors for cases where they do:

ret = spi_setup(spi);
if (ret)
	return ret;

As in many cases the SPI devices do not check for if (ret < 0).

Let's fix this by setting the status to 0 on succeess after the
runtime PM calls. Let's not return 0 at the end of the function
as this might break again later on if the function changes and
starts returning status again.

Fixes: d948e6ca1899 ("spi: add power control when set_cs")
Cc: Luhua Xu <luhua.xu@mediatek.com>
Cc: wsd_upstream@mediatek.com
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20191111195334.44833-1-tony@atomide.com
Signed-off-by: Mark Brown <broonie@kernel.org>
(cherry picked from commit 57a9460705f105e1d79d1410c5cfe285beda8986)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I70449c0ef2cbe4c34065adbad577f78ff9928b7b
2020-11-14 16:56:44 +01:00
YueHaibing
f49688970b UPSTREAM: thermal: power_allocator: Fix Kconfig warning
When do randbuiding, we got this:

WARNING: unmet direct dependencies detected for THERMAL_GOV_POWER_ALLOCATOR
  Depends on [n]: THERMAL [=y] && ENERGY_MODEL [=n]
  Selected by [y]:
  - THERMAL_DEFAULT_GOV_POWER_ALLOCATOR [=y] && <choice>

The Kconfig option THERMAL_DEFAULT_GOV_POWER_ALLOCATOR selects the
THERMAL_GOV_POWER_ALLOCATOR but this one depends on the ENERGY_MODEL
which is not enabled.

Make THERMAL_DEFAULT_GOV_POWER_ALLOCATOR depend on THERMAL_GOV_POWER_ALLOCATOR
to fix this warning.

Suggested-by: Quentin Perret <qperret@google.com>
Fixes: a4e893e802e6 ("thermal: cpu_cooling: Migrate to using the EM framework")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Link: https://lore.kernel.org/r/20191113105313.41616-1-yuehaibing@huawei.com
(cherry picked from commit 50260614245b09887c197c58732298f02052d61b)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I18848e76a65a03fb79b15ffae45919562e906853
2020-11-14 16:56:41 +01:00
Saravana Kannan
e13d39a31f UPSTREAM: of/platform: Unconditionally pause/resume sync state during kernel init
Commit 5e6669387e22 ("of/platform: Pause/resume sync state during init
and of_platform_populate()") paused/resumed sync state during init only
if Linux had parsed and populated a devicetree.

However, the check for that (of_have_populated_dt()) can change after
of_platform_default_populate_init() executes.  One example of this is
when devicetree unittests are enabled.  This causes an unmatched
pause/resume of sync state. To avoid this, just unconditionally
pause/resume sync state during init.

Fixes: 5e6669387e22 ("of/platform: Pause/resume sync state during init and of_platform_populate()")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Reviewed-by: Frank Rowand <frowand.list@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
(cherry picked from commit ee9b280e17dce51c44e1d04d11eb0a4acd0ee1a9)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iba0f462bf45e056a03f3e925d8037db81cb517b2
2020-11-14 16:56:37 +01:00
Paul Moore
26d0b8dd3a UPSTREAM: selinux: ensure the policy has been loaded before reading the sidtab stats
Check to make sure we have loaded a policy before we query the
sidtab's hash stats.  Failure to do so could result in a kernel
panic/oops due to a dereferenced NULL pointer.

Fixes: 66f8e2f03c02 ("selinux: sidtab reverse lookup hash table")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
(cherry picked from commit 15b590a81fcdd44ddcb4810f2a6334df8b6ca512)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9c9309341634ba0bdc6d151ec1ae4040a71dcd40
2020-11-14 16:56:33 +01:00
Thomas Gleixner
b1ab580076 UPSTREAM: MIPS: vdso: Define BUILD_VDSO32 when building a 32bit kernel
The confinement of the 32bit specific VDSO functions missed to define
BUILD_VDSO32 when building a 32bit MIPS kernel:

arch/mips/vdso/vgettimeofday.c: In function __vdso_clock_gettime:
arch/mips/vdso/vgettimeofday.c:17:9: error: implicit declaration of function __cvdso_clock_gettime32

arch/mips/vdso/vgettimeofday.c: In function __vdso_clock_getres:
arch/mips/vdso/vgettimeofday.c:39:9: error: implicit declaration of function __cvdso_clock_getres_time32

Force the define for 32bit builds in the VDSO Makefile.

Fixes: bf279849ad59 ("lib/vdso: Build 32 bit specific functions in the right context")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Paul Burton <paulburton@kernel.org>
Link: https://lore.kernel.org/r/87d0bjfaqa.fsf@nanos.tec.linutronix.de

(cherry picked from commit 99570c3da96a0f7aa11c6ad4981776f3adabf3b5)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I00c1cbdbca17f9b9d018e32115ed12cff5c1db18
2020-11-14 16:56:29 +01:00
Geert Uytterhoeven
3ab3de2667 UPSTREAM: mfd: syscon: Fix syscon_regmap_lookup_by_phandle_args() dummy
If CONFIG_MFD_SYSCON=n:

    include/linux/mfd/syscon.h:54:23: warning: ‘syscon_regmap_lookup_by_phandle_args’ defined but not used [-Wunused-function]

Fix this by adding the missing inline keyword.

Fixes: 6a24f567af4accef ("mfd: syscon: Add arguments support for syscon reference")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
(cherry picked from commit 5312f321a67cfee1fe4de245bc558fa857dce33b)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Icd3816bb79110e06860ea5ede34a69692fba7a7a
2020-11-14 16:56:26 +01:00
Stefan Wahren
fecd3edb95 UPSTREAM: ARM: bcm2835_defconfig: Explicitly restore CONFIG_DEBUG_FS
The commit 0e4a459f56c3 ("tracing: Remove unnecessary DEBUG_FS dependency")
accidentally dropped the DEBUG FS support in bcm2835_defconfig. So
restore the config as before the commit.

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Fixes: 0e4a459f56c3 ("tracing: Remove unnecessary DEBUG_FS dependency")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
(cherry picked from commit 1bba60808404b873defa0f3560497eb2e8fe86b8)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9eb54e224a75a3970956898319e0a8a4ce28676f
2020-11-14 16:56:22 +01:00
Dinh Nguyen
a268f056b7 UPSTREAM: ARM: socfpga_defconfig: Add back DEBUG_FS
Commit 0e4a459f56c3 ("tracing: Remove unnecessary DEBUG_FS dependency")
removed select for DEBUG_FS but we still need it for development purposes.

Fixes: 0e4a459f56c3 ("tracing: Remove unnecessary DEBUG_FS dependency")
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
(cherry picked from commit 41bae0caf5dc216c7b43712b8c2b6a0d63b4d655)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I43ec65bdd0d67d9a3be986c8ccc2e86eed1763fa
2020-11-14 16:56:10 +01:00
Vincenzo Frascino
9008abe0e4 UPSTREAM: um: Fix header inclusion
User Mode Linux is a flavor of x86 that from the vDSO prospective always
falls back on system calls. This implies that it does not require any
of the unified vDSO definitions and their inclusion causes side effects
like this:

  In file included from include/vdso/processor.h:10:0,
                      from include/vdso/datapage.h:17,
                      from arch/x86/include/asm/vgtod.h:7,
                      from arch/x86/um/../kernel/sys_ia32.c:49:
  >> arch/x86/include/asm/vdso/processor.h:11:29: error: redefinition of 'rep_nop'
      static __always_inline void rep_nop(void)
                                  ^~~~~~~
     In file included from include/linux/rcupdate.h:30:0,
                      from include/linux/rculist.h:11,
                      from include/linux/pid.h:5,
                      from include/linux/sched.h:14,
                      from arch/x86/um/../kernel/sys_ia32.c:25:
     arch/x86/um/asm/processor.h:24:20: note: previous definition of 'rep_nop' was here
      static inline void rep_nop(void)

Make sure that the unnecessary headers are not included when um is built
to address the problem.

Fixes: abc22418db02 ("x86/vdso: Enable x86 to use common headers")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200323124109.7104-1-vincenzo.frascino@arm.com
(cherry picked from commit 1c1a18b00d7e25d1bed3507880de2da07be704a2)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9a8e1f005867caa5b9da510ec129e0640cb55f10
2020-11-14 16:56:03 +01:00
Florian Westphal
df1cc4066f UPSTREAM: net: fix fraglist segmentation reference count leak
Xin Long says:
 On udp rx path udp_rcv_segment() may do segment where the frag skbs
 will get the header copied from the head skb in skb_segment_list()
 by calling __copy_skb_header(), which could overwrite the frag skbs'
 extensions by __skb_ext_copy() and cause a leak.

 This issue was found after loading esp_offload where a sec path ext
 is set in the skb.

Fix this by discarding head state of the fraglist skb before replacing
its contents.

Fixes: 3a1296a38d0cf62 ("net: Support GRO/GSO fraglist chaining.")
Cc: Steffen Klassert <steffen.klassert@secunet.com>
Reported-by: Xiumei Mu <xmu@redhat.com>
Tested-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit cf673ed0e057a2dd68d930c6d7e30d53c70c5789)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iba886d897485ddddb2f1f67347b65fbba4d3e119
2020-11-14 16:55:56 +01:00
Maciej Żenczykowski
223c666145 UPSTREAM: ipv6: ndisc: RFC-ietf-6man-ra-pref64-09 is now published as RFC8781
See:
  https://www.rfc-editor.org/authors/rfc8781.txt

Cc: Erik Kline <ek@google.com>
Cc: Jen Linkova <furry@google.com>
Cc: Lorenzo Colitti <lorenzo@google.com>
Cc: Michael Haro <mharo@google.com>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
Fixes: c24a77edc9a7 ("ipv6: ndisc: add support for 'PREF64' dns64 prefix identifier")
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 9175d3f38816835b0801bacbf4f6aff1a1672b71)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9ac8f0e2d500846e4a545434583bda3f671e00bb
2020-11-14 16:55:48 +01:00
Nicolas Saenz Julienne
b01c286473 UPSTREAM: of: property: Fix create device links for all child-supplier dependencies
Upon adding a new device from a DT node, we scan its properties and its
children's properties in order to create a consumer/supplier
relationship between the device and the property provider.

That said, it's possible for some of the node's children to be disabled,
which will create links that'll never be fulfilled.

To get around this, use the for_each_available_child_of_node() function
instead of for_each_available_node() when iterating over the node's
children.

Fixes: d4387cd11741 ("of: property: Create device links for all child-supplier depencencies")
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rob Herring <robh@kernel.org>
(cherry picked from commit ed3655729182a59b9bef1b564c6fc2dcbbbe954e)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I729c42bb3ddc8ecff1e5e097a439d672faea1f89
2020-11-14 16:55:37 +01:00
Nicolas Saenz Julienne
6ac5a61989 UPSTREAM: of: property: Do not link to disabled devices
When creating a consumer/supplier relationship between two devices,
make sure the supplier node is actually active. Otherwise this will
create a link relationship that will never be fulfilled. This, in the
worst case scenario, will hang the system during boot.

Note that, in practice, the fact that a device-tree represented
consumer/supplier relationship isn't fulfilled will not prevent devices
from successfully probing.

Fixes: a3e1d1a7f5fc ("of: property: Add functional dependency link from DT bindings")
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: Saravana Kannan <saravanak@google.com>
Signed-off-by: Rob Herring <robh@kernel.org>
(cherry picked from commit 7456427af9def0fec5508dd8b861556038ee96a8)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I43d1405a81b00f360a514ff67487f0b375215ee3
2020-11-14 16:55:32 +01:00
Adrian Hunter
2bef330246 UPSTREAM: mmc: sdhci: Fix SDHCI_QUIRK_BROKEN_CQE
Previous to commit 511ce378e16f07 ("mmc: Add MMC host software queue
support"), removing MMC_CAP2_CQE was enough to disable command queuing, but
now the cqe_ops must also be NULL otherwise ->cqe_enable() will be
called. Fix SDHCI_QUIRK_BROKEN_CQE to do that.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Fixes: 511ce378e16f07 ("mmc: Add MMC host software queue support")
Link: https://lore.kernel.org/r/20200518120939.1399-1-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
(cherry picked from commit 2b17b8d7cc65d333a48c6d32ee44fc489cecb7d9)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ibadc2a45340e9c783f836401910b44123a49f02f
2020-11-14 16:55:25 +01:00
Vinod Koul
1bd9ca0eb9 UPSTREAM: usb: renesas-xhci: include correct header for get_unaligned_le16()
get_unaligned_le16() is defined in linux/unaligned/access_ok.h header
but it uses symbols which may not be available, leading to build
failures on ia64. Using asm/unaligned.h seem to be the right thing
and used in other drivers.

This fixes below error reported by kbuild test robot

In file included from drivers/usb/host/xhci-pci-renesas.c:9:
>> include/linux/unaligned/access_ok.h:8:28: error: redefinition of 'get_unaligned_le16'
8 | static __always_inline u16 get_unaligned_le16(const void *p)
|                            ^~~~~~~~~~~~~~~~~~
In file included from arch/ia64/include/asm/unaligned.h:5,
from arch/ia64/include/asm/io.h:23,
from arch/ia64/include/asm/smp.h:21,
from include/linux/smp.h:67,
from include/linux/percpu.h:7,
from include/linux/arch_topology.h:9,
from include/linux/topology.h:30,
from include/linux/gfp.h:9,
from include/linux/xarray.h:14,
from include/linux/radix-tree.h:18,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from drivers/usb/host/xhci-pci-renesas.c:4:
include/linux/unaligned/le_struct.h:7:19: note: previous definition of 'get_unaligned_le16' was here
7 | static inline u16 get_unaligned_le16(const void *p)
|                   ^~~~~~~~~~~~~~~~~~
In file included from drivers/usb/host/xhci-pci-renesas.c:9:
include/linux/unaligned/access_ok.h:13:28: error: redefinition of 'get_unaligned_le32'
13 | static __always_inline u32 get_unaligned_le32(const void *p)
|                            ^~~~~~~~~~~~~~~~~~
In file included from arch/ia64/include/asm/unaligned.h:5,
from arch/ia64/include/asm/io.h:23,
from arch/ia64/include/asm/smp.h:21,
from include/linux/smp.h:67,
from include/linux/percpu.h:7,
from include/linux/arch_topology.h:9,
from include/linux/topology.h:30,
from include/linux/gfp.h:9,
from include/linux/xarray.h:14,
from include/linux/radix-tree.h:18,
from include/linux/idr.h:15,
from include/linux/kernfs.h:13,
from include/linux/sysfs.h:16,
from include/linux/kobject.h:20,
from include/linux/of.h:17,
from include/linux/irqdomain.h:35,
from include/linux/acpi.h:13,
from drivers/usb/host/xhci-pci-renesas.c:4:
include/linux/unaligned/le_struct.h:12:19: note: previous definition of 'get_unaligned_le32' was here

Fixes: 8bd5741e3145 ("usb: renesas-xhci: Add the renesas xhci driver")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Link: https://lore.kernel.org/r/20200516162516.385149-1-vkoul@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 357abc1d6b832bdb6a7d27ed258f6d2be27d096d)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I30d9b8d71db8ca8143f22f461666f1deeef2a58b
2020-11-14 16:55:17 +01:00
Jason A. Donenfeld
cd63b9b3ef UPSTREAM: wil6210: account for napi_gro_receive never returning GRO_DROP
The napi_gro_receive function no longer returns GRO_DROP ever, making
handling GRO_DROP dead code. This commit removes that dead code.
Further, it's not even clear that device drivers have any business in
taking action after passing off received packets; that's arguably out of
their hands. In this case, too, the non-gro path didn't bother checking
the return value. Plus, this had some clunky debugging functions that
duplicated code from elsewhere and was generally pretty messy. So, this
commit cleans that all up too.

Fixes: 6570bc79c0df ("net: core: use listified Rx for GRO_NORMAL in napi_gro_receive()")
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 045790b7bc66a75070c112a61558c639cef2263e)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6fa5a5c7a7b123e192e02e5dc671041454ad2df8
2020-11-14 16:43:17 +01:00
Luca Coelho
f1ed2a97d3 UPSTREAM: nl80211: fix memory leak when parsing NL80211_ATTR_HE_BSS_COLOR
If there is an error when parsing the NL80211_ATTR_HE_BSS_COLOR
attribute, we return immediately without freeing param.acl.  Fit it by
using goto out instead of returning immediately.

Fixes: 5c5e52d1bb96 ("nl80211: add handling for BSS color")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200626124931.7ad2a3eb894f.I60905fb70bd20389a3b170db515a07275e31845e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit 60a0121f8fa64b0f4297aa6fef8207500483a874)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1b25c92cf781e73aba43e4b344358c6f458ae50e
2020-11-14 16:43:07 +01:00
Tiezhu Yang
8aff1e0e2a UPSTREAM: thermal/drivers/sprd: Fix return value of sprd_thm_probe()
When call function devm_platform_ioremap_resource(), we should use IS_ERR()
to check the return value and return PTR_ERR() if failed.

Fixes: 554fdbaf19b1 ("thermal: sprd: Add Spreadtrum thermal driver support")
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Reviewed-by: Baolin Wang <baolin.wang7@gmail.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/1590371941-25430-1-git-send-email-yangtiezhu@loongson.cn
(cherry picked from commit b4147917ad4ff2c755e01a7ca296b14030d2d507)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5ba1ea5bf4846edb0c0990557bbd00ce81bdc15f
2020-11-14 16:29:47 +01:00
Eric Biggers
23b53e4b2a UPSTREAM: fscrypt: restrict IV_INO_LBLK_* to AES-256-XTS
IV_INO_LBLK_* exist only because of hardware limitations, and currently
the only known use case for them involves AES-256-XTS.  Therefore, for
now only allow them in combination with AES-256-XTS.  This way we don't
have to worry about them being combined with other encryption modes.

(To be clear, combining IV_INO_LBLK_* with other encryption modes
*should* work just fine.  It's just not being tested, so we can't be
100% sure it works.  So with no known use case, it's best to disallow it
for now, just like we don't allow other weird combinations like
AES-256-XTS contents encryption with Adiantum filenames encryption.)

This can be relaxed later if a use case for other combinations arises.

Fixes: b103fb7653ff ("fscrypt: add support for IV_INO_LBLK_64 policies")
Fixes: e3b1078bedd3 ("fscrypt: add support for IV_INO_LBLK_32 policies")
Link: https://lore.kernel.org/r/20200721181012.39308-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
(cherry picked from commit f000223c981a7c75f6f3ab7288f0be7b571c3644)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I9b28a1d2394a8a70d020be3a4f8661ac5987a78d
2020-11-14 16:29:45 +01:00
Eric Biggers
5eb84aafc7 UPSTREAM: fscrypt: use smp_load_acquire() for fscrypt_prepared_key
Normally smp_store_release() or cmpxchg_release() is paired with
smp_load_acquire().  Sometimes smp_load_acquire() can be replaced with
the more lightweight READ_ONCE().  However, for this to be safe, all the
published memory must only be accessed in a way that involves the
pointer itself.  This may not be the case if allocating the object also
involves initializing a static or global variable, for example.

fscrypt_prepared_key includes a pointer to a crypto_skcipher object,
which is internal to and is allocated by the crypto subsystem.  By using
READ_ONCE() for it, we're relying on internal implementation details of
the crypto subsystem.

Remove this fragile assumption by using smp_load_acquire() instead.

(Note: I haven't seen any real-world problems here.  This change is just
fixing the code to be guaranteed correct and less fragile.)

Fixes: 5fee36095cda ("fscrypt: add inline encryption support")
Cc: Satya Tangirala <satyat@google.com>
Link: https://lore.kernel.org/r/20200721225920.114347-3-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
(cherry picked from commit 97c6327f7192d7312eabc033b26a41ad6816496c)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I03b3e854e44734206112554dfc38cfe899127cfa
2020-11-14 16:29:43 +01:00
Tiezhu Yang
3fcaa86a3d UPSTREAM: nvmem: sprd: Fix return value of sprd_efuse_probe()
When call function devm_platform_ioremap_resource(), we should use IS_ERR()
to check the return value and return PTR_ERR() if failed.

Fixes: 096030e7f449 ("nvmem: sprd: Add Spreadtrum SoCs eFuse support")
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20200722100705.7772-2-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit bcd14bb7a68520bf88e45e91d354e43535624f82)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6121d3ca4cb636bb4088a3baab6da554984a8dd0
2020-11-14 16:29:41 +01:00
Rajkumar Manoharan
05f0c99de8 UPSTREAM: mac80211: fix warning in 6 GHz IE addition in mesh mode
The commit 24a2042cb22f ("mac80211: add HE 6 GHz Band Capability
element") failed to check device capability before adding HE 6 GHz
capability element. Below warning is reported in 11ac device in mesh.
Fix that by checking device capability at HE 6 GHz cap IE addition
in mesh beacon and association request.

WARNING: CPU: 1 PID: 1897 at net/mac80211/util.c:2878
ieee80211_ie_build_he_6ghz_cap+0x149/0x150 [mac80211]
[ 3138.720358] Call Trace:
[ 3138.720361]  ieee80211_mesh_build_beacon+0x462/0x530 [mac80211]
[ 3138.720363]  ieee80211_start_mesh+0xa8/0xf0 [mac80211]
[ 3138.720365]  __cfg80211_join_mesh+0x122/0x3e0 [cfg80211]
[ 3138.720368]  nl80211_join_mesh+0x3d3/0x510 [cfg80211]

Fixes: 24a2042cb22f ("mac80211: add HE 6 GHz Band Capability element")
Reported-by: Markus Theil <markus.theil@tu-ilmenau.de>
Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
Link: https://lore.kernel.org/r/1593656424-18240-1-git-send-email-rmanohar@codeaurora.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit 65ad3ef9fced4062dfd74e2f89443fb5ce184321)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I482ae69d99fcf58b3c08fef4561673b656d32995
2020-11-14 16:29:38 +01:00
Adrian Hunter
67d571fe31 UPSTREAM: scsi: ufs: Fix interrupt error message for shared interrupts
The interrupt might be shared, in which case it is not an error for the
interrupt handler to be called when the interrupt status is zero, so don't
print the message unless there was enabled interrupt status.

Link: https://lore.kernel.org/r/20200811133936.19171-1-adrian.hunter@intel.com
Fixes: 9333d7757348 ("scsi: ufs: Fix irq return code")
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 6337f58cec030b34ced435b3d9d7d29d63c96e36)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I60f61f9453edae05b796afa7a37e59bf8ace32e1
2020-11-14 16:29:33 +01:00
Lukasz Luba
91c21bea59 UPSTREAM: sched/fair: Fix wrong negative conversion in find_energy_efficient_cpu()
In find_energy_efficient_cpu() 'cpu_cap' could be less that 'util'.
It might be because of RT, DL (so higher sched class than CFS), irq or
thermal pressure signal, which reduce the capacity value.
In such situation the result of 'cpu_cap - util' might be negative but
stored in the unsigned long. Then it might be compared with other unsigned
long when uclamp_rq_util_with() reduced the 'util' such that is passes the
fits_capacity() check.

Prevent this situation and make the arithmetic more safe.

Fixes: 1d42509e475cd ("sched/fair: Make EAS wakeup placement consider uclamp restrictions")
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20200810083004.26420-1-lukasz.luba@arm.com
(cherry picked from commit da0777d35f47892f359c3f73ea155870bb595700)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib3e22c155eb031854cfb4428494c1c4da57692b1
2020-11-14 16:20:56 +01:00
Saravana Kannan
5eee799bec UPSTREAM: driver core: Fix device_pm_lock() locking for device links
This commit fixes two issues:

1. The lockdep warning reported by Dong Aisheng <dongas86@gmail.com> [1].

It is a warning about a cycle (dpm_list_mtx --> kn->active#3 --> fw_lock)
that was introduced when device-link devices were added to expose device
link information in sysfs.

The patch that "introduced" this cycle can't be reverted because it's fixes
a real SRCU issue and also ensures that the device-link device is deleted
as soon as the device-link is deleted. This is important to avoid sysfs
name collisions if the device-link is create again immediately (this can
happen a lot with deferred probing).

2. Inconsistency in grabbing device_pm_lock() during device link deletion

Some device link deletion code paths grab device_pm_lock(), while others
don't.  The device_pm_lock() is grabbed during device_link_add() because it
checks if the supplier is in the dpm_list and also reorders the dpm_list.
However, when a device link is deleted, it does not do either of those and
therefore device_pm_lock() is not necessary. Dropping the device_pm_lock()
in all the device link deletion paths removes the inconsistency in locking.

Thanks to Stephen Boyd for helping me understand the lockdep splat.

Fixes: 843e600b8a2b ("driver core: Fix sleeping in invalid context during device link deletion")
[1] - https://lore.kernel.org/lkml/CAA+hA=S4eAreb7vo69LAXSk2t5=DEKNxHaiY1wSpk4xTp9urLg@mail.gmail.com/
Reported-by: Dong Aisheng <dongas86@gmail.com>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Tested-by: Peng Fan <peng.fan@nxp.com>
Link: https://lore.kernel.org/r/20200901184445.1736658-1-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 6b57b15abe11aa334ebf726e02c0deaf123ba040)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I714523d92bbfbad145df2794c481cd0b697d7d16
2020-11-14 16:20:48 +01:00
Eric Biggers
8502859d46 UPSTREAM: fscrypt: restrict IV_INO_LBLK_32 to ino_bits <= 32
When an encryption policy has the IV_INO_LBLK_32 flag set, the IV
generation method involves hashing the inode number.  This is different
from fscrypt's other IV generation methods, where the inode number is
either not used at all or is included directly in the IVs.

Therefore, in principle IV_INO_LBLK_32 can work with any length inode
number.  However, currently fscrypt gets the inode number from
inode::i_ino, which is 'unsigned long'.  So currently the implementation
limit is actually 32 bits (like IV_INO_LBLK_64), since longer inode
numbers will have been truncated by the VFS on 32-bit platforms.

Fix fscrypt_supported_v2_policy() to enforce the correct limit.

This doesn't actually matter currently, since only ext4 and f2fs support
IV_INO_LBLK_32, and they both only support 32-bit inode numbers.  But we
might as well fix it in case it matters in the future.

Ideally inode::i_ino would instead be made 64-bit, but for now it's not
needed.  (Note, this limit does *not* prevent filesystems with 64-bit
inode numbers from adding fscrypt support, since IV_INO_LBLK_* support
is optional and is useful only on certain hardware.)

Fixes: e3b1078bedd3 ("fscrypt: add support for IV_INO_LBLK_32 policies")
Reported-by: Jeff Layton <jlayton@kernel.org>
Link: https://lore.kernel.org/r/20200824203841.1707847-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
(cherry picked from commit 5e895bd4d5233cb054447d0491d4e63c8496d419)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie4abfef403dfacf790baa667a37febf591c7e3ca
2020-11-14 16:20:41 +01:00
Stanley Chu
4a5e996245 UPSTREAM: scsi: ufs: ufs-mediatek: Eliminate error message for unbound mphy
Some MediaTek platforms does not have to bind MPHY so users shall not see
any unnecessary logs. Simply remove logs for this case.

Link: https://lore.kernel.org/r/20200908064507.30774-2-stanley.chu@mediatek.com
Fixes: fc4983018fea ("scsi: ufs-mediatek: Allow unbound mphy")
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit 30a90782c105fe498df74161392aa143796b6886)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I01f51f1532bf1826692b22b5650acd25a63f3698
2020-11-14 16:20:34 +01:00
Stanley Chu
c8f9209864 UPSTREAM: scsi: ufs: ufs-mediatek: Fix HOST_PA_TACTIVATE quirk
Simply add HOST_PA_TACTIVATE quirk back since it was incorrectly removed
before.

Link: https://lore.kernel.org/r/20200908064507.30774-3-stanley.chu@mediatek.com
Fixes: 47d054580a75 ("scsi: ufs-mediatek: fix HOST_PA_TACTIVATE quirk for Samsung UFS Devices")
Signed-off-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit a3e40b80dc951057033dce86f0e675b2b822b513)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id1f55fa74d0d393974b9f152d3289cd3ac4e3298
2020-11-14 16:09:35 +01:00
Johannes Berg
174953dd82 UPSTREAM: cfg80211: fix 6 GHz channel conversion
We shouldn't accept any channels bigger than 233, fix that.

Reported-by: Amar <asinghal@codeaurora.org>
Fixes: d1a1646c0de7 ("cfg80211: adapt to new channelization of the 6GHz band")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20200917115222.312ba6f1d461.I3a8c8fbcc3cc019814fd9cd0aced7eb591626136@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit c0de8776af6543e10d1a5c8969679fd9f6b66fa9)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I83a88dce9a0c78f949abd792c824ed6f923ee809
2020-11-14 16:09:30 +01:00
Chanho Park
5c1738a8f0 ANDROID: GKI: update symbol list for exynosauto soc
This patch updates the GKI symbol list for Exynosauto SoC. This is an
initial version of symbol list for Android Automotive Native.

Leaf changes summary: 74 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 72 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 2 Added variables

72 Added functions:

  [A] 'function int __bitmap_and(unsigned long int*, const unsigned long int*, const unsigned long int*, unsigned int)'
  [A] 'function void __drm_atomic_helper_plane_reset(drm_plane*, drm_plane_state*)'
  [A] 'function int __phy_modify(phy_device*, u32, u16, u16)'
  [A] 'function int bitmap_find_free_region(unsigned long int*, unsigned int, int)'
  [A] 'function void bitmap_release_region(unsigned long int*, unsigned int, int)'
  [A] 'function void display_timings_release(display_timings*)'
  [A] 'function void dql_completed(dql*, unsigned int)'
  [A] 'function void dql_reset(dql*)'
  [A] 'function int drm_atomic_helper_async_check(drm_device*, drm_atomic_state*)'
  [A] 'function void drm_atomic_helper_disable_planes_on_crtc(drm_crtc_state*, bool)'
  [A] 'function void drm_atomic_helper_fake_vblank(drm_atomic_state*)'
  [A] 'function int drm_atomic_normalize_zpos(drm_device*, drm_atomic_state*)'
  [A] 'function int drm_connector_set_path_property(drm_connector*, const char*)'
  [A] 'function u8 drm_dp_dsc_sink_line_buf_depth(const u8*)'
  [A] 'function u8 drm_dp_dsc_sink_max_slice_count(const u8*, bool)'
  [A] 'function int drm_dsc_compute_rc_parameters(drm_dsc_config*)'
  [A] 'function void drm_dsc_pps_payload_pack(drm_dsc_picture_parameter_set*, const drm_dsc_config*)'
  [A] 'function void drm_framebuffer_cleanup(drm_framebuffer*)'
  [A] 'function int drm_helper_connector_dpms(drm_connector*, int)'
  [A] 'function int drm_mode_config_helper_resume(drm_device*)'
  [A] 'function int drm_mode_config_helper_suspend(drm_device*)'
  [A] 'function int drm_property_add_enum(drm_property*, long long unsigned int, const char*)'
  [A] 'function void drm_property_destroy(drm_device*, drm_property*)'
  [A] 'function fwnode_handle* fwnode_get_named_child_node(const fwnode_handle*, const char*)'
  [A] 'function gpio_desc* fwnode_get_named_gpiod(fwnode_handle*, const char*, int, gpiod_flags, const char*)'
  [A] 'function int fwnode_property_get_reference_args(const fwnode_handle*, const char*, const char*, unsigned int, unsigned int, fwnode_reference_args*)'
  [A] 'function int genphy_loopback(phy_device*, bool)'
  [A] 'function int genphy_restart_aneg(phy_device*)'
  [A] 'function int genphy_setup_forced(phy_device*)'
  [A] 'function int genphy_soft_reset(phy_device*)'
  [A] 'function int genphy_update_link(phy_device*)'
  [A] 'function void gpiod_put(gpio_desc*)'
  [A] 'function phy_device* mdiobus_get_phy(mii_bus*, int)'
  [A] 'function void netdev_alert(const net_device*, const char*, ...)'
  [A] 'function display_timings* of_get_display_timings(const device_node*)'
  [A] 'function int of_get_phy_mode(device_node*)'
  [A] 'function int of_graph_get_endpoint_count(const device_node*)'
  [A] 'function device_node* of_graph_get_port_by_id(device_node*, u32)'
  [A] 'function device_node* of_graph_get_remote_port(const device_node*)'
  [A] 'function phy_device* of_phy_attach(net_device*, device_node*, u32, phy_interface_t)'
  [A] 'function void of_phy_deregister_fixed_link(device_node*)'
  [A] 'function bool of_phy_is_fixed_link(device_node*)'
  [A] 'function int of_phy_register_fixed_link(device_node*)'
  [A] 'function int of_platform_device_destroy(device*, void*)'
  [A] 'function int pcie_set_mps(pci_dev*, int)'
  [A] 'function int phy_attach_direct(net_device*, phy_device*, u32, phy_interface_t)'
  [A] 'function void phy_attached_info(phy_device*)'
  [A] 'function int phy_create_lookup(phy*, const char*, const char*)'
  [A] 'function void phy_detach(phy_device*)'
  [A] 'function const char* phy_duplex_to_str(unsigned int)'
  [A] 'function void phy_ethtool_get_wol(phy_device*, ethtool_wolinfo*)'
  [A] 'function int phy_get_eee_err(phy_device*)'
  [A] 'function int phy_init_eee(phy_device*, bool)'
  [A] 'function const phy_setting* phy_lookup_setting(int, int, const unsigned long int*, bool)'
  [A] 'function void phy_mac_interrupt(phy_device*)'
  [A] 'function int phy_modify(phy_device*, unsigned int, unsigned short int, unsigned short int)'
  [A] 'function int phy_modify_paged(phy_device*, int, u32, u16, u16)'
  [A] 'function int phy_read_paged(phy_device*, int, u32)'
  [A] 'function void phy_remove_lookup(phy*, const char*, const char*)'
  [A] 'function void phy_request_interrupt(phy_device*)'
  [A] 'function int phy_restart_aneg(phy_device*)'
  [A] 'function int phy_resume(phy_device*)'
  [A] 'function int phy_select_page(phy_device*, int)'
  [A] 'function void phy_set_asym_pause(phy_device*, bool, bool)'
  [A] 'function const char* phy_speed_to_str(int)'
  [A] 'function int phy_start_aneg(phy_device*)'
  [A] 'function int phy_suspend(phy_device*)'
  [A] 'function int phy_write_paged(phy_device*, int, u32, u16)'
  [A] 'function int swphy_read_reg(int, const fixed_phy_status*)'
  [A] 'function int ufshcd_config_pwr_mode(ufs_hba*, ufs_pa_layer_attr*)'
  [A] 'function void videomode_from_timing(const display_timing*, videomode*)'
  [A] 'function int videomode_from_timings(const display_timings*, videomode*, unsigned int)'

2 Added variables:

  [A] 'const drm_private_state_funcs drm_dp_mst_topology_state_funcs'
  [A] 'unsigned long int phy_gbit_fibre_features[2]'

Bug: 172885440
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: Id1154cc855fb633f22acbf89f59a89dad07ed15f
2020-11-13 13:51:35 +00:00
Jeehong Kim
9898521cef ANDROID: ABI: update allowed list for galaxy
Update Galaxy list of symbols with ones that are already in the .xml
file to manage symbols by used our modules

Bug: 173174399

Signed-off-by: Jeehong Kim <jhez.kim@samsung.com>
Change-Id: I0b26dff0c0075ba74fbbb3948f4e71c636f3a6cb
2020-11-13 16:17:59 +09:00
Chanho Park
0b4009b30f ANDROID: GKI: initial upload list for exynosauto soc
This patch adds to upload initial symbol list for Exynosauto SoC.
To find what has updated from GKI symbol easily, this list does not
include full list of symbol. So, nothing has added to GKI ABI symbols.

Bug: 172885440
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I41cc355687a5ba859ad601b8f1efdad13e52f20f
2020-11-12 17:32:06 +09:00
Narendra Muppalla
3364218040 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added functions
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

3 Added functions:

  [A] 'function int drm_connector_set_tile_property(drm_connector*)'
  [A] 'function drm_tile_group* drm_mode_create_tile_group(drm_device*, char*)'
  [A] 'function drm_tile_group* drm_mode_get_tile_group(drm_device*, char*)'

Bug: 171996270
Signed-off-by: Govinda Rao K S <gkarikur@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Change-Id: Ia647561b76932a6fb6bd1f81a563cc95adca9b01
2020-11-11 17:05:18 -08:00
Neeraj Soni
dc2d5a0ace ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 3 artifact changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 3 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable

3 Added function:

  [A] 'function void keyslot_manager_set_max_dun_bytes(keyslot_manager*, unsigned int)'
  [B] 'function void keyslot_manager_reprogram_all_keys(keyslot_manager*)'
  [C] 'function void keyslot_manager_destroy(keyslot_manager*)'

Bug: 172917070
Change-Id: I8efd18e0bd0d1884634c7358656e4045de039e57
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
Signed-off-by: Mukesh Ojha <mojha@codeaurora.org>
2020-11-11 14:27:52 +05:30
Maulik Shah
f889ae2a8c ANDROID: ABI: Update allowed list for QCOM
Add the following symbols to QCOM allowed-list:
-- __irq_set_handler
-- irq_set_handler_data

Bug: 172879351
Change-Id: I6869b60b4893a3f9447d0fb6e7977e0685477386
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
2020-11-10 12:01:05 +05:30
Mayank Grover
4e7a62687a ANDROID: modules: cfi cleanup for module load failure
Cleanup cfi shadow for failure in module loading,
to avoid causing warnings.

Bug: 172542186
Change-Id: I1de7ffa7d884c8e46891b8bbc8196ec0d2cef0d6
Signed-off-by: Mayank Grover <groverm@codeaurora.org>
2020-11-06 10:09:05 +05:30
Alistair Delva
6f6b3fb470 ANDROID: Temporarily disable XFRM_USER_COMPAT filtering
Before 5.10-rc1, the upstream kernel blocked any compat calls into XFRM
code with EOPNOTSUPP, however Android kernels had been patching this
check out and made userspace match the 64-bit kernel netlink format
instead.

When the new XFRM_USER_COMPAT feature landed, it added a similar check
in two places which returns EOPNOTSUPP only if the XFRM_USER_COMPAT
feature is disabled, however that is currently always the case for
Android kernels and we do not want to filter these callers.

While we work to remove the userspace compatibility mess, disable the
filtering of compat calls when XFRM_USER_COMPAT is disabled. If the
XFRM_USER_COMPAT feature is enabled, nothing changes.

Bug: 163141236
Bug: 172541864
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Ifbea109070650dfcb4f93a3cc692c18a8d11ab44
2020-11-05 21:08:28 +00:00
Akash Asthana
d587555020 ANDROID: ABI: Update allowed list for QCOM
Leaf changes summary: 1 artifact changed (550 filtered out)
Changed leaf types summary: 0 (398 filtered out) leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed (142 filtered out), 1 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed (10 filtered out), 0 Added variable

1 Added function:

  [A] 'function device_node* of_get_next_parent(device_node*)'

Bug: 172412533
Signed-off-by: Akash Asthana <akashast@codeaurora.org>
Change-Id: Ibd916f38d871469e56888ff3903f0a1bc388b52b
Signed-off-by: Todd Kjos <tkjos@google.com>
2020-11-05 20:04:07 +00:00