Commit graph

4439 commits

Author SHA1 Message Date
Timi
f1491f7c5a Merge branch 'kernel.lnx.4.4.r39-rel' of https://github.com/android-linux-stable/msm-4.4 into op8998-ten 2020-11-06 21:24:24 +01:00
Timi
66c70cd2c2 Merge tag 'LA.UM.8.4.r1-05900-8x98.0' into op8998-ten
"LA.UM.8.4.r1-05900-8x98.0"
2020-11-06 21:20:38 +01:00
Timi
e695fccbbb Merge tag 'LA.UM.8.4.r1-05800-8x98.0' into op8998-ten
"LA.UM.8.4.r1-05800-8x98.0"
2020-11-06 21:20:17 +01:00
Timi
2bb1d649bd Merge tag 'LA.UM.8.4.r1-05700-8x98.0' into op8998-ten
"LA.UM.8.4.r1-05700-8x98.0"
2020-11-06 21:20:06 +01:00
Martijn Coenen
050a2ee4bb oneplus5: Set CONFIG_BLK_DEV_LOOP_MIN_COUNT to 16.
To have the kernel pre-create 16 loop devices, which will save boot time
as soon as we start having more than 8 APEXes.

Bug: 119022885
Signed-off-by: Martijn Coenen <maco@android.com>
Change-Id: I43cffd6059bd9eb607f6a46e46e51ecfd1828f6a
2020-11-06 20:11:27 +01:00
Wei Wang
9808483dd9 oneplus5: set default readahead to 2048KB
Android has been benefiting quicker boot from bigger readahead during
boottime than runtime. However, the boottime readahead setting is set
when init is established after treble early mount. This patch will make
readahead bigger by default so early boot can benefit from it. Readahead
will be reset by init on boot_complete.

Bug: 62413151
Test: boot walleye 100ms faster
Change-Id: Ic9dad5666ce3d4836d73afbcee04cfb875f64f5d
Signed-off-by: Wei Wang <wvw@google.com>
2020-11-06 19:59:57 +01:00
codeworkx
e06f88dda2 oneplus5: build qcacld 3.0
Change-Id: I3d9e22c8b83e240f01bd28fd2ecc3637759cc3f6
2020-11-06 19:58:46 +01:00
Thierry Strudel
3e28ec8849 oneplus5: remove various debug configs
Disable remaining DEBUG configuration for shipping ROM

Bug: 62470966
Bug: 62235647
Change-Id: Id32f7ca9bc3585235826b32dd0d5719283a1c465
Signed-off-by: Thierry Strudel <tstrudel@google.com>
2020-11-06 19:58:33 +01:00
Demon Singur
7abe4ae3f7 oneplus5: remove remaining unused configs
* disable seemp core
 * remove unused platform support
 * remove STMVL53L0 support
 * disable debug options
 * disable unneded filesystems
 * disable useless modules
 * disable mmc support
 * disable unused regulators

Change-Id: I467c9df894597c0c434dcd0b1a1365651e6dca28
Signed-off-by: Vol Zhdanov <wight554@gmail.com>
2020-11-06 19:58:22 +01:00
Adrian Salido
25a03e0c5b oneplus5: disable mdss xlog debug
Bug: 62470966
Change-Id: Ib12674f38fb109ea467729eeeff283299ace2e63
Signed-off-by: Adrian Salido <salidoa@google.com>
2020-11-06 19:58:14 +01:00
John Dias
35365f1e48 oneplus5: disable SCHED_AUTOGROUP
Under some workloads, we're seeing periods of freezing
and excessive jank that appear to be partially improved
by disabling the autogroup feature.

Bug: 63331203
Signed-off-by: John Dias <joaodias@google.com>
Change-Id: If61dd69f6a1930158ca7e8c53240042381bc7c77
2020-11-06 19:58:06 +01:00
Sultan Alsawaf
cf62e8498b oneplus5: disable cgroup debugging
Change-Id: I3ac04919fc45eee87af91dfa9fdde599b6f4a4bd
2020-11-06 19:57:57 +01:00
Patrick Tjin
e2fc24d042 oneplus5: enable various HID drivers
Bug: 62808409
Change-Id: Ic049d6c03aaeaf53a0ba43ac7bd62ee52bcf7704
Signed-off-by: Patrick Tjin <pattjin@google.com>
2020-11-06 19:57:45 +01:00
joshuous
3e66c13fde oneplus5: enable JUMP_LABEL
This option enables a transparent branch optimization
that makes certain almost-always-true or almost-always-false
branch conditions even cheaper to execute within the kernel.

Certain performance-sensitive kernel code, such as trace points,
scheduler functionality, networking code and KVM have such
branches and include support for this optimization technique.

If it is detected that the compiler has support for "asm goto",
the kernel will compile such branches with just a nop instruction.
When the condition flag is toggled to true, the nop will be
converted to a jump instruction to execute the conditional
block of instructions.

This technique lowers overhead and stress on the branchprediction
of the processor and generally makes the kernel faster.
The update of the condition is slower, but those are always
very rare.

Change-Id: I90657cf7ef3b9d116eb019da87dd62e1806e0e87
Signed-off-by: joshuous <joshuous@gmail.com>
2020-11-06 19:57:32 +01:00
Demon Singur
6fb3b5e671 oneplus5: disable suspend sync
Change-Id: I7d439285752fa01a0d0ce5c3418f26a06b68131b
2020-11-06 19:57:27 +01:00
Demon Singur
5daa8ccee0 oneplus5: enable power efficient wq
Change-Id: I1a40ffe60a1e354eb09228fb98369eaf1c3b18ec
2020-11-06 19:57:00 +01:00
Timi
61e51c99ec oneplus5: enable BFQ by default 2020-11-06 19:56:52 +01:00
codeworkx
3d82702ef0 oneplus5: add initial defconfig
Change-Id: I196ae9cec431217fba6fe24e457e7c035bab7f55
2020-11-03 21:32:40 +01:00
Peter Collingbourne
8e9bb544e4 FROMLIST: arm64: Build vDSO with -ffixed-x18
The vDSO needs to be build with x18 reserved in order to accommodate
userspace platform ABIs built on top of Linux that use the register
to carry inter-procedural state, as provided for by the AAPCS.
An example of such a platform ABI is the one that will be used by an
upcoming version of Android.

Although this change is currently a no-op due to the fact that the vDSO
is currently implemented in pure assembly on arm64, it is necessary
in order to prepare for another change [1] that will add C code to
the vDSO.

[1] https://patchwork.kernel.org/patch/10044501/

Change-Id: Icaac4b1c9127d81d754d3b8688274e9afc781760
Signed-off-by: Peter Collingbourne <pcc@google.com>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Mark Salyzyn <salyzyn@google.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
2020-11-03 21:30:46 +01:00
Mark Salyzyn
43ea846c37 ANDROID: clock_gettime(CLOCK_BOOTTIME,) slows down >20x
clock_gettime(CLOCK_BOOTTIME,) slows down after significant
accumulation of suspend time creating a large offset between it and
CLOCK_MONOTONIC time.  The __iter_div_u64_rem() is only for the usage
of adding a few second+nanosecond times and saving cycles on more
expensive remainder and division operations, but iterates one second
at a time which quickly goes out of scale in CLOCK_BOOTTIME's case
since it was specified as nanoseconds only.

The fix is to split off seconds from the boot time and cap the
nanoseconds so that __iter_div_u64_rem does not iterate.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 72406285
Change-Id: Ia647ef1e76b7ba3b0c003028d4b3b955635adabb
2020-11-03 21:30:45 +01:00
Nathan Chancellor
a2f97f39f4 FROMLIST: arm64: vdso32: Use full path to Clang instead of relying on PATH
Currently, in order to build the compat VDSO with Clang, this format
has to be used:

  PATH=${BIN_FOLDER}:${PATH} make CC=clang

Prior to the addition of this file, this format would also be
acceptable:

  make CC=${BIN_FOLDER}/clang

This is because the vdso32 Makefile uses cc-name instead of CC. After
this path, CC will still evaluate to clang for the first case as
expected but now the second case will use the specified Clang, rather
than the host's copy, which may not be compatible as shown below.

/usr/bin/as: unrecognized option '-mfloat-abi=soft'
clang-6.0: error: assembler command failed with exit code 1

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
(cherry picked from https://patchwork.kernel.org/patch/10419665)
Bug: 80184372
Change-Id: If90a5a4edbc2b5883b4c78161081ebeafbebdcde
2020-11-03 21:30:45 +01:00
Mark Salyzyn
bd13db4607 ANDROID: arm64: vdso32: fix CC=clang build
clang build had wrong --gcc-toolchain for cross compiler.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 63737556
Change-Id: Ib0c3bbb250943a0309da021ba5335a8320b584f4
2020-11-03 21:30:45 +01:00
Mark Salyzyn
72224b1d53 ANDROID: CROSS_COMPILE_ARM32 must work if CONFIG_COMPAT_VDSO
Prevent surprise loss of vdso32 support.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 63737556
Bug: 20045882
Bug: 19198045
Change-Id: I8b381f7649b95b298ea9e1a99aa3794c7bc08d09
2020-11-03 21:30:45 +01:00
Kevin Brodsky
17ce16eaf0 FROMLIST: BACKPORT: [PATCH 6/6] arm64: Wire up and expose the new compat vDSO
(cherry pick from url https://patchwork.kernel.org/patch/10060447/)

Expose the new compat vDSO via the COMPAT_VDSO config option.

The option is not enabled in defconfig because we really need a 32-bit
compiler this time, and we rely on the user to provide it themselves
by setting CROSS_COMPILE_ARM32. Therefore enabling the option by
default would make little sense, since the user must explicitly set a
non-standard environment variable anyway.

CONFIG_COMPAT_VDSO is not directly used in the code, because we want
to ignore it (build as if it were not set) if the user didn't set
CROSS_COMPILE_ARM32. If the variable has been set to a valid prefix,
CONFIG_VDSO32 will be set; this is the option that the code and
Makefiles test.

For more flexibility, like CROSS_COMPILE, CROSS_COMPILE_ARM32 can also
be set via CONFIG_CROSS_COMPILE_ARM32 (the environment variable
overrides the config option, as expected).

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>

Also needs to set CONFIG_ARM_ARCH_TIMER_VCT_ACCESS when CONFIG_VDSO32
is selected.

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Bug: 63737556
Bug: 20045882
Change-Id: Ie8a7d6c2b5ba3edca591a9a953ce99ec792da882
2020-11-03 21:30:45 +01:00
Kevin Brodsky
41493e0ee4 FROMLIST: BACKPORT: [PATCH 5/6] arm64: compat: 32-bit vDSO setup
(cherry pick from url https://patchwork.kernel.org/patch/10060459/)

If the compat vDSO is enabled, install it in compat processes. In this
case, the compat vDSO replaces the sigreturn page (it provides its own
sigreturn trampolines).

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Bug: 63737556
Bug: 20045882
Change-Id: Ia6acf4c3ffea636bc750ac00853ea762c182e5b5
2020-11-03 21:30:44 +01:00
Kevin Brodsky
4dff882d69 FROMLIST: [PATCH 4/6] arm64: compat: Add a 32-bit vDSO
(cherry pick from url https://patchwork.kernel.org/patch/10060445/)

Provide the files necessary for building a compat (AArch32) vDSO in
kernel/vdso32.

This is mostly an adaptation of the arm vDSO. The most significant
change in vgettimeofday.c is the use of the arm64 vdso_data struct,
allowing the vDSO data page to be shared between the 32 and 64-bit
vDSOs. Additionally, a different set of barrier macros is used (see
aarch32-barrier.h), as we want to support old 32-bit compilers that
may not support ARMv8 and its new barrier arguments (*ld).

In addition to the time functions, sigreturn trampolines are also
provided, aiming at replacing those in the sigreturn page as the
latter don't provide any unwinding information (and it's easier to
have just one "user code" page). arm-specific unwinding directives are
used, based on glibc's implementation. Symbol offsets are made
available to the kernel using the same method as the 64-bit vDSO.

There is unfortunately an important caveat: we cannot get away with
hand-coding 32-bit instructions like in kernel/kuser32.S, this time we
really need a 32-bit compiler. The compat vDSO Makefile relies on
CROSS_COMPILE_ARM32 to provide a 32-bit compiler, appropriate logic
will be added to the arm64 Makefile later on to ensure that an attempt
to build the compat vDSO is made only if this variable has been set
properly.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>

Take an effort to recode the arm64 vdso code from assembler to C
previously submitted by Andrew Pinski <apinski@cavium.com>, rework
it for use in both arm and arm64, overlapping any optimizations
for each architecture.

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Bug: 63737556
Bug: 20045882
Change-Id: I3fb9d21b29bd9fec1408f2274d090e6def546b0d
2020-11-03 21:30:44 +01:00
Kevin Brodsky
1760f58203 FROMLIST: [PATCH 3/6] arm64: Refactor vDSO init/setup
(cherry pick from url https://patchwork.kernel.org/patch/10060439/)

Move the logic for setting up mappings and pages for the vDSO into
static functions. This makes the vDSO setup code more consistent with
the compat side and will allow to reuse it for the future compat vDSO.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Bug: 63737556
Bug: 20045882
Change-Id: I13e84479591091669190360f2a7f4d04462e6344
2020-11-03 21:30:44 +01:00
Kevin Brodsky
60b04bd94e FROMLIST: [PATCH 2/6] arm64: elf: Set AT_SYSINFO_EHDR in compat processes
(cherry pick from url https://patchwork.kernel.org/patch/10060431/)

If the compat vDSO is enabled, we need to set AT_SYSINFO_EHDR in the
auxiliary vector of compat processes to the address of the vDSO code
page, so that the dynamic linker can find it (just like the regular vDSO).

Note that we cast context.vdso to Elf64_Off, instead of elf_addr_t,
because elf_addr_t is Elf32_Off in compat_binfmt_elf.c, and casting
context.vdso to u32 would trigger a pointer narrowing warning.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Bug: 63737556
Bug: 20045882
Change-Id: I5d0b191d3b2f4c0b2ec31fe9faef0246253635ce
2020-11-03 21:30:44 +01:00
Kevin Brodsky
20acef7a53 FROMLIST: [PATCH 1/6] arm64: compat: Use vDSO sigreturn trampolines if available
(cherry pick from url https://patchwork.kernel.org/patch/10060449/)

If the compat vDSO is enabled, it replaces the sigreturn page.
Therefore, we use the sigreturn trampolines the vDSO provides instead.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Bug: 63737556
Bug: 20045882
Change-Id: Ic0933741e321e1bf66409b7e190a776f12948024
2020-11-03 21:30:44 +01:00
Mark Salyzyn
dbff683227 FROMLIST: lib: vdso: add support for time
(cherry pick from url https://patchwork.kernel.org/patch/10053549/)

Add time() vdso support to match up with existing support in the x86's
vdso.  Currently benefitting arm and arm64 which uses the common
vgettimeofday.c implementation.  On arm provides about a ~14 fold
improvement in speed over the straight syscall, and about a ~5 fold
improvement in speed over an alternate library implementation that
relies on the vdso call to gettimeofday to fulfill the request.

We can provide __vdso_time even if we can not provide a speed
enhanced __vdso_gettimeofday.

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Bug: 63737556
Bug: 20045882
Change-Id: I0bb3c6bafe57f9ed69350e2dd54edaae58316e8f
2020-11-03 21:30:43 +01:00
Kevin Brodsky
71c155499d FROMLIST: [PATCH] arm64: compat: Expose offset to registers in sigframes
(cherry picked from url https://patchwork.kernel.org/patch/10006025/)

This will be needed to provide unwinding information in compat
sigreturn trampolines, part of the future compat vDSO. There is no
obvious header the compat_sig* struct's should be moved to, so let's
put them in signal32.h.

Also fix minor style issues reported by checkpatch.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Dave Martin <Dave.Martin@arm.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Bug: 63737556
Bug: 20045882
Change-Id: I9c23dd6b56ca48c0953cbf78ccb7b49ded906052
2020-11-03 21:30:43 +01:00
Mark Salyzyn
f663db2e24 FROMLIST: [PATCH v5 11/12] lib: vdso: Add support for CLOCK_BOOTTIME
(cherry pick from url https://patchwork.kernel.org/patch/10044503/)

Take an effort to recode the arm64 vdso code from assembler to C
previously submitted by Andrew Pinski <apinski@cavium.com>, rework
it for use in both arm and arm64, overlapping any optimizations
for each architecture. But instead of landing it in arm64, land the
result into lib/vdso and unify both implementations to simplify
future maintenance.

Add a case for CLOCK_BOOTTIME as it is popular for measuring
relative time on systems expected to suspend() or hibernate().

Android uses CLOCK_BOOTTIME for all relative time measurements
and timeouts. Switching to vdso reduced CPU utilization and improves
accuracy. There is also a desire by some partners to switch all
logging over to CLOCK_BOOTTIME, and thus this operation alone would
contribute to a near percentile CPU load.

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: James Morse <james.morse@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dmitry Safonov <dsafonov@virtuozzo.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Andrew Pinski <apinski@cavium.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Bug: 63737556
Bug: 20045882
Change-Id: I76c26b054baf7f1100e03c65d6b16fe649b883b1
2020-11-03 21:30:43 +01:00
Mark Salyzyn
b9c53b6ff8 FROMLIST: [PATCH v5 10/12] arm64: vdso: replace gettimeofday.S with global vgettimeofday.C
(cherry picked from url https://patchwork.kernel.org/patch/10044501/)

Take an effort from the previous 9 patches to recode the arm64 vdso
code from assembler to C previously submitted by
Andrew Pinski <apinski@cavium.com>, rework it for use in both arm and
arm64, overlapping any optimizations for each architecture. But
instead of landing it in arm64, land the result into lib/vdso and
unify both implementations to simplify future maintenance.

apinski@cavium.com makes the following claims in the original patch:

This allows the compiler to optimize the divide by 1000 and remove
the other divides.

On ThunderX, gettimeofday improves by 32%.  On ThunderX 2,
gettimeofday improves by 18%.

Note I noticed a bug in the old (arm64) implementation of
__kernel_clock_getres; it was checking only the lower 32bits of the
pointer; this would work for most cases but could fail in a few.

<end of claim>

Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Cc: James Morse <james.morse@arm.com>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Dmitry Safonov <dsafonov@virtuozzo.com>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Laura Abbott <labbott@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Andy Gross <andy.gross@linaro.org>
Cc: Kevin Brodsky <kevin.brodsky@arm.com>
Cc: Andrew Pinski <apinski@cavium.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Bug: 63737556
Bug: 20045882
Change-Id: I71ff27ff5bfa323354fda6867b01ec908d8d6cbd
2020-11-03 21:30:42 +01:00
Kevin Brodsky
15be945102 FROMLIST: [PATCH v2 3/3] arm64: compat: Add CONFIG_KUSER_HELPERS
(cherry picked from url http://lkml.iu.edu/hypermail/linux/kernel/1709.1/01903.html)

Make it possible to disable the kuser helpers by adding a KUSER_HELPERS
config option (enabled by default). When disabled, all kuser
helpers-related code is removed from the kernel and no mapping is done
at the fixed high address (0xffff0000); any attempt to use a kuser
helper from a 32-bit process will result in a segfault.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Bug: 9674955
Bug: 63737556
Bug: 20045882
Change-Id: Ie8c543301d39bfe88ef71fb6a669e571914b117b
2020-11-03 21:30:40 +01:00
Kevin Brodsky
5458cba42d FROMLIST: [PATCH v2 2/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (assembler sources)
(cherry picked from url http://lkml.iu.edu/hypermail/linux/kernel/1709.1/01902.html)

AArch32 processes are currently installed a special [vectors] page that
contains the sigreturn trampolines and the kuser helpers, at the fixed
address mandated by the kuser helpers ABI.

Having both functionalities in the same page has become problematic,
because:

* It makes it impossible to disable the kuser helpers (the sigreturn
  trampolines cannot be removed), which is possible on arm.

* A future 32-bit vDSO would provide the sigreturn trampolines itself,
  making those in [vectors] redundant.

This patch addresses the problem by moving the sigreturn trampolines
sources to its own file.  Wrapped the comments to reduce the wrath of
checkpatch.pl.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Bug: 9674955
Bug: 63737556
Bug: 20045882
Change-Id: I1d7b96e7cfbe979ecf4cb4996befd1f3ae0e64fd
2020-11-03 21:30:40 +01:00
Kevin Brodsky
cf2d3b54d3 FROMLIST: [PATCH v2 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources)
(cherry picked from url http://lkml.iu.edu/hypermail/linux/kernel/1709.1/01901.html)

AArch32 processes are currently installed a special [vectors] page that
contains the sigreturn trampolines and the kuser helpers, at the fixed
address mandated by the kuser helpers ABI.

Having both functionalities in the same page has become problematic,
because:

* It makes it impossible to disable the kuser helpers (the sigreturn
  trampolines cannot be removed), which is possible on arm.

* A future 32-bit vDSO would provide the sigreturn trampolines itself,
  making those in [vectors] redundant.

This patch addresses the problem by moving the sigreturn trampolines to
a separate [sigpage] page, mirroring [sigpage] on arm.

Even though [vectors] has always been a misnomer on arm64/compat, as
there is no AArch32 vector there (and now only the kuser helpers),
its name has been left unchanged, for compatibility with arm (there
are reports of software relying on [vectors] being there as the last
mapping in /proc/maps).

mm->context.vdso used to point to the [vectors] page, which is
unnecessary (as its address is fixed). It now points to the [sigpage]
page (whose address is randomized like a vDSO).

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
Bug: 9674955
Bug: 63737556
Bug: 20045882
Change-Id: I52a56ea71d7326df8c784f90eb73b5c324fe9d20
2020-11-03 21:30:40 +01:00
Sultanxda
5ddfb5777c cpu: Silence log spam when a CPU is brought up
Change-Id: Ib9bc76270fedb8d620714faf45de58d5ecdcd64e
Signed-off-by: Sultanxda <sultanxda@gmail.com>
2020-11-03 21:30:29 +01:00
Nathan Chancellor
22ba5bda02 This is the 4.4.241 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl+ad28ACgkQONu9yGCS
 aT4GnA//a6DSwXb5RUI0RhDxNli0k/drPQBy+0EgnPTSe4BqEJWHkashzHD53sih
 u0sBY9ArihIitzxot2+1zItOukSZIBs7LvzzSu2RzjgNbKrI9Lzpt4Svl5K1Nafi
 AOPjXoAoNSGnm81ZVeYQI6ZlnlbE+0LYX634Ena2IJdZDrkSYfIJA5CU8VDxF0KC
 MfRCDz06mozI1coQL0z3+o16XdYfwMTQx7DTD4R4PHQcyInnCKatdDe65DX/IUJt
 ehZCFS4DM7ca8Wbfvy2R0lWZDP0agbr5fJ+1mEpqEwH5Nw2wPpa6/g1OFTU5R5Wm
 WEZu5L2rwg2WVDKpyE7XNMJs6QahZ+4lL83jTlFu8cJHbgMhAZQ9dMxLZ3p7eyk4
 bbJHkRLwEIZUGk3jQVQIQzhFrcDjwg8+5wowLd6e5bRvhk/T4m8NveZpcr4cpVq1
 0yXmImQJiiS98I67QZczxJ3O7v78X2bGMI73Tg2P+yAiqS9bTpLN/l879JCNxYus
 9HZn7cTFXVmIRD+3NoOeIvQyfR3Tte1ZfkG315MEQasJ2jnkI9bZ8jTuxM15TnVk
 7sTrz0u/M+Hfl3GekMUSXlmaOfyMtFtItz/m+gPdhRmPScQ++RfRwmojVq7nFv7H
 F87PWun2YHUvt6I4OsLaQKJbKhg70V5nOZAavEhGGhcRoapt8N4=
 =IgzS
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAl+bIhsACgkQmXOSYMts
 txaXBg/9E6hoh/GRODU7kod++qoHHSbMQk34OKJhEf/JxA3bm9tYpgfVrze/w+qF
 Ou1Ffj+vvCv5T8exubCWlUab7V4HCoRN1EEudQzXACTty0qfv2bxzwHUATM9TCcJ
 Jxyg8UcGLNdf7U+J3o5QTmGZJqaNSkJ0C86gbU41ULXMpP5w3gJ5uvNY3w5LzQtF
 Z1LiTzqx4MuykfeRk/8ezZ/a+PN4dhOk5B42Hh05Qr0KLuYkdK0CIj9/H3y0aQbj
 CpGiTb9DYbgTf+FjODWc4TybD1lqKyJ5vnIw+9HyqrzfFOA3QyS8fbLSLF32Irqr
 JTxs8/Yz+UrQBCCMpJWtbOv4cnfGXJtP6RAFjhuW49y9YddzyQQT8zfCRBnDe1xE
 I1rXmCegfs9Di8zuIC0FIrwjsXJ01JZGoX7KTBq0Zey/Ibtm6dHkSHz8/oB4kbOW
 yif0M95TrN4t2yoGT74Ekl4rpJrVHnoAnEZkOp30M0TFlyFYqXren/zib1E4EH6t
 ddv3kSeq+Pl5U9kOABKcX8McbISeAv3G06tacjVmD8d1tuyotd/ALPsnyHGsm5sV
 257tLTl1rR4/k0KkJt4fhB0EwlKNy5VRVX0Rm57oWK53idVZrrIRQ9u3z5JLdHJ9
 1nCj1v3Gw+lZAsnOv0hhRWj+CRHs3suqSBosMg9+jW7T4KI+l7s=
 =Sv6k
 -----END PGP SIGNATURE-----

Merge 4.4.241 into kernel.lnx.4.4.r39-rel

Changes in 4.4.241: (113 commits)
        ibmveth: Identify ingress large send packets.
        tipc: fix the skb_unshare() in tipc_buf_append()
        net/ipv4: always honour route mtu during forwarding
        r8169: fix data corruption issue on RTL8402
        ALSA: bebob: potential info leak in hwdep_read()
        mm/kasan: print name of mem[set,cpy,move]() caller in report
        mm/kasan: add API to check memory regions
        compiler.h, kasan: Avoid duplicating __read_once_size_nocheck()
        compiler.h: Add read_word_at_a_time() function.
        lib/strscpy: Shut up KASAN false-positives in strscpy()
        x86/mm/ptdump: Fix soft lockup in page table walker
        net: hdlc: In hdlc_rcv, check to make sure dev is an HDLC device
        net: hdlc_raw_eth: Clear the IFF_TX_SKB_SHARING flag after calling ether_setup
        nfc: Ensure presence of NFC_ATTR_FIRMWARE_NAME attribute in nfc_genl_fw_download()
        tcp: fix to update snd_wl1 in bulk receiver fast path
        icmp: randomize the global rate limiter
        cifs: remove bogus debug code
        ima: Don't ignore errors from crypto_shash_update()
        EDAC/i5100: Fix error handling order in i5100_init_one()
        crypto: ixp4xx - Fix the size used in a 'dma_free_coherent()' call
        media: Revert "media: exynos4-is: Add missed check for pinctrl_lookup_state()"
        media: m5mols: Check function pointer in m5mols_sensor_power
        media: omap3isp: Fix memleak in isp_probe
        crypto: omap-sham - fix digcnt register handling with export/import
        media: tc358743: initialize variable
        media: ti-vpe: Fix a missing check and reference count leak
        ath6kl: prevent potential array overflow in ath6kl_add_new_sta()
        ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb()
        wcn36xx: Fix reported 802.11n rx_highest rate wcn3660/wcn3680
        mwifiex: Do not use GFP_KERNEL in atomic context
        drm/gma500: fix error check
        scsi: qla4xxx: Fix an error handling path in 'qla4xxx_get_host_stats()'
        scsi: csiostor: Fix wrong return value in csio_hw_prep_fw()
        backlight: sky81452-backlight: Fix refcount imbalance on error
        VMCI: check return value of get_user_pages_fast() for errors
        tty: serial: earlycon dependency
        tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup()
        pty: do tty_flip_buffer_push without port->lock in pty_write
        drivers/virt/fsl_hypervisor: Fix error handling path
        video: fbdev: vga16fb: fix setting of pixclock because a pass-by-value error
        video: fbdev: sis: fix null ptr dereference
        HID: roccat: add bounds checking in kone_sysfs_write_settings()
        ath6kl: wmi: prevent a shift wrapping bug in ath6kl_wmi_delete_pstream_cmd()
        misc: mic: scif: Fix error handling path
        ALSA: seq: oss: Avoid mutex lock for a long-time ioctl
        quota: clear padding in v2r1_mem2diskdqb()
        net: enic: Cure the enic api locking trainwreck
        mfd: sm501: Fix leaks in probe()
        usb: gadget: u_ether: enable qmult on SuperSpeed Plus as well
        nl80211: fix non-split wiphy information
        mwifiex: fix double free
        net: korina: fix kfree of rx/tx descriptor array
        IB/mlx4: Adjust delayed work when a dup is observed
        powerpc/pseries: Fix missing of_node_put() in rng_init()
        powerpc/icp-hv: Fix missing of_node_put() in success path
        mtd: lpddr: fix excessive stack usage with clang
        mtd: mtdoops: Don't write panic data twice
        ARM: 9007/1: l2c: fix prefetch bits init in L2X0_AUX_CTRL using DT values
        powerpc/tau: Use appropriate temperature sample interval
        powerpc/tau: Remove duplicated set_thresholds() call
        powerpc/tau: Disable TAU between measurements
        perf intel-pt: Fix "context_switch event has no tid" error
        kdb: Fix pager search for multi-line strings
        powerpc/perf/hv-gpci: Fix starting index value
        cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_reboot_notifier
        lib/crc32.c: fix trivial typo in preprocessor condition
        vfio/pci: Clear token on bypass registration failure
        Input: imx6ul_tsc - clean up some errors in imx6ul_tsc_resume()
        Input: ep93xx_keypad - fix handling of platform_get_irq() error
        Input: omap4-keypad - fix handling of platform_get_irq() error
        Input: sun4i-ps2 - fix handling of platform_get_irq() error
        KVM: x86: emulating RDPID failure shall return #UD rather than #GP
        memory: omap-gpmc: Fix a couple off by ones
        memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
        arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
        powerpc/powernv/dump: Fix race while processing OPAL dump
        media: firewire: fix memory leak
        media: ati_remote: sanity check for both endpoints
        media: exynos4-is: Fix several reference count leaks due to pm_runtime_get_sync
        media: exynos4-is: Fix a reference count leak due to pm_runtime_get_sync
        media: exynos4-is: Fix a reference count leak
        media: bdisp: Fix runtime PM imbalance on error
        media: media/pci: prevent memory leak in bttv_probe
        media: uvcvideo: Ensure all probed info is returned to v4l2
        mmc: sdio: Check for CISTPL_VERS_1 buffer size
        media: saa7134: avoid a shift overflow
        ntfs: add check for mft record size in superblock
        PM: hibernate: remove the bogus call to get_gendisk() in software_resume()
        scsi: mvumi: Fix error return in mvumi_io_attach()
        scsi: target: core: Add CONTROL field for trace events
        usb: gadget: function: printer: fix use-after-free in __lock_acquire
        udf: Limit sparing table size
        udf: Avoid accessing uninitialized data on failed inode read
        ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs()
        misc: rtsx: Fix memory leak in rtsx_pci_probe
        reiserfs: only call unlock_new_inode() if I_NEW
        xfs: make sure the rt allocator doesn't run off the end
        usb: ohci: Default to per-port over-current protection
        Bluetooth: Only mark socket zapped after unlocking
        scsi: ibmvfc: Fix error return in ibmvfc_probe()
        brcmsmac: fix memory leak in wlc_phy_attach_lcnphy
        rtl8xxxu: prevent potential memory leak
        Fix use after free in get_capset_info callback.
        tty: ipwireless: fix error handling
        ipvs: Fix uninit-value in do_ip_vs_set_ctl()
        reiserfs: Fix memory leak in reiserfs_parse_options()
        brcm80211: fix possible memleak in brcmf_proto_msgbuf_attach
        usb: core: Solve race condition in anchor cleanup functions
        ath10k: check idx validity in __ath10k_htt_rx_ring_fill_n()
        net: korina: cast KSEG0 address to pointer in kfree
        usb: cdc-acm: add quirk to blacklist ETAS ES58X devices
        USB: cdc-wdm: Make wdm_flush() interruptible and add wdm_fsync().
        Linux 4.4.241

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2020-10-29 13:12:11 -07:00
Michal Simek
b8c1ace6f4 arm64: dts: zynqmp: Remove additional compatible string for i2c IPs
[ Upstream commit 35292518cb0a626fcdcabf739aed75060a018ab5 ]

DT binding permits only one compatible string which was decribed in past by
commit 63cab195bf ("i2c: removed work arounds in i2c driver for Zynq
Ultrascale+ MPSoC").
The commit aea37006e183 ("dt-bindings: i2c: cadence: Migrate i2c-cadence
documentation to YAML") has converted binding to yaml and the following
issues is reported:
...: i2c@ff030000: compatible: Additional items are not allowed
('cdns,i2c-r1p10' was unexpected)
	From schema:
.../Documentation/devicetree/bindings/i2c/cdns,i2c-r1p10.yaml fds
...: i2c@ff030000: compatible: ['cdns,i2c-r1p14', 'cdns,i2c-r1p10'] is too
long

The commit c415f9e8304a ("ARM64: zynqmp: Fix i2c node's compatible string")
has added the second compatible string but without removing origin one.
The patch is only keeping one compatible string "cdns,i2c-r1p14".

Fixes: c415f9e8304a ("ARM64: zynqmp: Fix i2c node's compatible string")
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Link: https://lore.kernel.org/r/cc294ae1a79ef845af6809ddb4049f0c0f5bb87a.1598259551.git.michal.simek@xilinx.com
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-29 09:03:07 +01:00
Nathan Chancellor
68912ae749 This is the 4.4.232 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl8kLg0ACgkQONu9yGCS
 aT4abQ//cj9rRBIi2f+TM+JqYkKdEWHp6+sSi9qyAsSquyLmtYRoZ6U39JMM0UIG
 +Z/7OSL6lg1Xjd9OMVw7VJLWy0cB4AXN6K7NRiuQIq0CF8zIYAyM8SQV/9nT9vyc
 NVDrXiSFkkGmZ1lWJhkb6MO3RFdcYHNUG3dyuq+y5n5ABmXQaRdkN8Lo6TZllQxN
 6/fQ9QxzSvTmPyDwDpzOxrfFegPwRzTLlPyaKkn7oswmN6rYqcxc18PS35GlMTD+
 VZP2zdpIOl++maDMoSO3FLp2lA/5HT1asIvE0S7AgXSHFJkziTgzFJr8OcjYmvRU
 h/JxAbJ5PyXRbsnSeSyIFNWEUsH6BsQdl7eH7bWDQV9Rrru6oXV+Sa+QsLu9Xl6p
 0JgwxAsWfrM0p/6Bg7GTwkbdH2s7pigThUQ4w5DikIsGdtoNsfVNK5KSwmkHh6DH
 7VO9S5cUdIaEVGG+Ghe70a+Yh+9O7O5f48XKW3skrQ95vgb3tupuz8UTU0yis1MP
 iCk3NQtKUahcsAvoWDLljLjLGkrvmtbql61dNvkrbgwJ+BiV+U+LDJ9z88/ywms4
 LRywrExOeTUxS5H7y4efKDhGrCFAH2Xdi0WERRuS22NAT4JhaPGqKLEwXQae4ecm
 cWWikmN463rrAzCPZdJvuAxGo+jHfz/sj4ESOhe/d4LDBiBkzPc=
 =oyOO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAl8kS/wACgkQmXOSYMts
 txbI6w/+Oc9aAaWE8mL222CTATANUZ0sb/sGuCaqmlQ/D0PiHWsAHaJG3L0rnybm
 dgQWAgMs7s6XlSiUGh28PdqTOafLkw+xr9aPOimgV19edhT9fM9Li+SDDm8HKi2E
 jK+zcI2UxV5K9pNfqTr7H4iUATDTosksJCGObpc55TbbAht6XYImyTBT19lG/Oaj
 UQ/mRbBIbnbnqqW1I0ltqDXZVY7XOHfHDhl76QWXdYZ9vz4Ao3FBoWbHSCKePiHo
 tAqkuTWqsy+i1Bwfry7+CodBs1xRh0HX+bXqNGUp0gkeQHs3Of5DBmELmxcqyRKq
 hMkAhSptlyxhImz2aHH6DUQHcBwAsetOrIKf3B/QPNgVS5UkrRrBd6Xt1Y5D5X/1
 kANVYOm8qqMnS1ciFHrqgfOFAvSZ9FPhVIo5JyDHS7/6AvzpIetR0/Xvk4T8b/tm
 4JjpJe/5zJx+qPnzL3e5/5Uur83Q6Z9H+Hz94dK4mXj9XI2ymFpLsR38nsaZeJZb
 Z1xbZUodJwdNsK6/cHH0Cjd0v/JwXLCJtys1o2p6xParQeqws26tbvxe81gBsCZ6
 OocpvvNO8Vs6zYV1SBfohXhI3miSEytjJsanZ/8vV0tUHn4ox/SIusRcrGNS2URD
 paSwafXzvLIBuzjxpez6ntDr4l0FmygoWOfl+69OFa2R/fbsjlc=
 =jwIB
 -----END PGP SIGNATURE-----

Merge 4.4.232 into kernel.lnx.4.4.r39-rel

Changes in 4.4.232: (55 commits)
        pinctrl: amd: fix npins for uart0 in kerncz_groups
        mac80211: allow rx of mesh eapol frames with default rx key
        scsi: scsi_transport_spi: Fix function pointer check
        xtensa: fix __sync_fetch_and_{and,or}_4 declarations
        xtensa: update *pos in cpuinfo_op.next
        drivers/net/wan/lapbether: Fixed the value of hard_header_len
        net: sky2: initialize return of gm_phy_read
        drm/nouveau/i2c/g94-: increase NV_PMGR_DP_AUXCTL_TRANSACTREQ timeout
        SUNRPC reverting d03727b248d0 ("NFSv4 fix CLOSE not waiting for direct IO compeletion")
        perf/core: Fix locking for children siblings group read
        uprobes: Change handle_swbp() to send SIGTRAP with si_code=SI_KERNEL, to fix GDB regression
        ALSA: info: Drop WARN_ON() from buffer NULL sanity check
        ASoC: rt5670: Correct RT5670_LDO_SEL_MASK
        btrfs: fix double free on ulist after backref resolution failure
        x86/fpu: Disable bottom halves while loading FPU registers
        btrfs: fix mount failure caused by race with umount
        hippi: Fix a size used in a 'pci_free_consistent()' in an error handling path
        ax88172a: fix ax88172a_unbind() failures
        net: dp83640: fix SIOCSHWTSTAMP to update the struct with actual configuration
        net: smc91x: Fix possible memory leak in smc_drv_probe()
        scripts/decode_stacktrace: strip basepath from all paths
        regmap: dev_get_regmap_match(): fix string comparison
        usb: gadget: udc: gr_udc: fix memleak on error handling path in gr_ep_init()
        arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
        x86: math-emu: Fix up 'cmp' insn for clang ias
        Revert "cifs: Fix the target file was deleted when rename failed."
        staging: wlan-ng: properly check endpoint types
        staging: comedi: addi_apci_1032: check INSN_CONFIG_DIGITAL_TRIG shift
        staging: comedi: ni_6527: fix INSN_CONFIG_DIGITAL_TRIG support
        staging: comedi: addi_apci_1500: check INSN_CONFIG_DIGITAL_TRIG shift
        staging: comedi: addi_apci_1564: check INSN_CONFIG_DIGITAL_TRIG shift
        serial: 8250: fix null-ptr-deref in serial8250_start_tx()
        serial: 8250_mtk: Fix high-speed baud rates clamping
        mm/memcg: fix refcount error while moving and swapping
        parisc: Add atomic64_set_release() define to avoid CPU soft lockups
        ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
        ath9k: Fix regression with Atheros 9271
        AX.25: Fix out-of-bounds read in ax25_connect()
        AX.25: Prevent out-of-bounds read in ax25_sendmsg()
        net-sysfs: add a newline when printing 'tx_timeout' by sysfs
        net: udp: Fix wrong clean up for IS_UDPLITE macro
        AX.25: Prevent integer overflows in connect and sendmsg
        tcp: allow at most one TLP probe per flight
        rxrpc: Fix sendmsg() returning EPIPE due to recvmsg() returning ENODATA
        ip6_gre: fix null-ptr-deref in ip6gre_init_net()
        drivers/net/wan/x25_asy: Fix to make it work
        Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation
        regmap: debugfs: check count when read regmap file
        xfs: set format back to extents if xfs_bmap_extents_to_btree
        tools/lib/subcmd/pager.c: do not alias select() params
        perf: Make perf able to build with latest libbfd
        perf tools: Fix snprint warnings for gcc 8
        perf annotate: Use asprintf when formatting objdump command line
        perf probe: Fix to check blacklist address correctly
        Linux 4.4.232

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2020-07-31 09:51:08 -07:00
Will Deacon
049720cd33 arm64: Use test_tsk_thread_flag() for checking TIF_SINGLESTEP
[ Upstream commit 5afc78551bf5d53279036e0bf63314e35631d79f ]

Rather than open-code test_tsk_thread_flag() at each callsite, simply
replace the couple of offenders with calls to test_tsk_thread_flag()
directly.

Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-07-31 16:43:14 +02:00
Nathan Chancellor
143b08bdb6 This is the 4.4.231 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl8X5lAACgkQONu9yGCS
 aT7v5BAAtOTMdaugQPO9qx+DJgxnScvlsfxLoXTv6NXRutoN/jaZtew2+9aTEPlb
 +QDEupU1o0xI6ZUMUYf6fp0hgrv+TXWfC4lprPG6vncbSDlJw/NWHFTOsRyFIkcs
 Wwtj9QRSVdmblXOC9jb5vnDLLFr+spU+cslo80/4GoCVtDqbBUx82a25FMTMdvrw
 n6pNleDAyfadfbl3jleCAUYlF2S3FQHaIu4xxQ0P12AXaazwKu4IQKjGUW2VJsJR
 b27YGK+HXJvQW++y3SYdNmowb93ieu9wk85imfJbzsMCOnErPb5AIUkGYaxag1mm
 c1RkqLBGm5roMZZKSI+FDyce63XbeHlGVTjQBeY27FciHxq5i60THAI2frpC08ks
 NbGw6nwG/66GeIePFp51nzcEaUyZC8UhB85S/3bMa2I7M++PvakVW0M7kRRoDDNF
 f4zddfdmijfsdBR63AVabxX5feRaJbEPi53fLRS0IY3ZkVzvSjDBDuSipRZB3lmQ
 oBoX3f+fdpPF5ArnCxRB27NFUXL8PyQcZ/TL+3Inf2xwjWPWrRN78v2IEg+BQmX5
 1U4aX3fFwJ7vCXIU81G/4eHt0RLlCUFwHF9E44m0ujrCdtiW+zcyqne3dDBTkDVH
 PygL81SPLH8jYvU5C/BRLqpLTNMzOiVJCKF77Kt46rg5xOJHOPg=
 =OdUy
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAl8jhwsACgkQmXOSYMts
 txavrBAAl6OyULLJlLPPsVypUE6NxAl3sEvRMbDU5LqvUWTBWqfNYqyRLRo0vOTf
 yKMj3ChC/5sTRcqOwff9KzISyD/VAvIewyCagECJMEDpTm4pE4/o/ikzfFxfurI1
 otV+3qREeZ9kgE0zfc0sb0Qa1dUBdJrXC2Vy7CBihUNkwl/lxrlLcgmIUaEsfLCS
 1iU3Ha031BsBAnAZik292ybOQzD4k2/oLYCo/S7nyBsxEM2MEUjf31rD46sALsTI
 0+/rlbyp3su+Wi4ZkOkY4yY8hzhvMHKL3bnNPSjzDnKtigr7ADKsA6lhNs6O5B7G
 KXRcKEFAeV45OpEVA1vRNxwQIYO/VpyKEd541Wg927A7v0C4YkEIsRCHcgeeO8rz
 f0NCVmFrXlGdeBsk3zQj/GWoeATm9BYZREtlHtZ0I3lA+ri4Scnbq/UQ1jYJJ2fD
 Lpj7UgpsHFm93XIVS0fV8czFB/z0kyiiizCp3Y++8pMSaqwQwQ1Obi8cuTSVUhzA
 SesjURS6Fy0Vsi6Dyn0oJ7TDkB1QVTp7eJDEDkCMMHf5xgD8nRLbmj/AUHQ9WsnX
 CnLtb2g9PpZMZ3lY5ZEphCAZKSDYtF/22PlZnUfcZfbsIpJ0pIp9ybpJPyXY5bSe
 8ASEQ/uD6+Xr0N/jXXvKQ4LwY4EjOkKxqkkjxTQ/ppPc7wAN9Ug=
 =CqSc
 -----END PGP SIGNATURE-----

Merge 4.4.231 into kernel.lnx.4.4.r39-rel

Changes in 4.4.231: (59 commits)
        KVM: s390: reduce number of IO pins to 1
        spi: spidev: fix a race between spidev_release and spidev_remove
        spi: spidev: fix a potential use-after-free in spidev_release()
        scsi: mptscsih: Fix read sense data size
        net: cxgb4: fix return error value in t4_prep_fw
        smsc95xx: check return value of smsc95xx_reset
        smsc95xx: avoid memory leak in smsc95xx_bind
        ALSA: compress: fix partial_drain completion state
        arm64: kgdb: Fix single-step exception handling oops
        ALSA: opl3: fix infoleak in opl3
        ALSA: hda - let hs_mic be picked ahead of hp_mic
        ALSA: usb-audio: add quirk for MacroSilicon MS2109
        KVM: x86: bit 8 of non-leaf PDPEs is not reserved
        Revert "ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb"
        btrfs: fix fatal extent_buffer readahead vs releasepage race
        drm/radeon: fix double free
        ARC: entry: fix potential EFA clobber when TIF_SYSCALL_TRACE
        ARC: elf: use right ELF_ARCH
        bnxt_en: fix NULL dereference in case SR-IOV configuration fails
        ipv4: fill fl4_icmp_{type,code} in ping_v4_sendmsg
        l2tp: remove skb_dst_set() from l2tp_xmit_skb()
        llc: make sure applications use ARPHRD_ETHER
        net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
        genetlink: remove genl_bind
        tcp: make sure listeners don't initialize congestion-control state
        tcp: md5: add missing memory barriers in tcp_md5_do_add()/tcp_md5_hash_key()
        tcp: md5: refine tcp_md5_do_add()/tcp_md5_hash_key() barriers
        tcp: md5: allow changing MD5 keys in all socket states
        i2c: eg20t: Load module automatically if ID matches
        Revert "usb/ehci-platform: Set PM runtime as active on resume"
        Revert "usb/xhci-plat: Set PM runtime as active on resume"
        Revert "usb/ohci-platform: Fix a warning when hibernating"
        usb: gadget: udc: atmel: fix uninitialized read in debug printk
        staging: comedi: verify array index is correct before using it
        perf stat: Zero all the 'ena' and 'run' array slot stats for interval mode
        mtd: rawnand: brcmnand: fix CS0 layout
        HID: magicmouse: do not set up autorepeat
        usb: core: Add a helper function to check the validity of EP type in URB
        ALSA: line6: Perform sanity check for each URB creation
        ALSA: usb-audio: Fix race against the error recovery URB submission
        USB: c67x00: fix use after free in c67x00_giveback_urb
        usb: chipidea: core: add wakeup support for extcon
        usb: gadget: function: fix missing spinlock in f_uac1_legacy
        USB: serial: iuu_phoenix: fix memory corruption
        USB: serial: cypress_m8: enable Simply Automated UPB PIM
        USB: serial: ch341: add new Product ID for CH340
        USB: serial: option: add GosunCn GM500 series
        USB: serial: option: add Quectel EG95 LTE modem
        virtio: virtio_console: add missing MODULE_DEVICE_TABLE() for rproc serial
        fuse: Fix parameter for FS_IOC_{GET,SET}FLAGS
        mei: bus: don't clean driver pointer
        Input: i8042 - add Lenovo XiaoXin Air 12 to i8042 nomux list
        uio_pdrv_genirq: fix use without device tree and no interrupt
        MIPS: Fix build for LTS kernel caused by backporting lpj adjustment
        hwmon: (emc2103) fix unable to change fan pwm1_enable attribute
        dmaengine: fsl-edma: Fix NULL pointer exception in fsl_edma_tx_handler
        misc: atmel-ssc: lock with mutex instead of spinlock
        sched/fair: handle case of task_h_load() returning 0
        Linux 4.4.231

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/usb/gadget/function/f_uac1.c
	drivers/usb/host/xhci-plat.c
	net/netlink/genetlink.c
	sound/core/compress_offload.c
2020-07-30 19:50:50 -07:00
Wei Li
ad013eb1eb arm64: kgdb: Fix single-step exception handling oops
[ Upstream commit 8523c006264df65aac7d77284cc69aac46a6f842 ]

After entering kdb due to breakpoint, when we execute 'ss' or 'go' (will
delay installing breakpoints, do single-step first), it won't work
correctly, and it will enter kdb due to oops.

It's because the reason gotten in kdb_stub() is not as expected, and it
seems that the ex_vector for single-step should be 0, like what arch
powerpc/sh/parisc has implemented.

Before the patch:
Entering kdb (current=0xffff8000119e2dc0, pid 0) on processor 0 due to Keyboard Entry
[0]kdb> bp printk
Instruction(i) BP #0 at 0xffff8000101486cc (printk)
    is enabled   addr at ffff8000101486cc, hardtype=0 installed=0

[0]kdb> g

/ # echo h > /proc/sysrq-trigger

Entering kdb (current=0xffff0000fa878040, pid 266) on processor 3 due to Breakpoint @ 0xffff8000101486cc
[3]kdb> ss

Entering kdb (current=0xffff0000fa878040, pid 266) on processor 3 Oops: (null)
due to oops @ 0xffff800010082ab8
CPU: 3 PID: 266 Comm: sh Not tainted 5.7.0-rc4-13839-gf0e5ad491718 #6
Hardware name: linux,dummy-virt (DT)
pstate: 00000085 (nzcv daIf -PAN -UAO)
pc : el1_irq+0x78/0x180
lr : __handle_sysrq+0x80/0x190
sp : ffff800015003bf0
x29: ffff800015003d20 x28: ffff0000fa878040
x27: 0000000000000000 x26: ffff80001126b1f0
x25: ffff800011b6a0d8 x24: 0000000000000000
x23: 0000000080200005 x22: ffff8000101486cc
x21: ffff800015003d30 x20: 0000ffffffffffff
x19: ffff8000119f2000 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000
x15: 0000000000000000 x14: 0000000000000000
x13: 0000000000000000 x12: 0000000000000000
x11: 0000000000000000 x10: 0000000000000000
x9 : 0000000000000000 x8 : ffff800015003e50
x7 : 0000000000000002 x6 : 00000000380b9990
x5 : ffff8000106e99e8 x4 : ffff0000fadd83c0
x3 : 0000ffffffffffff x2 : ffff800011b6a0d8
x1 : ffff800011b6a000 x0 : ffff80001130c9d8
Call trace:
 el1_irq+0x78/0x180
 printk+0x0/0x84
 write_sysrq_trigger+0xb0/0x118
 proc_reg_write+0xb4/0xe0
 __vfs_write+0x18/0x40
 vfs_write+0xb0/0x1b8
 ksys_write+0x64/0xf0
 __arm64_sys_write+0x14/0x20
 el0_svc_common.constprop.2+0xb0/0x168
 do_el0_svc+0x20/0x98
 el0_sync_handler+0xec/0x1a8
 el0_sync+0x140/0x180

[3]kdb>

After the patch:
Entering kdb (current=0xffff8000119e2dc0, pid 0) on processor 0 due to Keyboard Entry
[0]kdb> bp printk
Instruction(i) BP #0 at 0xffff8000101486cc (printk)
    is enabled   addr at ffff8000101486cc, hardtype=0 installed=0

[0]kdb> g

/ # echo h > /proc/sysrq-trigger

Entering kdb (current=0xffff0000fa852bc0, pid 268) on processor 0 due to Breakpoint @ 0xffff8000101486cc
[0]kdb> g

Entering kdb (current=0xffff0000fa852bc0, pid 268) on processor 0 due to Breakpoint @ 0xffff8000101486cc
[0]kdb> ss

Entering kdb (current=0xffff0000fa852bc0, pid 268) on processor 0 due to SS trap @ 0xffff800010082ab8
[0]kdb>

Fixes: 44679a4f14 ("arm64: KGDB: Add step debugging support")
Signed-off-by: Wei Li <liwei391@huawei.com>
Tested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20200509214159.19680-2-liwei391@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-07-22 09:10:02 +02:00
Nathan Chancellor
f2b8d41add Linux 4.4.229
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE4n5dijQDou9mhzu83qZv95d3LNwFAl77n/QACgkQ3qZv95d3
 LNz32RAAv97sAOnMaLii5ZgJtLGAHaAm6yCXbFzlfZLS75CBWG4Fy+4hTuDhVOBj
 9rkRtpCDqzfvjmPZld9uSTyXSSxuPmKP0UpZTEC7Ctoz0wX1Q8SUNQQ+sPNj41Y0
 k5L9Aqm7TTalu0LYl9i1BZtriO2SY27fhMbt0rJdw1GGJHQBsfCNQxX+LGF3RQaO
 itCY4pwl1AXHc/lRfybxEmdzSOGBqFrKS0Hda0cneDXNRevhS24qWDVjWgjgC6Ha
 kMygBTbsHqF7H+GR6gDc2SUYoFR/cA2A7T6Q9YQsTJpaTtZsIqsys1WMemh4zwed
 ctomUTjGPVMTsn5llPF+E7oJQh91sQ/hu666zHtn9O0jOrnBYwiwHc5kKeP/zh6f
 TuaBzZhz7dCxTGA8psBbOnUVjG2xhgDW5ZSlyWaADVPeXWO6aFFl71pjrlZJ1ezP
 eq5+BcTxFyMLfxzEUie3mwkBtSGFFnhwkmNsX0m4EgdNPmcx6s8VDrTgFcgwu+4l
 FK1ImqIpkiNp+OGwcp3V7mYYqvhHGBS0sQHnBFXX6Kv1Za76+oEMOl4VIWOU+SvF
 zyX+GuFk0lMZVabHEPvcUnzaQ8KG9YRGPjBTZoXflDZ6hpCja5nsiUKAAX1nO/7Z
 CRCti3fCyhDaW4bv5eKPLvlQSpI+FCW3BBusKuBJq9HbxedPPlg=
 =8zJW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAl78vu4ACgkQmXOSYMts
 txYQZhAAmtKHaupyiLyYJUJB8eeHysmk5KQBjahBBRC8n51E1EF49eK19MibStOU
 /g6ETKcFRUXDGt8gMu1y2KhOrB8jq5hkjbyYpgKNXx8LNgOW3ZN1cysXCYKPefEI
 6JRZp8OmX7MP8H6jmzsvrxbLmaqSR2iweUQDmpEi4aC6WBVCBufhib3+Ydjo8UT8
 YKOf5Y2fNncBFe3p7gg4n/eqr2V83+/Dtgp0XmLt+ehE5Tp8WMpKNjP6ddPhIHnd
 uAcsz/jXU24+JykgV2KfixLwkQxSf+pkppijArNYS5XLG07MjRbB9W70qH1ZqcwY
 ignCZNbyjI+5EDwl3wMGosbQPyxhTYO2ozmlNx+ANs7t0yjMnY9A5vT9zIPDEfKI
 oSPgqgVDvdhsxG/eKGAk9qo97NX1W/dzmSOSAr5ubM7QeegwpxpKZNSTazP3MIar
 DU9jSFIODphe+GVVwdRxAXm0X4VjfFfXIV+74uT5RQsCb0YJwTz5PHeTDkjpYTXD
 EqK7iOCYKrEjDZ5QKZzos/5OxG13VeuwrZ8a2BZ+5L0mVO1bM3rBG5Cgwp6fQmpU
 fW2/uFygWMSWZ1iQkFBSoQfyadcraQTDPg/tlL1axkvEme6DOpqQcJckHogUX+S7
 bN8ayqgJIR9d1j7WhtQmPi36UzOb2kM4FnN4Ry3WrwnTlZUFFIY=
 =4FLF
 -----END PGP SIGNATURE-----

Merge 4.4.229 into kernel.lnx.4.4.r39-rel

Changes in 4.4.229: (135 commits)
        s390: fix syscall_get_error for compat processes
        clk: sunxi: Fix incorrect usage of round_down()
        i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets
        clk: qcom: msm8916: Fix the address location of pll->config_reg
        ALSA: isa/wavefront: prevent out of bounds write in ioctl
        scsi: qla2xxx: Fix issue with adapter's stopping state
        i2c: pxa: clear all master action bits in i2c_pxa_stop_message()
        usblp: poison URBs upon disconnect
        ps3disk: use the default segment boundary
        vfio/pci: fix memory leaks in alloc_perm_bits()
        mfd: wm8994: Fix driver operation if loaded as modules
        scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event
        nfsd: Fix svc_xprt refcnt leak when setup callback client failed
        powerpc/crashkernel: Take "mem=" option into account
        yam: fix possible memory leak in yam_init_driver
        mksysmap: Fix the mismatch of '.L' symbols in System.map
        scsi: sr: Fix sr_probe() missing deallocate of device minor
        scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM
        ALSA: usb-audio: Improve frames size computation
        s390/qdio: put thinint indicator after early error
        tty: hvc: Fix data abort due to race in hvc_open
        staging: sm750fb: add missing case while setting FB_VISUAL
        i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output
        serial: amba-pl011: Make sure we initialize the port.lock spinlock
        drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish
        PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges
        power: supply: smb347-charger: IRQSTAT_D is volatile
        scsi: mpt3sas: Fix double free warnings
        dlm: remove BUG() before panic()
        clk: ti: composite: fix memory leak
        tty: n_gsm: Fix SOF skipping
        tty: n_gsm: Fix waking up upper tty layer when room available
        powerpc/pseries/ras: Fix FWNMI_VALID off by one
        powerpc/ps3: Fix kexec shutdown hang
        vfio-pci: Mask cap zero
        usb/ohci-platform: Fix a warning when hibernating
        USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe()
        tty: n_gsm: Fix bogus i++ in gsm_data_kick
        clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1
        watchdog: da9062: No need to ping manually before setting timeout
        usb: dwc2: gadget: move gadget resume after the core is in L0 state
        USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke
        usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check
        usb: gadget: fix potential double-free in m66592_probe.
        net: sunrpc: Fix off-by-one issues in 'rpc_ntop6'
        ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed
        openrisc: Fix issue with argument clobbering for clone/fork
        gfs2: Allow lock_nolock mount to specify jid=X
        scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj
        lib/zlib: remove outdated and incorrect pre-increment optimization
        include/linux/bitops.h: avoid clang shift-count-overflow warnings
        elfnote: mark all .note sections SHF_ALLOC
        selftests/net: in timestamping, strncpy needs to preserve null byte
        scsi: acornscsi: Fix an error handling path in acornscsi_probe()
        usb/xhci-plat: Set PM runtime as active on resume
        usb/ehci-platform: Set PM runtime as active on resume
        perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events()
        bcache: fix potential deadlock problem in btree_gc_coalesce
        block: Fix use-after-free in blkdev_get()
        libata: Use per port sync for detach
        drm: encoder_slave: fix refcouting error for modules
        drm/dp_mst: Reformat drm_dp_check_act_status() a bit
        drm/qxl: Use correct notify port address when creating cursor ring
        selinux: fix double free
        ext4: fix partial cluster initialization when splitting extent
        drm/dp_mst: Increase ACT retry timeout to 3s
        sparc64: fix misuses of access_process_vm() in genregs32_[sg]et()
        block: nr_sects_write(): Disable preemption on seqcount write
        crypto: algboss - don't wait during notifier callback
        kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex
        powerpc/kprobes: Fixes for kprobe_lookup_name() on BE
        x86/kprobes: Avoid kretprobe recursion bug
        kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
        e1000e: Do not wake up the system via WOL if device wakeup is disabled
        sched/rt, net: Use CONFIG_PREEMPTION.patch
        net: core: device_rename: Use rwsem instead of a seqcount
        net: Revert "pkt_sched: fq: use proper locking in fq_dump_stats()"
        scsi: scsi_devinfo: handle non-terminated strings
        l2tp: Allow duplicate session creation with UDP
        net: sched: export __netdev_watchdog_up()
        fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"
        net: fix memleak in register_netdevice()
        net: usb: ax88179_178a: fix packet alignment padding
        tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes
        ip_tunnel: fix use-after-free in ip_tunnel_lookup()
        tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT
        ip6_gre: fix use-after-free in ip6gre_tunnel_lookup()
        tcp: grow window for OOO packets only for SACK flows
        sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket
        net: Fix the arp error in some cases
        net: Do not clear the sock TX queue in sk_set_socket()
        net: core: reduce recursion limit value
        mld: fix memory leak in ipv6_mc_destroy_dev()
        USB: ohci-sm501: Add missed iounmap() in remove
        usb: dwc2: Postponed gadget registration to the udc class driver
        usb: add USB_QUIRK_DELAY_INIT for Logitech C922
        PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports
        USB: ehci: reopen solution for Synopsys HC bug
        usb: host: ehci-exynos: Fix error check in exynos_ehci_probe()
        ALSA: usb-audio: add quirk for Denon DCD-1500RE
        xhci: Fix incorrect EP_STATE_MASK
        xhci: Fix enumeration issue when setting max packet size for FS devices.
        cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip
        ALSA: usb-audio: uac1: Invalidate ctl on interrupt
        ALSA: usb-audio: allow clock source validity interrupts
        ALSA: usb-audio: Clean up mixer element list traverse
        ALSA: usb-audio: Fix OOB access of mixer element list
        xhci: Poll for U0 after disabling USB2 LPM
        cifs/smb3: Fix data inconsistent when punch hole
        cifs/smb3: Fix data inconsistent when zero file range
        efi/esrt: Fix reference count leak in esre_create_sysfs_entry.
        RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads()
        ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram()
        usb: gadget: udc: Potential Oops in error handling code
        netfilter: ipset: fix unaligned atomic access
        sched/core: Fix PI boosting between RT and DEADLINE tasks
        net: alx: fix race condition in alx_remove
        kbuild: improve cc-option to clean up all temporary files
        blktrace: break out of blktrace setup on concurrent calls
        ACPI: sysfs: Fix pm_profile_attr type
        KVM: X86: Fix MSR range of APIC registers in X2APIC mode
        mm/slab: use memzero_explicit() in kzfree()
        ocfs2: load global_inode_alloc
        ocfs2: fix value of OCFS2_INVALID_SLOT
        ocfs2: fix panic on nfs server over ocfs2
        arm64: perf: Report the PC value in REGS_ABI_32 mode
        tracing: Fix event trigger to accept redundant spaces
        drm/radeon: fix fb_div check in ni_init_smc_spll_table()
        sunrpc: fixed rollback in rpc_gssd_dummy_populate()
        SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment()
        pNFS/flexfiles: Fix list corruption if the mirror count changes
        NFSv4 fix CLOSE not waiting for direct IO compeletion
        PCI: Disable MSI for HiSilicon Hip06/Hip07 only in Root Port mode
        ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate()
        Linux 4.4.229

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	drivers/usb/host/xhci-plat.c
2020-07-01 09:50:53 -07:00
Jiping Ma
50e22de32a arm64: perf: Report the PC value in REGS_ABI_32 mode
commit 8dfe804a4031ca6ba3a3efb2048534249b64f3a5 upstream.

A 32-bit perf querying the registers of a compat task using REGS_ABI_32
will receive zeroes from w15, when it expects to find the PC.

Return the PC value for register dwarf register 15 when returning register
values for a compat task to perf.

Cc: <stable@vger.kernel.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
Link: https://lore.kernel.org/r/1589165527-188401-1-git-send-email-jiping.ma2@windriver.com
[will: Shuffled code and added a comment]
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-29 20:08:03 -04:00
Swetha Chikkaboraiah
2fb8f5172d defconfig: Create symbolic link for arm64 defconfigs
Create symbolic link for arm64 defconfigs under vendor subdirectory.

Change-Id: I5e2c6a86d7c10d32109c62adcba9ad5e6f646fc9
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2020-06-23 00:23:42 -07:00
Swetha Chikkaboraiah
f46488ee3b defconfig: auto: remove auto defconfigs
Auto configs are not supported on this
baseline so remove the support.

Change-Id: If21e6dfa54d42a7e10120b401551f1b81a88395b
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
2020-06-23 00:20:13 -07:00
Nathan Chancellor
fd85389663 This is the 4.4.228 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl7tx38ACgkQONu9yGCS
 aT657w/9EfyImC5i+I+ChzfgtIeT3/ckbnJpYu0WWQmbXINP7C8Yso9AawMMKylT
 7Iz4OFBws/8qBUR9f1b/66+iJnQGPrmZRGpcrBJmQUDV3dJ9cei+lqsADjdi1d0J
 sY1BK6/3jbfWfs0nU94+W6pYtdkB/zo7nHYGRQEjf1Y2aDL+IMOr6I+Y67fmjzN6
 tt/noD6+LYbT0sk7l5mfbEKCgTD0/AzHJd5BXD8yThNZ6GmEflvOEkW7chBycXSk
 RVmd3dfOwdsr48e2oQyUEmczx5kuKCLUZmuWsazGugDL5BTDhWjqLBgD7FaqhFje
 qH/yuhkjJC/gz9idqos6uc9SPW7R/Iu0Vn1Eqx1eBg19BTMJPcSR2K6zx1t75BuL
 NpGH9njjtoFcvqnHdE+RHmTjicOBF0ZhU8S5PKDNVXLCJ4OsLWhX29lxOsq5m8XH
 8v66ZpTjDrz+9LFZhXLITqmZcUiTdzefM0lepereVvuZlB977PPKg6l2gSxQuihP
 g1wU54V6MaVAKhrUNQ1oVP5FMKxpB8RurxMWEaV3CJKapduAKgdR5yPulFHtCnfS
 OoblUEW6QufF73l8xZnPScNptwx64LDd47acDv3MIfesxkQRBmhIKhH99XTvoJSP
 FbSw1R3o4TN/SD/aktJfG2sPvKlpsuQX+eGC1lrvUzWgeOcbN48=
 =a0eo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEJDfLduVEy2qz2d/TmXOSYMtstxYFAl7w8/QACgkQmXOSYMts
 txYNNg//dQ77S/tN5w0ocw4TchwRt8OnZFLSY3S14f/VcPSPOZC9cUlAOFWSQNmA
 T+Z4daKBwMZULlelAjxUjqcLN87y80eARhGn09oNOBRxsSh8ZplUnYto0gJ7qRCB
 VPIxoLpXeDHxRZGIIwnOhNzvgrQVMPAx2Kh5l1zpHPQqRHsLXwmel2kpNvJM8k2+
 mdGeL4O2S6xqT6mxHwyP6Ewp6fENmwyTUOGf8ja15UFYU6hwPT2EcaaPwuUF1oQs
 A7+eTBTB3/PwqFF3/B6CRfXATx+YIIj8TDYm0CmwEtWQLAzswaD1ryWSWsY9jGYh
 /gPLFZdtoghPeoc+aX3suZldJ53IRxe0Wa5DV5FmjNUltF4+W2SAC+CjJlPqhwJg
 pk4yUqPO6jw0ghoapzKiYVWp41wKmupvSCUYSQ9SSgqeFBRnZnArOIpeQuG5fZ8c
 OqS5LoVqZuUkgjMaAOznY4jg3g9xpOjPiSi0s5+jCRJxqARquzhWRtVZtndZGX8E
 Sxp6lXLUQobqdinh5h1j4ywtGLzD1Hou+TbtIHlxpNZ06s5zQmO6O8SAIqx9CP4p
 EiI2ky6U6yEee/2EcDBHXEKT+eLuQF0RhNgssIe4s8h0EtQrZblKC3cj+Jzs12pa
 siPaS5ll8duzVhi1IemPwms9Sf5h4zK9x+CSlxB3WePMG46uP4s=
 =x63r
 -----END PGP SIGNATURE-----

Merge 4.4.228 into kernel.lnx.4.4.r39-rel

Changes in 4.4.228: (102 commits)
        ipv6: fix IPV6_ADDRFORM operation logic
        vxlan: Avoid infinite loop when suppressing NS messages with invalid options
        scsi: return correct blkprep status code in case scsi_init_io() fails.
        net: phy: marvell: Limit 88m1101 autoneg errata to 88E1145 as well.
        pwm: fsl-ftm: Use flat regmap cache
        igb: improve handling of disconnected adapters
        ARM: 8977/1: ptrace: Fix mask for thumb breakpoint hook
        sched/fair: Don't NUMA balance for kthreads
        ath9k_htc: Silence undersized packet warnings
        x86_64: Fix jiffies ODR violation
        x86/speculation: Prevent rogue cross-process SSBD shutdown
        x86/reboot/quirks: Add MacBook6,1 reboot quirk
        efi/efivars: Add missing kobject_put() in sysfs entry creation error path
        ALSA: es1688: Add the missed snd_card_free()
        ALSA: usb-audio: Fix inconsistent card PM state after resume
        ACPI: sysfs: Fix reference count leak in acpi_sysfs_add_hotplug_profile()
        ACPI: PM: Avoid using power resources if there are none for D0
        cgroup, blkcg: Prepare some symbols for module and !CONFIG_CGROUP usages
        nilfs2: fix null pointer dereference at nilfs_segctor_do_construct()
        spi: bcm2835aux: Fix controller unregister order
        ALSA: pcm: disallow linking stream to itself
        x86/speculation: Change misspelled STIPB to STIBP
        x86/speculation: Add support for STIBP always-on preferred mode
        x86/speculation: Avoid force-disabling IBPB based on STIBP and enhanced IBRS.
        x86/speculation: PR_SPEC_FORCE_DISABLE enforcement for indirect branches.
        spi: dw: fix possible race condition
        spi: dw: Fix controller unregister order
        spi: No need to assign dummy value in spi_unregister_controller()
        spi: Fix controller unregister order
        spi: pxa2xx: Fix controller unregister order
        spi: bcm2835: Fix controller unregister order
        ovl: initialize error in ovl_copy_xattr
        proc: Use new_inode not new_inode_pseudo
        video: fbdev: w100fb: Fix a potential double free.
        KVM: nSVM: leave ASID aside in copy_vmcb_control_area
        KVM: nVMX: Consult only the "basic" exit reason when routing nested exit
        KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
        ath9k: Fix use-after-free Read in ath9k_wmi_ctrl_rx
        ath9k: Fix use-after-free Write in ath9k_htc_rx_msg
        ath9x: Fix stack-out-of-bounds Write in ath9k_hif_usb_rx_cb
        ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb
        Smack: slab-out-of-bounds in vsscanf
        mm/slub: fix a memory leak in sysfs_slab_add()
        fat: don't allow to mount if the FAT length == 0
        can: kvaser_usb: kvaser_usb_leaf: Fix some info-leaks to USB devices
        spi: dw: Zero DMA Tx and Rx configurations on stack
        Bluetooth: Add SCO fallback for invalid LMP parameters error
        kgdb: Prevent infinite recursive entries to the debugger
        spi: dw: Enable interrupts in accordance with DMA xfer mode
        clocksource: dw_apb_timer_of: Fix missing clockevent timers
        btrfs: do not ignore error from btrfs_next_leaf() when inserting checksums
        ARM: 8978/1: mm: make act_mm() respect THREAD_SIZE
        net: vmxnet3: fix possible buffer overflow caused by bad DMA value in vmxnet3_get_rss()
        staging: android: ion: use vmap instead of vm_map_ram
        e1000: Distribute switch variables for initialization
        media: dvb: return -EREMOTEIO on i2c transfer failure.
        MIPS: Make sparse_init() using top-down allocation
        netfilter: nft_nat: return EOPNOTSUPP if type or flags are not supported
        lib/mpi: Fix 64-bit MIPS build with Clang
        net: lpc-enet: fix error return code in lpc_mii_init()
        net: allwinner: Fix use correct return type for ndo_start_xmit()
        powerpc/spufs: fix copy_to_user while atomic
        mips: cm: Fix an invalid error code of INTVN_*_ERR
        kgdb: Fix spurious true from in_dbg_master()
        md: don't flush workqueue unconditionally in md_open
        mwifiex: Fix memory corruption in dump_station
        mips: Add udelay lpj numbers adjustment
        x86/mm: Stop printing BRK addresses
        m68k: mac: Don't call via_flush_cache() on Mac IIfx
        macvlan: Skip loopback packets in RX handler
        PCI: Don't disable decoding when mmio_always_on is set
        MIPS: Fix IRQ tracing when call handle_fpe() and handle_msa_fpe()
        ixgbe: fix signed-integer-overflow warning
        spi: dw: Return any value retrieved from the dma_transfer callback
        cpuidle: Fix three reference count leaks
        ima: Fix ima digest hash table key calculation
        ext4: fix EXT_MAX_EXTENT/INDEX to check for zeroed eh_max
        Btrfs: fix unreplayable log after snapshot delete + parent dir fsync
        btrfs: send: emit file capabilities after chown
        btrfs: fix error handling when submitting direct I/O bio
        ima: Directly assign the ima_default_policy pointer to ima_rules
        PCI: Program MPS for RCiEP devices
        e1000e: Relax condition to trigger reset for ME workaround
        carl9170: remove P2P_GO support
        media: go7007: fix a miss of snd_card_free
        b43legacy: Fix case where channel status is corrupted
        b43: Fix connection problem with WPA3
        b43_legacy: Fix connection problem with WPA3
        igb: Report speed and duplex as unknown when device is runtime suspended
        power: vexpress: add suppress_bind_attrs to true
        pinctrl: samsung: Save/restore eint_mask over suspend for EINT_TYPE GPIOs
        sparc32: fix register window handling in genregs32_[gs]et()
        kernel/cpu_pm: Fix uninitted local in cpu_pm
        ARM: tegra: Correct PL310 Auxiliary Control Register initialization
        drivers/macintosh: Fix memleak in windfarm_pm112 driver
        kbuild: force to build vmlinux if CONFIG_MODVERSION=y
        sunrpc: svcauth_gss_register_pseudoflavor must reject duplicate registrations.
        sunrpc: clean up properly in gss_mech_unregister()
        w1: omap-hdq: cleanup to add missing newline for some dev_dbg
        perf probe: Do not show the skipped events
        perf symbols: Fix debuginfo search for Ubuntu
        Linux 4.4.228

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>

Conflicts:
	arch/x86/kernel/vmlinux.lds.S
2020-06-22 11:09:55 -07:00
Harshit Agarwal
2103804389 Synchronize codes for Oneplus 5/5T OxygenOS 10.0.0
Change-Id: I982483b5b5ac1343805a1fb1e102addcb1fdaedb
2020-06-22 11:51:14 +05:30
Marc Zyngier
9c71c33553 KVM: arm64: Make vcpu_cp1x() work on Big Endian hosts
commit 3204be4109ad681523e3461ce64454c79278450a upstream.

AArch32 CP1x registers are overlayed on their AArch64 counterparts
in the vcpu struct. This leads to an interesting problem as they
are stored in their CPU-local format, and thus a CP1x register
doesn't "hit" the lower 32bit portion of the AArch64 register on
a BE host.

To workaround this unfortunate situation, introduce a bias trick
in the vcpu_cp1x() accessors which picks the correct half of the
64bit register.

Cc: stable@vger.kernel.org
Reported-by: James Morse <james.morse@arm.com>
Tested-by: James Morse <james.morse@arm.com>
Acked-by: James Morse <james.morse@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-06-20 10:23:18 +02:00