linux/drivers
Satya Tangirala c2b86b727a FROMLIST: Update Inline Encryption from v6 to upstream version of patch series
The block layer patches for inline encryption are now in upstream, so
update Android to the upstream version of inline encryption. The
fscrypt/f2fs/ext4 patches are also updated to the latest version sent
upstream (since they can't be updated separately from the block layer
patches).

Changes v6 => v7:
 - Keyslot management is now done on a per-request basis rather than a
   per-bio basis.
 - Storage drivers can now specify the maximum number of bytes they
   can accept for the data unit number (DUN) for each crypto algorithm,
   and upper layers can specify the minimum number of bytes of DUN they
   want with the blk_crypto_key they send with the bio - a driver is
   only considered to support a blk_crypto_key if the driver supports at
   least as many DUN bytes as the upper layer wants. This is necessary
   because storage drivers may not support as many bytes as the
   algorithm specification dictates (for e.g. UFS only supports 8 byte
   DUNs for AES-256-XTS, even though the algorithm specification
   says DUNs are 16 bytes long).
 - Introduce SB_INLINECRYPT to keep track of whether inline encryption
   is enabled for a filesystem (instead of using an fscrypt_operation).
 - Expose keyslot manager declaration and embed it within ufs_hba to
   clean up code.
 - Make blk-crypto preclude blk-integrity.
 - Some bug fixes
 - Introduce UFSHCD_QUIRK_BROKEN_CRYPTO for UFS drivers that don't
   support inline encryption (yet)

Changes v7 => v8:
 - Pass a struct blk_ksm_keyslot * around instead of slot numbers which
   simplifies some functions and passes around arguments with better types
 - Make bios with no encryption context avoid making calls into blk-crypto
   by checking for the presence of bi_crypt_context before making the call
 - Make blk-integrity preclude inline encryption support at probe time
 - Many many cleanups

Changes v8 => v9:
 - Don't open code bio_has_crypt_ctx into callers of blk-crypto functions.
 - Lots of cleanups

Changes v9 => v10:
 - Incorporate Eric's fix for allowing en/decryption to happen as usual via
   fscrypt in the case that hardware doesn't support the desired crypto
   configuration, but blk-crypto-fallback is disabled. (Introduce
   struct blk_crypto_config and blk_crypto_config_supported for fscrypt
   to call, to check that either blk-crypto-fallback is enabled or the
   device supports the crypto configuration).
 - Update docs
 - Lots of cleanups

Changes v10 => v11:
 - We now allocate a new bio_crypt_ctx for each request instead of
   pulling and reusing the one in the bio inserted into the request. The
   bio_crypt_ctx of a bio is freed after the bio is ended.
 - Make each blk_ksm_keyslot store a pointer to the blk_crypto_key
   instead of a copy of the blk_crypto_key, so that each blk_crypto_key
   will have its own keyslot. We also won't need to compute the siphash
   for a blk_crypto_key anymore.
 - Minor cleanups

Changes v11 => v12:
 - Inlined some fscrypt functions
 - Minor cleanups and improved comments

Changes v12 => v13:
 - Updated docs
 - Minor cleanups
 - rebased onto linux-block/for-next

Changes v13 => fscrypt/f2fs/ext4 upstream patch series
 - rename struct fscrypt_info::ci_key to ci_enc_key
 - set dun bytes more precisely in fscrypt
 - cleanups

Bug: 137270441
Test: Test cuttlefish boots both with and without inlinecrypt mount
      option specified in fstab, while using both F2FS and EXT4 for
      userdata.img. Also verified ciphertext via
      "atest -v vts_kernel_encryption_test"
      Also tested by running gce-xfstests on both the
      auto and encrypt test groups on EXT4 and F2FS both with and
      without the inlinecrypt mount option. The UFS changes were
      tested on a Pixel 4 device.
Link: https://lore.kernel.org/linux-block/20200514003727.69001-1-satyat@google.com/
Link: https://lore.kernel.org/linux-fscrypt/20200617075732.213198-1-satyat@google.com/
Link: https://lore.kernel.org/linux-scsi/20200617081841.218985-1-satyat@google.com/
Change-Id: I57c10d370bf006c9dfcf173f21a720413017761e
Signed-off-by: Satya Tangirala <satyat@google.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
2020-06-17 17:17:30 -07:00
..
accessibility
acpi ACPI updates for 5.8-rc1 2020-06-02 13:25:52 -07:00
amba amba: Initialize dma_parms for amba devices 2020-04-28 17:44:34 +02:00
android ANDROID: fix copyright notice 2020-05-18 20:58:23 +00:00
ata A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
atm .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
auxdisplay Merge 5.6-rc7 into char-misc-next 2020-03-23 07:59:38 +01:00
base Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
bcma
block Merge 94709049fb ("Merge branch 'akpm' (patches from Andrew)") into android-mainline 2020-06-12 14:39:46 +02:00
bluetooth mmc: sdio: Move SDIO IDs from btmtksdio driver to common include file 2020-05-29 12:37:54 +02:00
bus bus: mhi: core: Fix some error return code 2020-05-15 16:32:20 +02:00
cdrom
char drm pull for 5.8-rc1 2020-06-02 15:04:15 -07:00
clk Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
clocksource clocksource/drivers/timer-vf-pit: Add missing parenthesis 2020-04-05 09:24:58 +02:00
connector connector/cn_proc: Protect send_msg() with a local lock 2020-05-28 10:31:10 +02:00
counter counter: 104-quad-8: Add lock guards - generic interface 2020-04-19 17:50:00 +01:00
cpufreq Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
cpuidle cpuidle: Fix three reference count leaks 2020-05-29 18:07:18 +02:00
crypto Merge 062ea674ae ("Merge branch 'uaccess.__copy_to_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs") into android-mainline 2020-06-12 13:55:55 +02:00
dax vfs: track per-sb writeback errors and report them to syncfs 2020-06-02 10:59:05 -07:00
dca
devfreq PM / devfreq: Use lockdep asserts instead of manual checks for locked mutex 2020-05-28 18:02:40 +09:00
dio
dma dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()' 2020-05-19 22:26:01 +05:30
dma-buf Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
edac Merge branches 'edac-i10nm' and 'edac-misc' into edac-updates-for-5.8 2020-06-01 11:39:15 +02:00
eisa .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
extcon Char/Misc driver patches for 5.7-rc1 2020-04-03 13:22:40 -07:00
firewire firewire: switch ioctl_queue_iso to use of copy_from_user() 2020-04-23 10:51:05 -04:00
firmware Merge 062ea674ae ("Merge branch 'uaccess.__copy_to_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs") into android-mainline 2020-06-12 13:55:55 +02:00
fpga Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
fsi
gnss
gpio gpio: fix locking open drain IRQ lines 2020-05-29 14:01:49 +02:00
gpu Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
greybus
hid Linux 5.7-rc5 2020-05-11 11:46:09 +02:00
hsi
hv hyperv-fixes for 5.7-rc4 2020-04-27 13:28:27 -07:00
hwmon Merge d30fc97c60 ("Merge tag 'regulator-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator") into android-mainline 2020-06-04 12:06:05 +02:00
hwspinlock hwspinlock: hwspinlock_internal.h: Replace zero-length array with flexible-array member 2020-03-25 22:30:46 -07:00
hwtracing A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
i2c Merge branches 'pm-core' and 'pm-sleep' 2020-06-01 15:19:08 +02:00
i3c i3c master: GETMRL's 3rd byte is optional even with BCR_IBI_PAYLOAD 2020-04-16 14:27:46 +02:00
ide drivers/ide: Fix build regression. 2020-04-04 18:07:59 -07:00
idle Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-03-30 16:40:08 -07:00
iio A fair amount of stuff this time around, dominated by yet another massive 2020-06-01 15:45:27 -07:00
infiniband Merge branch 'uaccess.access_ok' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-06-01 16:09:43 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2020-05-28 12:41:11 -07:00
interconnect interconnect: qcom: Move the static keyword to the front of declaration 2020-04-29 13:11:44 +02:00
iommu Linux 5.7 2020-06-01 09:17:17 +02:00
ipack ipack: tpci200: fix error return code in tpci200_register() 2020-05-15 16:32:20 +02:00
irqchip ANDROID: irqchip: Kconfig: Make QCOM_PDC depend on QCOM_SCM || !QCOM_SCM 2020-04-20 21:37:17 +00:00
isdn mISDN: make dmril and dmrim static 2020-04-16 13:52:31 -07:00
leds mailmap: change email for Ricardo Ribalda 2020-05-25 18:59:59 -06:00
lightnvm mm: remove the pgprot argument to __vmalloc 2020-06-02 10:59:11 -07:00
macintosh via-pmu: don't bother with access_ok() 2020-05-29 11:05:54 -04:00
mailbox mailbox: imx: add SCU MU support 2020-03-19 23:04:32 -05:00
mcb
md FROMLIST: Update Inline Encryption from v6 to upstream version of patch series 2020-06-17 17:17:30 -07:00
media Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
memory ARM: driver updates 2020-04-03 15:05:35 -07:00
memstick
message scsi: message: fusion: Replace zero-length array with flexible-array member 2020-03-26 22:40:47 -04:00
mfd platform-drivers-x86 for v5.8-1 2020-06-02 12:56:58 -07:00
misc Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
mmc Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
most most: core: use function subsys_initcall() 2020-04-28 15:04:09 +02:00
mtd mm: remove the pgprot argument to __vmalloc 2020-06-02 10:59:11 -07:00
mux
net Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
nfc Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2020-06-01 12:00:10 -07:00
ntb pci-v5.7-changes 2020-04-03 14:25:02 -07:00
nubus
nvdimm libnvdimm for 5.7 2020-04-08 21:03:40 -07:00
nvme nvme-pci: avoid race between nvme_reap_pending_cqes() and nvme_poll() 2020-05-27 20:32:56 +02:00
nvmem nvmem: core: remove nvmem_sysfs_get_groups() 2020-03-25 19:23:49 +01:00
of Linux 5.7-rc2 2020-04-20 10:47:28 +02:00
opp opp: Manage empty OPP tables with clk handle 2020-04-13 16:14:55 +05:30
oprofile drivers/oprofile: Open access for CAP_PERFMON privileged process 2020-04-16 12:19:09 -03:00
parisc parisc: Replace setup_irq() by request_irq() 2020-04-05 22:05:23 +02:00
parport
pci ACPI updates for 5.8-rc1 2020-06-02 13:25:52 -07:00
pcmcia powerpc: add an ioremap_phb helper 2020-06-02 10:59:10 -07:00
perf arm64 updates for 5.8 2020-06-01 15:18:27 -07:00
phy FROMGIT: phy: qcom-qusb2: Re add "qcom,sdm845-qusb2-phy" compat string 2020-05-04 19:53:25 +00:00
pinctrl Linux 5.7-rc6 2020-05-18 08:44:32 +02:00
platform platform-drivers-x86 for v5.8-1 2020-06-02 12:56:58 -07:00
pnp PNPBIOS: Replace zero-length array with flexible-array 2020-05-15 18:20:49 +02:00
power Merge d30fc97c60 ("Merge tag 'regulator-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator") into android-mainline 2020-06-04 12:06:05 +02:00
powercap powercap: RAPL: remove unused local MSR define 2020-05-25 10:59:29 +02:00
pps
ps3 powerpc/ps3: Remove an unneeded NULL check 2020-04-03 00:09:59 +11:00
ptp ptp: Remove unneeded conversion to bool 2020-04-21 15:45:32 -07:00
pwm Merge 5b8b9d0c6d ("Merge branch 'akpm' (patches from Andrew)") into android-mainline 2020-04-11 12:04:04 +02:00
rapidio rapidio: fix an error in get_user_pages_fast() error handling 2020-05-23 10:26:31 -07:00
ras
regulator Merge remote-tracking branch 'regulator/for-5.8' into regulator-linus 2020-06-01 13:01:44 +01:00
remoteproc remoteproc fixes for v5.7 2020-04-23 09:28:15 -07:00
reset
rpmsg rpmsg: pull in slab.h 2020-04-17 06:05:29 -04:00
rtc ANDROID: fix up rtc-core merge error in previous upstream merge 2020-04-09 15:28:26 +02:00
s390 s390/ism: fix error return code in ism_probe() 2020-05-13 12:14:51 -07:00
sbus misc: move FLASH_MINOR into miscdevice.h and fix conflicts 2020-03-18 12:27:04 +01:00
scsi FROMLIST: Update Inline Encryption from v6 to upstream version of patch series 2020-06-17 17:17:30 -07:00
sfi
sh
siox
slimbus slimbus: ngd: add v2.1.0 compatible 2020-03-12 16:51:15 +01:00
soc Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
soundwire Char/Misc driver patches for 5.7-rc1 2020-04-03 13:22:40 -07:00
spi Merge remote-tracking branch 'spi/for-5.8' into spi-next 2020-05-30 00:03:53 +01:00
spmi
ssb ssb: Use scnprintf() for avoiding potential buffer overflow 2020-03-12 15:44:12 +02:00
staging Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
target scsi: target: Put lun_ref at end of tmr processing 2020-05-14 20:27:05 -04:00
tc
tee ARM: driver updates 2020-04-03 15:05:35 -07:00
thermal - Convert tsens configuration DT binding to yaml (Rajeshwari) 2020-04-07 20:00:16 -07:00
thunderbolt thunderbolt: Check return value of tb_sw_read() in usb4_switch_op() 2020-04-28 19:00:59 +02:00
tty Merge 062ea674ae ("Merge branch 'uaccess.__copy_to_user' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs") into android-mainline 2020-06-12 13:55:55 +02:00
uio uio: uio_pdrv_genirq: use new devm_uio_register_device() function 2020-03-18 12:34:10 +01:00
usb Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
vdpa vdpasim: remove unused variable 'ret' 2020-05-11 06:44:12 -04:00
vfio vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() 2020-04-23 12:10:01 -06:00
vhost virtio: build warning fixes 2020-05-21 12:59:29 -07:00
video Merge faa392181a ("Merge tag 'drm-next-2020-06-02' of git://anongit.freedesktop.org/drm/drm") into android-mainline 2020-06-12 15:13:27 +02:00
virt virt: vbox: Use fallthrough; 2020-03-19 07:41:03 +01:00
virtio Linux 5.7-rc3 2020-04-27 13:27:01 +02:00
visorbus
vlynq
vme
w1
watchdog watchdog: iTCO: fix link error 2020-05-06 15:49:24 +03:00
xen xen: branch for v5.7-rc2 2020-04-17 10:35:17 -07:00
zorro SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
Kconfig virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00
Makefile virtio: fixes, vdpa 2020-04-08 10:51:53 -07:00