Commit Graph

983660 Commits

Author SHA1 Message Date
Jaegeuk Kim
555db56cc3 FROMLIST: scsi: ufs: WB is only available on LUN #0 to #7
Kernel stack violation when getting unit_descriptor/wb_buf_alloc_units from
rpmb lun. The reason is the unit descriptor length is different per LU.

The lengh of Normal LU is 45, while the one of rpmb LU is 35.

int ufshcd_read_desc_param(struct ufs_hba *hba, ...)
{
	param_offset=41;
	param_size=4;
	buff_len=45;
	...
	buff_len=35 by rpmb LU;

	if (is_kmalloc) {
		/* Make sure we don't copy more data than available */
		if (param_offset + param_size > buff_len)
			param_size = buff_len - param_offset;
			--> param_size = 250;
		memcpy(param_read_buf, &desc_buf[param_offset], param_size);
		--> memcpy(param_read_buf, desc_buf+41, 250);

[  141.868974][ T9174] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: wb_buf_alloc_units_show+0x11c/0x11c
	}
}

Bug: 174701661
Link: https://lore.kernel.org/linux-scsi/20210111095927.1830311-1-jaegeuk@kernel.org/
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
Change-Id: I25205d465daa25b4bd330876ad05fcfd01195a56
2021-01-13 02:31:28 +00:00
Jaegeuk Kim
95b10fe643 FROMGIT: scsi: ufs: Fix livelock of ufshcd_clear_ua_wluns()
When gate_work/ungate_work experience an error during hibern8_enter or exit
we can livelock:

 ufshcd_err_handler()
   ufshcd_scsi_block_requests()
   ufshcd_reset_and_restore()
     ufshcd_clear_ua_wluns() -> stuck
   ufshcd_scsi_unblock_requests()

In order to avoid this, ufshcd_clear_ua_wluns() can be called per recovery
flows such as suspend/resume, link_recovery, and error_handler.

Bug: 175391270
(cherry picked from commit 4ee7ee530b git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git fixes)
Link: https://lore.kernel.org/r/20210107185316.788815-2-jaegeuk@kernel.org
Fixes: b56c9e4cdf ("FROMLIST: scsi: ufs: fix livelock of ufshcd_clear_ua_wluns")
Reviewed-by: Can Guo <cang@codeaurora.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Change-Id: I16f41f552a0e4d6c93592b73cf7489fa1197a987
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2021-01-13 00:55:46 +00:00
Paul Lawrence
4ca9a3c4d7 ANDROID: Incremental fs: Make data validation failure a warn
Bug: 177234986
Test: incfs_test passes
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: I79b4273a050b8695b5810abd618fcb4437a05ce5
2021-01-12 22:18:33 +00:00
Paul Lawrence
1f3a58dbb3 ANDROID: Incremental fs: Free mount info after files are flushed
Bug: 177280103
Test: incfs_test passes
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: I24b0d4bf5353834900f868f65e7510529867b615
2021-01-12 22:18:24 +00:00
Paul Lawrence
a31de8b2a5 ANDROID: Incremental fs: Fix selinux issues
Bug: 177075428
Test: incfs_test passes
      atest GtsIncrementalInstallTestCases has only 8 failures
Signed-off-by: Paul Lawrence <paullawrence@google.com>
Change-Id: I73accfc1982aec1cd7947996c25a23e4a97cfdac
2021-01-12 22:18:17 +00:00
Palmer Dabbelt
3f7bd17fcc ANDROID: dm-user: Add some missing static
I forgot to add static to a handful of dm-user function declarations.
Not sure how I missed these warnings the other times, but the 0-day
robot found them on android-mainline.

Reported-by: kernel test robot <lkp@intel.com>
Test: none
Fixes: 83bf345abc ("ANDROID: dm: dm-user: New target that proxies BIOs to userspace")
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Change-Id: If9cb2de117ff402c86902d0d2d6a2f0e28614c54
2021-01-12 20:47:08 +00:00
Greg Kroah-Hartman
3b9141983c Revert "ARM: 9017/2: Enable KASan for ARM"
This reverts commit 421015713b.

Right now arm allmodconfig builds fail with:
	FATAL: modpost: drivers/input/mousedev: sizeof(struct input_device_id)=164 is not a modulo of the size of section __mod_input__<identifier>_device_table=1216.
which seems to be caused by KASan, so disable it from ARM builds for now
until we figure it out.

Fixes: 421015713b ("ARM: 9017/2: Enable KASan for ARM")
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie9352cdad01e286ca981692666ceed8d10c9bc23
2021-01-12 18:51:18 +01:00
Greg Kroah-Hartman
b8be7c54a7 Merge c45647f9f5 ("Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I27001a83f62a06f0ed365a3199351e8e8b2d50cf
2021-01-12 18:51:07 +01:00
Greg Kroah-Hartman
c1863a4175 Merge d8355e740f ("Merge tag 'for-5.11/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm") into android-mainline
Steps on the way to 5.11-rc1

Change-Id: Idd190f598f7c8595b091cfde1bc38f98002ced8b
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-01-12 18:50:51 +01:00
Alistair Delva
96e66a5070 ANDROID: GKI: Enable CONFIG_KUNIT
Enable the KUNIT core, which has a small ABI impact, and also the
DEBUGFS feature so that results can be reaped. This change does not
actually enable any KUNIT tests or the internal selftests, those must be
enabled by downstream builds.

Bug: 176228452
Change-Id: I2817cb1495fe7bf0485e63f877a68b1971e26cc5
Signed-off-by: Alistair Delva <adelva@google.com>
2021-01-11 16:53:30 +00:00
zhang sanshan
e59f3e191a ANDROID: GKI: make VIDEOBUF2_DMA_CONTIG under GKI_HIDDEN_MEDIA_CONFIGS
it use vb2_dma_contig_memops as default mem_ops in csi driver
drivers/media/platform/mxc/capture/mx6s_capture.c still not upstream to linux community.
q->mem_ops = &vb2_dma_contig_memops;

mem_ops is need in videobuf2-core.c to operate dma buffer.
videobuf2-dma-contig.c is common code which have no hardware involved

Bug: 160195378
Signed-off-by: zhang sanshan <pete.zhang@nxp.com>
Change-Id: Ib084ff96bd4f92aa36f8abb8d4b62a0e9be62e6c
2021-01-11 16:52:57 +00:00
Suren Baghdasaryan
f64933607f ANDROID: GKI: disable CONFIG_MEMCG
CONFIG_MEMCG introduces overhead both in terms of memory usage as well
as in the minor page fault path and after moving to PSI it is currently
unused on non-Android Go devices. Disable it in GKI to avoid the overhead.

Bug: 169443770
Bug: 172296409
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I717c2a1bde6264285b86d583ae1a1007c36be223
2021-01-11 16:43:44 +00:00
Greg Kroah-Hartman
4d34b17ef6 Merge 4e31dcc0a9 ("Merge tag 'hwmon-for-v5.11-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5522ae92c7fd3e4230bd26adff1c25a30190cc72
2021-01-09 13:24:52 +01:00
Greg Kroah-Hartman
09b7a57d60 Merge 347d81b68b ("Merge tag 'dma-mapping-5.11' of git://git.infradead.org/users/hch/dma-mapping") into android-mainline
Steps on the way to 5.11-rc1

Change-Id: Id22da723205ac128d270662b835afceece902264
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-01-09 13:24:51 +01:00
Greg Kroah-Hartman
aa2fba396e Merge 4f06f21067 ("Merge tag 'configfs-5.11' of git://git.infradead.org/users/hch/configfs") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ifdc426889dab620fe3e7430a2bf11b7bbe36f155
2021-01-09 13:24:51 +01:00
Greg Kroah-Hartman
fc09e97c66 Merge e9e541ecfe ("Merge tag 'exfat-for-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat") into android-mainline
Steps on the way to 5.11-rc1

Change-Id: Iaa9e315005c157e383c9a005d1e2ed64e8782fc4
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-01-09 13:24:51 +01:00
Park Bumgyu
a3c57fcffc ANDROID: add flags to android_rvh_enqueue_task/dequeue_task parameter
"flags" is added to the vendor hook parameter so that the module can know
the event type of task enqueue/dequeue.

Bug: 176917922

Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
Change-Id: I7cc60908e301d75393bdf84861878a94de80d683
2021-01-08 16:45:50 +00:00
Petr Mladek
aff56c67b0 FROMLIST: Revert "init/console: Use ttynull as a fallback when there is no console"
This reverts commit 757055ae8d.

The commit caused that ttynull was used as the default console
on many systems. It happened when there was no console configured
on the command line and ttynull_init() was the first initcall
calling register_console().

The commit fixed a historical problem that have been there for ages.
The primary motivation was the commit 3cffa06aee
("printk/console: Allow to disable console output by using console=""
or console=null"). It provided a clean solution
for a workaround that was widely used and worked only by chance.

This revert causes that the console="" or console=null command line
options will again work only by chance. These options will cause that
a particular console will be preferred and the default (tty) ones
will not get enabled. There will be no console registered at
all. As a result there won't be stdin, stdout, and stderr for
the init process. But it worked exactly this way even before.

The proper solution has to fulfill many conditions:

  + Register ttynull only when explicitly required or as
    the ultimate fallback.

  + ttynull must get associated with /dev/console but it must
    not become preferred console when used as a fallback.
    Especially, it must still be possible to replace it
    by a better console later.

Such a change requires clean up of the register_console() code.
Otherwise, it would be even harder to follow. Especially, the use
of has_preferred_console and CON_CONSDEV flag is tricky. The clean
up is risky. The ordering of consoles is not well defined. And
any changes tend to break existing user settings.

Do the revert at the least risky solution for now.

Fixes: 757055ae8d ("init/console: Use ttynull as a fallback when there is no console")
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20210107164400.17904-2-pmladek@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I839b9bd17c7280b538f04de8d6b08885bb5d6585
2021-01-07 19:45:13 +01:00
Greg Kroah-Hartman
0f83010fc2 Merge 8653b778e4 ("Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux") into android-mainline
Steps on the way to 5.11-rc1

Change-Id: If3b02fe9ca1069cdd0416a9623cb90535c7977f6
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2021-01-07 09:18:39 +01:00
Nathan Chancellor
90d2a23656 FROMLIST: KVM: SVM: Add register operand to vmsave call in sev_es_vcpu_load
When using LLVM's integrated assembler (LLVM_IAS=1) while building
x86_64_defconfig + CONFIG_KVM=y + CONFIG_KVM_AMD=y, the following build
error occurs:

 $ make LLVM=1 LLVM_IAS=1 arch/x86/kvm/svm/sev.o
 arch/x86/kvm/svm/sev.c:2004:15: error: too few operands for instruction
         asm volatile(__ex("vmsave") : : "a" (__sme_page_pa(sd->save_area)) : "memory");
                      ^
 arch/x86/kvm/svm/sev.c:28:17: note: expanded from macro '__ex'
 #define __ex(x) __kvm_handle_fault_on_reboot(x)
                 ^
 ./arch/x86/include/asm/kvm_host.h:1646:10: note: expanded from macro '__kvm_handle_fault_on_reboot'
         "666: \n\t"                                                     \
                 ^
 <inline asm>:2:2: note: instantiated into assembly here
         vmsave
         ^
 1 error generated.

This happens because LLVM currently does not support calling vmsave
without the fixed register operand (%rax for 64-bit and %eax for
32-bit). This will be fixed in LLVM 12 but the kernel currently supports
LLVM 10.0.1 and newer so this needs to be handled.

Add the proper register using the _ASM_AX macro, which matches the
vmsave call in vmenter.S.

Bug: 176884053
Fixes: 861377730a ("KVM: SVM: Provide support for SEV-ES vCPU loading")
Link: https://reviews.llvm.org/D93524
Link: https://github.com/ClangBuiltLinux/linux/issues/1216
Link: https://lore.kernel.org/kvm/20201219063711.3526947-1-natechancellor@gmail.com/
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2456e6c19db8075d82e897617bf442feb6ab996b
2021-01-06 18:35:59 +01:00
Greg Kroah-Hartman
b3dde85bf4 Merge e37b12e4bb ("Merge tag 'for-linus-5.11-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux") into android-mainline
Resolves conflicts in:
	arch/arm64/kvm/sys_regs.c

Steps on the way to 5.11-rc1.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4dfd38048e8cd9bf876dd4f280533c39b3352f30
2021-01-06 18:34:38 +01:00
Park Bumgyu
ae8ff465c5 ANDROID: vendor_hook: modify cpuidle vendor hook
When entering cluster-wide or system-wide power mode, Exynos cpu
power management driver checks the next hrtimer events of cpu
composing the power domain to prevent unnecessary attempts to enter
the power mode. Since struct cpuidle_device has next_hrtimer, it
can be solved by passing cpuidle device as a parameter of vh.

In order to improve responsiveness, it is necessary to prevent
entering the deep idle state in boosting scenario. So, vendor
driver should be able to control the idle state.

Due to above requirements, the parameters required for idle enter
and exit different, so the vendor hook is separated into
cpu_idle_enter and cpu_idle_exit.

Bug: 176198732

Change-Id: I2262ba1bae5e6622a8e76bc1d5d16fb27af0bb8a
Signed-off-by: Park Bumgyu <bumgyu.park@samsung.com>
2021-01-06 17:24:18 +00:00
Yurii Zubrytskyi
d749bc24dc ANDROID: Incremental fs: fix .blocks_written
.blocks_writen file handling was missing some operations:
SELinux xattr handlers, safety checks for it being a
pseudo file etc.

This CL generalizes pseudo file handling so that all such
files work in a generic way and next time it should be
easier to add all operations at once.

Bug: 175823975
Test: incfs_tests pass
Change-Id: Id2b1936018c81c62c8ab4cdbaa8827e2679b513f
Signed-off-by: Yurii Zubrytskyi <zyy@google.com>
Signed-off-by: Paul Lawrence <paullawrence@google.com>
2021-01-06 16:57:22 +00:00
Yan Yan
9046dcfedf ANDROID: GKI: Enable XFRM_MIGRATE
To be able to update addresses of an IPsec SA, as required by
supporting MOBIKE

Bug: 169169084
Signed-off-by: Yan Yan <evitayan@google.com>
Change-Id: I5aa3f3556d615e4f0695bb78cd3cad9e83851df5
2021-01-06 16:23:45 +00:00
Colin Cross
e2db2cceeb ANDROID: fs: epoll: use freezable blocking call
Avoid waking up every thread sleeping in an epoll_wait call during
suspend and resume by calling a freezable blocking call.  Previous
patches modified the freezer to avoid sending wakeups to threads
that are blocked in freezable blocking calls.

This call was selected to be converted to a freezable call because
it doesn't hold any locks or release any resources when interrupted
that might be needed by another freezing task or a kernel driver
during suspend, and is a common site where idle userspace tasks are
blocked.

Bug: 77139736
Bug: 120440023
[ccross: This was upstream (https://lkml.org/lkml/2013/5/6/823), but
         reverted because it reportedly caused memory corruption on
         32-bit x86 (https://patchwork.kernel.org/patch/3162301/).]
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Colin Cross <ccross@android.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[gregkh: add this back after the 5.11-rc1 merge mess]
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia8268d310c00f0cfa6c01f36f3fa528e04f206e0
2021-01-06 11:42:15 +01:00
Greg Kroah-Hartman
6e1c66afce Merge 1db98bcf56 ("Merge branch 'akpm' (patches from Andrew)") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7844c98b3b68f9213a2f49dd0fff98d60581e5af
2021-01-06 11:41:42 +01:00
Greg Kroah-Hartman
d07b0181d6 Revert "ANDROID: fs: epoll: use freezable blocking call"
It causes big merge issues with a 5.11-rc1 merge point, so revert this
patch for now, hopefully we can add it back at a later point...

Bug: 77139736
Bug: 120440023
Cc: Colin Cross <ccross@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I4915482c510a7c7b19db60161a031b70ec75d66c
2021-01-06 11:40:45 +01:00
Greg Kroah-Hartman
20aa838e04 Merge a0b9631487 ("Merge tag 'xfs-5.11-merge-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux") into android-mainline
Steps on the way to 5.11-rc1

Resolves conflicts in:
	drivers/dma-buf/heaps/cma_heap.c
	drivers/dma-buf/heaps/system_heap.c

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iac498252911dd67ee21bba42b3fa5a2324dd43e0
2021-01-06 09:28:07 +01:00
Amir Vajid
5ade8f493f ANDROID: GKI: enable CONFIG_SRAM
Enable shared memory driver so it can be used by clients
like SCMI on arm64.

Bug: 176065611
Change-Id: Idad0d42bec764ae7ecfa0672d32d4be29b0881d6
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2021-01-05 13:13:34 -08:00
Ram Muthiah
4162f006bd ANDROID: Revert "security,lockdown,selinux: implement SELinux lockdown"
This reverts commit f1ee68a8f6.

Reason for revert:
The change being reverted adds a new "lockdown" audit class. Support
for this new class needs to be added to Android and the processes
which need to be part of this class have to be annotated. While support
for this class has not yet been added to Android, this lockdown class
will be removed.

Tracefs usage by Android triggers a violation with respect to this new
audit class which prompted the need for this patch.

Bug: 148822198
Change-Id: Ie06f4be699234fb671ec4bcfe11962b2055a0c60
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
2020-12-29 19:50:45 +00:00
Greg Kroah-Hartman
4a559bce32 Merge a409ed156a ("Merge tag 'gpio-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7ad0faf866a6706b167865449b9cd21938913815
2020-12-23 11:01:03 +01:00
Christopher Obbard
af0030648a UPSTREAM: um: random: Register random as hwrng-core device
The UML random driver creates a dummy device under the guest,
/dev/hw_random. When this file is read from the guest, the driver
reads from the host machine's /dev/random, in-turn reading from
the host kernel's entropy pool. This entropy pool could have been
filled by a hardware random number generator or just the host
kernel's internal software entropy generator.

Currently the driver does not fill the guests kernel entropy pool,
this requires a userspace tool running inside the guest (like
rng-tools) to read from the dummy device provided by this driver,
which then would fill the guest's internal entropy pool.

This all seems quite pointless when we are already reading from an
entropy pool, so this patch aims to register the device as a hwrng
device using the hwrng-core framework. This not only improves and
cleans up the driver, but also fills the guest's entropy pool
without having to resort to using extra userspace tools in the guest.

This is typically a nuisance when booting a guest: the random pool
takes a long time (~200s) to build up enough entropy since the dummy
hwrng is not used to fill the guest's pool.

This port was originally attempted by Alexander Neville "dark" (in CC,
discussion in Link), but the conversation there stalled since the
handling of -EAGAIN errors were no removed and longer handled by the
driver. This patch attempts to use the existing method of error
handling but utilises the new hwrng core.

The issue can be noticed when booting a UML guest:

    [    2.560000] random: fast init done
    [  214.000000] random: crng init done

With the patch applied, filling the pool becomes a lot quicker:

    [    2.560000] random: fast init done
    [   12.000000] random: crng init done

Bug: 176213565
Cc: Alexander Neville <dark@volatile.bz>
Link: https://lore.kernel.org/lkml/20190828204609.02a7ff70@TheDarkness/
Link: https://lore.kernel.org/lkml/20190829135001.6a5ff940@TheDarkness.local/
Cc: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Signed-off-by: Christopher Obbard <chris.obbard@collabora.com>
Acked-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
(cherry picked from commit 72d3e093af)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I79e16fa07ef93ae32d425e2e19fedd669f853518
2020-12-23 10:59:35 +01:00
Allen Pais
cb7ee56fca UPSTREAM: um: Convert tasklets to use new tasklet_setup() API
In preparation for unconditionally passing the
struct tasklet_struct pointer to all tasklet
callbacks, switch to using the new tasklet_setup()
and from_tasklet() to pass the tasklet pointer explicitly.

Bug: 176213565
Signed-off-by: Romain Perier <romain.perier@gmail.com>
Signed-off-by: Allen Pais <allen.lkml@gmail.com>
Acked-By: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
(cherry picked from commit db03b42827)
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1f77c36f00370d81bb9d1ae37b23c5da350f8061
2020-12-23 10:59:17 +01:00
Greg Kroah-Hartman
a20e2128db Revert "Merge 345b17acb1 ("Merge tag 'for-linus-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml") into android-mainline"
Something is really b0rked with this branch and tree-hugger, so let's
just revert the whole thing to keep the merges flowing, and we will add
the individual patches back "by hand" to catch up and find the
offender(s).

Bug: 176213565
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Id7f84b59824451a35542723790f71b29e4f4df8a
2020-12-23 10:51:04 +01:00
Greg Kroah-Hartman
47665a3377 Merge 345b17acb1 ("Merge tag 'for-linus-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib6ffb464c1f61bcef1338fb33e61d964ea6a09bb
2020-12-23 10:49:34 +01:00
Macpaul Lin
19cb948c52 ANDROID: usb: gadget: f_accessory: fix CTS test stuck
f_accessory: fix CTS test stuck since CTS 9.0.
 - Refine acc_read() process.

The data length that user (test program) wants to read is different
from they really requested. This will cause the test flow stuck on the
2nd or the 3rd transfers in accessory test.
(By connecting 2 phones with CtsVerifier.apk and
CtsVerifierUSBCompanion.apk installed.)

Bug: 174729307

Change-Id: I5367c8075ed37534e8bed94b60cc79135ae5aebc
Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com>
2020-12-23 15:16:49 +08:00
Linus Torvalds
c45647f9f5 Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux
Pull ARM updates from Russell King:

 - Rework phys/virt translation

 - Add KASan support

 - Move DT out of linear map region

 - Use more PC-relative addressing in assembly

 - Remove FP emulation handling while in kernel mode

 - Link with '-z norelro'

 - remove old check for GCC <= 4.2 in ARM unwinder code

 - disable big endian if using clang's linker

* tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (46 commits)
  ARM: 9027/1: head.S: explicitly map DT even if it lives in the first physical section
  ARM: 9038/1: Link with '-z norelro'
  ARM: 9037/1: uncompress: Add OF_DT_MAGIC macro
  ARM: 9036/1: uncompress: Fix dbgadtb size parameter name
  ARM: 9035/1: uncompress: Add be32tocpu macro
  ARM: 9033/1: arm/smp: Drop the macro S(x,s)
  ARM: 9032/1: arm/mm: Convert PUD level pgtable helper macros into functions
  ARM: 9031/1: hyp-stub: remove unused .L__boot_cpu_mode_offset symbol
  ARM: 9044/1: vfp: use undef hook for VFP support detection
  ARM: 9034/1: __div64_32(): straighten up inline asm constraints
  ARM: 9030/1: entry: omit FP emulation for UND exceptions taken in kernel mode
  ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler
  ARM: 9028/1: disable KASAN in call stack capturing routines
  ARM: 9026/1: unwind: remove old check for GCC <= 4.2
  ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD
  ARM: 9024/1: Drop useless cast of "u64" to "long long"
  ARM: 9023/1: Spelling s/mmeory/memory/
  ARM: 9022/1: Change arch/arm/lib/mem*.S to use WEAK instead of .weak
  ARM: kvm: replace open coded VA->PA calculations with adr_l call
  ARM: head.S: use PC relative insn sequence to calculate PHYS_OFFSET
  ...
2020-12-22 13:34:27 -08:00
Linus Torvalds
d8355e740f Merge tag 'for-5.11/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper updates from Mike Snitzer:

 - Add DM verity support for signature verification with 2nd keyring

 - Fix DM verity to skip verity work if IO completes with error while
   system is shutting down

 - Add new DM multipath "IO affinity" path selector that maps IO
   destined to a given path to a specific CPU based on user provided
   mapping

 - Rename DM multipath path selector source files to have "dm-ps" prefix

 - Add REQ_NOWAIT support to some other simple DM targets that don't
   block in more elaborate ways waiting for IO

 - Export DM crypt's kcryptd workqueue via sysfs (WQ_SYSFS)

 - Fix error return code in DM's target_message() if empty message is
   received

 - A handful of other small cleanups

* tag 'for-5.11/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm cache: simplify the return expression of load_mapping()
  dm ebs: avoid double unlikely() notation when using IS_ERR()
  dm verity: skip verity work if I/O error when system is shutting down
  dm crypt: export sysfs of kcryptd workqueue
  dm ioctl: fix error return code in target_message
  dm crypt: Constify static crypt_iv_operations
  dm: add support for REQ_NOWAIT to various targets
  dm: rename multipath path selector source files to have "dm-ps" prefix
  dm mpath: add IO affinity path selector
  dm verity: Add support for signature verification with 2nd keyring
  dm: remove unnecessary current->bio_list check when submitting split bio
2020-12-22 13:27:21 -08:00
Linus Torvalds
4e31dcc0a9 Merge tag 'hwmon-for-v5.11-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull another hwmon update from Guenter Roeck:
 "The only patch in this series is removal of voltage and current
  reporting for AMD Zen CPUs.

  Turns out that was not worth the trouble, because it's all
  undocumented and not maintainable"

* tag 'hwmon-for-v5.11-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs
2020-12-22 13:24:33 -08:00
Linus Torvalds
347d81b68b Merge tag 'dma-mapping-5.11' of git://git.infradead.org/users/hch/dma-mapping
Pull dma-mapping updates from Christoph Hellwig:

 - support for a partial IOMMU bypass (Alexey Kardashevskiy)

 - add a DMA API benchmark (Barry Song)

 - misc fixes (Tiezhu Yang, tangjianqiang)

* tag 'dma-mapping-5.11' of git://git.infradead.org/users/hch/dma-mapping:
  selftests/dma: add test application for DMA_MAP_BENCHMARK
  dma-mapping: add benchmark support for streaming DMA APIs
  dma-contiguous: fix a typo error in a comment
  dma-pool: no need to check return value of debugfs_create functions
  powerpc/dma: Fallback to dma_ops when persistent memory present
  dma-mapping: Allow mixing bypass and mapped DMA operation
2020-12-22 13:19:43 -08:00
Linus Torvalds
4f06f21067 Merge tag 'configfs-5.11' of git://git.infradead.org/users/hch/configfs
Pull configfs update from Christoph Hellwig:
 "Fix a kerneldoc comment (Alex Shi)"

* tag 'configfs-5.11' of git://git.infradead.org/users/hch/configfs:
  configfs: fix kernel-doc markup issue
2020-12-22 13:17:03 -08:00
Linus Torvalds
e9e541ecfe Merge tag 'exfat-for-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat
Pull exfat update from Namjae Jeon:
 "Avoid page allocation failure from upcase table allocation"

* tag 'exfat-for-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat:
  exfat: Avoid allocating upcase table using kcalloc()
2020-12-22 13:15:31 -08:00
Andi Kleen
e14fd4ba8f x86/split-lock: Avoid returning with interrupts enabled
When a split lock is detected always make sure to disable interrupts
before returning from the trap handler.

The kernel exit code assumes that all exits run with interrupts
disabled, otherwise the SWAPGS sequence can race against interrupts and
cause recursing page faults and later panics.

The problem will only happen on CPUs with split lock disable
functionality, so Icelake Server, Tiger Lake, Snow Ridge, Jacobsville.

Fixes: ca4c6a9858 ("x86/traps: Make interrupt enable/disable symmetric in C code")
Fixes: bce9b042ec ("x86/traps: Disable interrupts in exc_aligment_check()") # v5.8+
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-12-22 13:06:10 -08:00
Ram Muthiah
58942c56db ANDROID: GKI: Enable CRYPTO_MD5
CRYPTO_MD5 is needed to guarantee legacy compatibility with 3gpp
infrastructure. This compat is guaranteed by the vts net tests
which are currently failing due to this missing config.

Bug: 171462501
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
Change-Id: Ibb5bff947595058a0970ae8bbd64c5f5eab8ba7d
2020-12-22 20:18:54 +00:00
Guenter Roeck
0a4e668b5d hwmon: (k10temp) Remove support for displaying voltage and current on Zen CPUs
Voltages and current are reported by Zen CPUs. However, the means
to do so is undocumented, changes from CPU to CPU, and the raw data
is not calibrated. Calibration information is available, but again
not documented. This results in less than perfect user experience,
up to concerns that loading the driver might possibly damage
the hardware (by reporting out-of range voltages). Effectively
support for reporting voltages and current is not maintainable.
Drop it.

Cc: Artem S. Tashkinov <aros@gmx.com>
Cc: Wei Huang <wei.huang2@amd.com>
Tested-by: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2020-12-22 08:18:36 -08:00
Zheng Yongjun
b77709237e dm cache: simplify the return expression of load_mapping()
Simplify the return expression.

Signed-off-by: Zheng Yongjun <zhengyongjun3@huawei.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
2020-12-22 09:54:48 -05:00
Greg Kroah-Hartman
653770d302 Merge 787fec8ac1 ("Merge tag 'for-linus-5.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Iecde38235212f09d720bb664a3f2c22fd770c87d
2020-12-22 12:00:51 +01:00
Greg Kroah-Hartman
a13ca010ff Merge e13300bdaa ("Merge tag '5.11-rc-smb3' of git://git.samba.org/sfrench/cifs-2.6") into android-mainline
Steps on the way to 5.11-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I00b4c83be7470ba30b99bc2c67d4e4ea7d4d815b
2020-12-22 12:00:12 +01:00
John Stultz
9313f1ea14 ANDROID: db845c_gki.fragment make sure MSM_PINCTRL=m
The MSM_PINCTRL is no longer a selected option but a dependency,
so we need to add the config explictly in the fragment.

Fixes: be117ca322 ("pinctrl: qcom: Kconfig: Rework PINCTRL_MSM to be a depenency rather then a selected config")
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: Ib77f8d645b33c3879afe9e9e4cdf177eecf04b31
2020-12-22 05:56:04 +00:00
Artem Labazov
9eb78c2532 exfat: Avoid allocating upcase table using kcalloc()
The table for Unicode upcase conversion requires an order-5 allocation,
which may fail on a highly-fragmented system:

 pool-udisksd: page allocation failure: order:5,
 mode:0x40dc0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null),
 cpuset=/,mems_allowed=0
 CPU: 4 PID: 3756880 Comm: pool-udisksd Tainted: G U
 5.8.10-200.fc32.x86_64 #1
 Hardware name: Dell Inc. XPS 13 9360/0PVG6D, BIOS 2.13.0 11/14/2019
 Call Trace:
  dump_stack+0x6b/0x88
  warn_alloc.cold+0x75/0xd9
  ? _cond_resched+0x16/0x40
  ? __alloc_pages_direct_compact+0x144/0x150
  __alloc_pages_slowpath.constprop.0+0xcfa/0xd30
  ? __schedule+0x28a/0x840
  ? __wait_on_bit_lock+0x92/0xa0
  __alloc_pages_nodemask+0x2df/0x320
  kmalloc_order+0x1b/0x80
  kmalloc_order_trace+0x1d/0xa0
  exfat_create_upcase_table+0x115/0x390 [exfat]
  exfat_fill_super+0x3ef/0x7f0 [exfat]
  ? sget_fc+0x1d0/0x240
  ? exfat_init_fs_context+0x120/0x120 [exfat]
  get_tree_bdev+0x15c/0x250
  vfs_get_tree+0x25/0xb0
  do_mount+0x7c3/0xaf0
  ? copy_mount_options+0xab/0x180
  __x64_sys_mount+0x8e/0xd0
  do_syscall_64+0x4d/0x90
  entry_SYSCALL_64_after_hwframe+0x44/0xa9

Make the driver use kvcalloc() to eliminate the issue.

Fixes: 370e812b3e ("exfat: add nls operations")
Cc: stable@vger.kernel.org #v5.7+
Signed-off-by: Artem Labazov <123321artyom@gmail.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
2020-12-22 12:31:17 +09:00