android_kernel_motorola_sm6375/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Eric Biggers 5515324258 ANDROID: dm: add dm-default-key target for metadata encryption
Add a device-mapper target "dm-default-key" which assigns an encryption
key to bios that aren't for the contents of an encrypted file.

This ensures that all blocks on-disk will be encrypted with some key,
without the performance hit of file contents being encrypted twice when
fscrypt (File-Based Encryption) is used.

It is only appropriate to use dm-default-key when key configuration is
tightly controlled, like it is in Android, such that all fscrypt keys
are at least as hard to compromise as the default key.

Compared to the original version of dm-default-key, this has been
modified to use the new vendor-independent inline encryption framework
(which works even when no inline encryption hardware is present), the
table syntax has been changed to match dm-crypt, and support for
specifying Adiantum encryption has been added.  These changes also mean
that dm-default-key now always explicitly specifies the DUN (the IV).

Also, to handle f2fs moving blocks of encrypted files around without the
key, and to handle ext4 and f2fs filesystems mounted without
'-o inlinecrypt', the mapping logic is no longer "set a key on the bio
if it doesn't have one already", but rather "set a key on the bio unless
the bio has the bi_skip_dm_default_key flag set".  Filesystems set this
flag on *all* bios for encrypted file contents, regardless of whether
they are encrypting/decrypting the file using inline encryption or the
traditional filesystem-layer encryption, or moving the raw data.

For the bi_skip_dm_default_key flag, a new field in struct bio is used
rather than a bit in bi_opf so that fscrypt_set_bio_crypt_ctx() can set
the flag, minimizing the changes needed to filesystems.  (bi_opf is
usually overwritten after fscrypt_set_bio_crypt_ctx() is called.)

Bug: 137270441
Bug: 147814592
Change-Id: I69c9cd1e968ccf990e4ad96e5115b662237f5095
Signed-off-by: Eric Biggers <ebiggers@google.com>
2020-01-24 10:52:54 -08:00
..
accessibility
acpi ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 2020-01-09 10:20:02 +01:00
amba ARM updates for 5.4-rc: 2019-10-23 06:26:33 -04:00
android This is the 5.4.4 stable release 2019-12-17 20:10:28 +01:00
ata libata: Fix retrieving of active qcs 2020-01-09 10:19:59 +01:00
atm atm: he: clean up an indentation issue 2019-09-25 13:54:45 +02:00
auxdisplay
base This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
bcma
block This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
bluetooth Bluetooth: btusb: fix PM leak in error case of setup 2020-01-09 10:20:04 +01:00
bus bus: ti-sysc: Fix iterating over clocks 2020-01-23 08:22:28 +01:00
cdrom cdrom: respect device capabilities during opening action 2020-01-04 19:18:25 +01:00
char tpm: Handle negative priv->response_len in tpm_common_read() 2020-01-14 20:08:21 +01:00
clk This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
clocksource clocksource: riscv: add notrace to riscv_sched_clock 2020-01-09 10:19:59 +01:00
connector
counter
cpufreq This is the 5.4.7 stable release 2019-12-31 17:56:13 +01:00
cpuidle cpuidle: teo: Fix intervals[] array indexing bug 2020-01-23 08:22:32 +01:00
crypto crypto: geode-aes - convert to skcipher API and make thread-safe 2020-01-17 19:48:46 +01:00
dax
dca
devfreq PM / devfreq: tegra: Add COMMON_CLK dependency 2020-01-17 19:48:22 +01:00
dio
dma ioat: ioat_alloc_ring() failure handling. 2020-01-17 19:49:06 +01:00
dma-buf This is the 5.4.6 stable release 2019-12-21 11:19:45 +01:00
edac EDAC/ghes: Fix grain calculation 2019-12-31 16:45:16 +01:00
eisa
extcon extcon: sm5502: Reset registers during initialization 2019-12-31 16:44:04 +01:00
firewire net: add annotations on hh->hh_len lockless accesses 2020-01-09 10:20:06 +01:00
firmware This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
fpga
fsi fsi: core: Fix small accesses and unaligned offsets via sysfs 2019-12-31 16:45:09 +01:00
gnss ANDROID: gnss: Add command line test driver 2019-12-19 15:35:47 -08:00
gpio Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP" 2020-01-23 08:22:29 +01:00
gpu This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
greybus
hid HID: hidraw, uhid: Always report EPOLLOUT 2020-01-17 19:48:15 +01:00
hsi HSI changes for the 5.4 series 2019-09-22 12:02:21 -07:00
hv Drivers: hv: vmbus: Fix crash handler reset of Hyper-V synic 2020-01-04 19:18:21 +01:00
hwmon This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
hwspinlock
hwtracing intel_th: msu: Fix window switching without windows 2019-12-31 16:46:09 +01:00
i2c This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
i3c
ide
idle
iio iio: buffer: align the size of scan bytes to size of the largest element 2020-01-23 08:22:33 +01:00
infiniband RDMA/srpt: Report the SCSI residual to the initiator 2020-01-17 19:48:40 +01:00
input Input: input_event - fix struct padding on sparc64 2020-01-14 20:08:24 +01:00
interconnect interconnect: qcom: qcs404: Walk the list safely on node removal 2019-12-17 19:55:39 +01:00
iommu This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
ipack
irqchip This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
isdn net: use skb_queue_empty_lockless() in poll() handlers 2019-10-28 13:33:41 -07:00
leds leds: trigger: netdev: fix handling on interface rename 2020-01-04 19:17:05 +01:00
lightnvm
macintosh cpufreq: Use per-policy frequency QoS 2019-10-21 02:05:21 +02:00
mailbox mailbox: imx: Fix Tx doorbell shutdown path 2020-01-04 19:18:30 +01:00
mcb
md ANDROID: dm: add dm-default-key target for metadata encryption 2020-01-24 10:52:54 -08:00
media This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
memory memory: mtk-smi: Add PM suspend and resume ops 2020-01-17 19:48:59 +01:00
memstick memstick: jmb38x_ms: Fix an error handling path in 'jmb38x_ms_probe()' 2019-10-09 11:08:03 +02:00
message scsi: mptfusion: Fix double fetch bug in ioctl 2020-01-23 08:22:35 +01:00
mfd mfd: mt6397: Fix probe after changing mt6397-core 2019-10-24 08:49:25 +01:00
misc This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
mmc This is the 5.4.8 stable release 2020-01-04 19:40:03 +01:00
mtd mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash 2020-01-23 08:22:57 +01:00
mux
net This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
nfc NFC: pn533: fix bulk-message timeout 2020-01-23 08:22:48 +01:00
ntb NTB: fix IDT Kconfig typos/spellos 2019-09-23 17:20:40 -04:00
nubus
nvdimm libnvdimm/btt: fix variable 'rc' set but not used 2020-01-04 19:18:12 +01:00
nvme nvme/pci: Fix read queue count 2020-01-09 10:19:43 +01:00
nvmem nvmem: imx-ocotp: reset error status on probe 2019-12-31 16:44:42 +01:00
of This is the 5.4.9 stable release 2020-01-09 16:00:18 +01:00
opp opp: Reinitialize the list_kref before adding the static OPPs again 2019-10-23 10:58:44 +05:30
oprofile
parisc parisc: Remove 32-bit DMA enforcement from sba_iommu 2019-10-14 21:44:26 +02:00
parport parport: load lowlevel driver if ports not found 2019-12-31 16:45:25 +01:00
pci This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
pcmcia Merge branch 'next-lockdown' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-09-28 08:14:15 -07:00
perf perf/smmuv3: Remove the leftover put_cpu() in error path 2020-01-12 12:21:38 +01:00
phy This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
pinctrl This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
platform MIPS: Loongson: Fix return value of loongson_hwmon_init 2020-01-17 19:48:55 +01:00
pnp
power ANDROID: reset: hisi-reboot: adb reboot bootloader 2020-01-13 17:43:11 +00:00
powercap powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online() 2020-01-14 20:08:18 +01:00
pps
ps3
ptp ptp: free ptp device pin descriptors properly 2020-01-23 08:22:51 +01:00
pwm FROMLIST: pwm: Convert period and duty cycle to u64 2019-11-26 10:57:36 -08:00
rapidio
ras
regulator This is the 5.4.11 stable release 2020-01-12 15:36:52 +01:00
remoteproc remoteproc updates for v5.4 2019-09-22 10:55:08 -07:00
reset This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
rpmsg rpmsg: char: release allocated memory 2020-01-14 20:08:37 +01:00
rtc rtc: bd70528: Add MODULE ALIAS to autoload module 2020-01-17 19:49:03 +01:00
s390 s390/zcrypt: Fix CCA cipher key gen with clear key value function 2020-01-23 08:22:38 +01:00
sbus
scsi FROMLIST: scsi: ufs: add program_key() variant op 2020-01-24 10:52:54 -08:00
sfi
sh
siox
slimbus
soc This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
soundwire soundwire: intel: fix PDI/stream mapping for Bulk 2019-12-31 16:45:11 +01:00
spi spi: lpspi: fix memory leak in fsl_lpspi_probe 2020-01-17 19:49:01 +01:00
spmi
ssb
staging This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
target scsi: target: core: Fix a pr_debug() argument 2020-01-23 08:22:58 +01:00
tc
tee tee/shm: untag user pointers in tee_shm_register 2019-09-25 17:51:41 -07:00
thermal thermal: Fix deadlock in thermal thermal_zone_device_check 2019-12-13 08:43:21 +01:00
thunderbolt thunderbolt: Power cycle the router if NVM authentication fails 2019-12-04 22:30:50 +01:00
tty This is the 5.4.13 stable release 2020-01-17 23:38:39 +01:00
uio
usb This is the 5.4.14 stable release 2020-01-23 08:37:43 +01:00
vfio vfio/pci: call irq_bypass_unregister_producer() before freeing irq 2019-12-21 11:04:48 +01:00
vhost UPSTREAM: vhost, kcov: collect coverage from vhost_worker 2020-01-13 23:46:20 +00:00
video This is the 5.4.4 stable release 2019-12-17 20:10:28 +01:00
virt virt: vbox: fix memory leak in hgcm_call_preprocess_linaddr 2019-10-10 14:50:32 +02:00
virtio This is the 5.4.4 stable release 2019-12-17 20:10:28 +01:00
visorbus
vlynq
vme
w1 w1: ds250x: Fix build error without CRC16 2019-10-10 15:35:41 +02:00
watchdog watchdog: tqmx86_wdt: Fix build error 2020-01-09 10:20:03 +01:00
xen xen/balloon: fix ballooned page accounting without hotplug enabled 2020-01-09 10:19:51 +01:00
zorro
Kconfig
Makefile