Merge 4.19.171 into android-4.19-stable
Linux 4.19.171
net: dsa: b53: fix an off by one in checking "vlan->vid"
* net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled
net/core/dev.c
net: mscc: ocelot: allow offloading of bridge on top of LAG
* ipv6: set multicast flag on the multicast route
net/ipv6/addrconf.c
* net_sched: reject silly cell_log in qdisc_get_rtab()
net/sched/sch_api.c
net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
* ipv6: create multicast route with RTPROT_KERNEL
net/ipv6/addrconf.c
* udp: mask TOS bits in udp_v4_early_demux()
net/ipv4/udp.c
kasan: fix incorrect arguments passing in kasan_add_zero_shadow
kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
* skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
net/core/skbuff.c
sh_eth: Fix power down vs. is_opened flag ordering
sh: dma: fix kconfig dependency for G2_DMA
* netfilter: rpfilter: mask ecn bits before fib lookup
net/ipv4/netfilter/ipt_rpfilter.c
* driver core: Extend device_is_dependent()
drivers/base/core.c
xhci: tegra: Delay for disabling LFPS detector
* xhci: make sure TRB is fully written before giving it to the controller
drivers/usb/host/xhci-ring.c
* usb: bdc: Make bdc pci driver depend on BROKEN
drivers/usb/gadget/udc/bdc/Kconfig
* usb: udc: core: Use lock when write to soft_connect
drivers/usb/gadget/udc/core.c
usb: gadget: aspeed: fix stop dma register setting.
* USB: ehci: fix an interrupt calltrace error
drivers/usb/host/ehci-hub.c
* ehci: fix EHCI host controller initialization sequence
drivers/usb/host/ehci-hcd.c
serial: mvebu-uart: fix tx lost characters at power off
stm class: Fix module init return on allocation failure
intel_th: pci: Add Alder Lake-P support
irqchip/mips-cpu: Set IPI domain parent chip
iio: ad5504: Fix setting power-down state
can: peak_usb: fix use after free bugs
can: vxcan: vxcan_xmit: fix use after free bug
can: dev: can_restart: fix use after free bug
selftests: net: fib_tests: remove duplicate log test
platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow-list
i2c: octeon: check correct size of maximum RECV_LEN packet
scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression
drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0
drm/nouveau/mmu: fix vram heap sizing
drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
drm/nouveau/privring: ack interrupts the same way as RM
drm/nouveau/bios: fix issue shadowing expansion ROMs
* xen: Fix event channel callback via INTX/GSI
include/xen/xenbus.h
clk: tegra30: Add hda clock default rates to clock driver
* HID: Ignore battery for Elan touchscreen on ASUS UX550
drivers/hid/hid-ids.h
drivers/hid/hid-input.c
riscv: Fix kernel time_init()
scsi: qedi: Correct max length of CHAP secret
* scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
drivers/scsi/ufs/ufshcd.c
ASoC: Intel: haswell: Add missing pm_ops
* drm/atomic: put state on error path
drivers/gpu/drm/drm_atomic_helper.c
dm integrity: fix a crash if "recalculate" used without "internal_hash"
* dm: avoid filesystem lookup in dm_get_dev_t()
drivers/md/dm-table.c
mmc: sdhci-xenon: fix 1.8v regulator stabilization
mmc: core: don't initialize block size from ext_csd if not present
btrfs: fix lockdep splat in btrfs_recover_relocation
ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
ALSA: hda/via: Add minimum mute flag
ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
i2c: bpmp-tegra: Ignore unknown I2C_M flags
* Revert "ANDROID: Incremental fs: RCU locks instead of mutex for pending_reads."
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
* Revert "ANDROID: Incremental fs: Fix minor bugs"
fs/incfs/data_mgmt.c
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: dentry_revalidate should not return -EBADF."
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Remove annoying pr_debugs"
fs/incfs/data_mgmt.c
* Revert "ANDROID: Incremental fs: Remove unnecessary dependencies"
fs/incfs/Kconfig
* Revert "ANDROID: Incremental fs: Use R/W locks to read/write segment blockmap."
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/vfs.c
Revert "ANDROID: Incremental fs: Stress tool"
Revert "ANDROID: Incremental fs: Adding perf test"
Revert "ANDROID: Incremental fs: Allow running a single test"
* Revert "ANDROID: Incremental fs: Fix incfs to work on virtio-9p"
fs/incfs/format.c
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Don't allow renaming .index directory."
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Create mapped file"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Add UID to pending_read"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/main.c
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Separate pseudo-file code"
fs/incfs/Makefile
fs/incfs/pseudo_files.c
fs/incfs/pseudo_files.h
fs/incfs/vfs.c
fs/incfs/vfs.h
* Revert "ANDROID: Incremental fs: Add .blocks_written file"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/pseudo_files.c
fs/incfs/pseudo_files.h
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Remove attributes from file"
fs/incfs/data_mgmt.c
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/pseudo_files.c
* Revert "ANDROID: Incremental fs: Remove back links and crcs"
fs/incfs/format.c
fs/incfs/format.h
* Revert "ANDROID: Incremental fs: Remove block HASH flag"
fs/incfs/format.c
fs/incfs/format.h
* Revert "ANDROID: Incremental fs: Make compatible with existing files"
fs/incfs/format.c
fs/incfs/format.h
* Revert "ANDROID: Incremental fs: Add INCFS_IOC_GET_BLOCK_COUNT"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Add hash block counts to IOC_IOCTL_GET_BLOCK_COUNT"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Fix filled block count from get filled blocks"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/pseudo_files.c
fs/incfs/vfs.c
fs/incfs/vfs.h
* Revert "ANDROID: Incremental fs: Fix uninitialized variable"
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Fix dangling else"
fs/incfs/data_mgmt.c
* Revert "ANDROID: Incremental fs: Add .incomplete folder"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/pseudo_files.c
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Add per UID read timeouts"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/pseudo_files.c
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Fix misuse of cpu_to_leXX and poll return"
fs/incfs/format.c
fs/incfs/pseudo_files.c
Revert "ANDROID: Incremental fs: Fix read_log_test which failed sporadically"
* Revert "ANDROID: Incremental fs: Initialize mount options correctly"
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Small improvements"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/pseudo_files.c
fs/incfs/vfs.c
* Revert "ANDROID: Incremental fs: Add zstd compression support"
fs/incfs/Kconfig
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/format.h
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Add zstd feature flag"
fs/incfs/main.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Add v2 feature flag"
fs/incfs/main.c
include/uapi/linux/incrementalfs.h
* Revert "ANDROID: Incremental fs: Change per UID timeouts to microseconds"
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/pseudo_files.c
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
Revert "ANDROID: Incremental fs: Fix incfs_test use of atol, open"
* Revert "ANDROID: Incremental fs: Set credentials before reading/writing"
fs/incfs/data_mgmt.c
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/pseudo_files.c
ANDROID: GKI: Update ABI for clang bump
ANDROID: clang: update to 12.0.1
Revert "ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64"
ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for x86_64
Merge 4.19.170 into android-4.19-stable
Linux 4.19.170
spi: cadence: cache reference clock rate during probe
* net: ipv6: Validate GSO SKB before finish IPv6 processing
net/ipv6/ip6_output.c
* net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
include/linux/skbuff.h
* net: introduce skb_list_walk_safe for skb segment walking
include/linux/skbuff.h
* tipc: fix NULL deref in tipc_link_xmit()
net/tipc/link.c
rxrpc: Fix handling of an unsupported token type in rxrpc_read()
* net: avoid 32 x truesize under-estimation for tiny skbs
net/core/skbuff.c
* net: sit: unregister_netdevice on newlink's error path
net/ipv6/sit.c
net: stmmac: Fixed mtu channged by cache aligned
rxrpc: Call state should be read with READ_ONCE() under some circumstances
net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
net: dcb: Validate netlink message in DCB handler
* esp: avoid unneeded kmap_atomic call
net/ipv4/esp4.c
net/ipv6/esp6.c
rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
net: mvpp2: Remove Pause and Asym_Pause support
netxen_nic: fix MSI/MSI-x interrupts
* udp: Prevent reuseport_select_sock from reading uninitialized socks
net/core/sock_reuseport.c
nfsd4: readdirplus shouldn't return parent of export
crypto: x86/crc32c - fix building with clang ias
* dm integrity: fix flush with external metadata device
drivers/md/dm-bufio.c
include/linux/dm-bufio.h
* compiler.h: Raise minimum version of GCC to 5.1 for arm64
include/linux/compiler-gcc.h
* usb: ohci: Make distrust_firmware param default to false
drivers/usb/host/ohci-hcd.c
ANDROID: GKI: Update the ABI xml and symbol list
* ANDROID: GKI: genirq: export `kstat_irqs_usr` for watchdog
kernel/irq/irqdesc.c
* ANDROID: GKI: soc: qcom: export `irq_stack_ptr`
arch/arm64/kernel/irq.c
* ANDROID: ASoC: core: add locked version of soc_find_component
sound/soc/soc-core.c
* ANDROID: dm-user: Fix the list walk-and-delete code
drivers/md/dm-user.c
Merge 4.19.169 into android-4.19-stable
Linux 4.19.169
* kbuild: enforce -Werror=return-type
Makefile
* netfilter: nf_nat: Fix memleak in nf_nat_init
net/netfilter/nf_nat_core.c
* netfilter: conntrack: fix reading nf_conntrack_buckets
net/netfilter/nf_conntrack_standalone.c
ALSA: fireface: Fix integer overflow in transmit_midi_msg()
ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
* dm: eliminate potential source of excessive kernel log noise
drivers/md/dm.c
net: sunrpc: interpret the return value of kstrtou32 correctly
* mm, slub: consider rest of partial list if acquire_slab() fails
mm/slub.c
RDMA/mlx5: Fix wrong free of blue flame register on error
RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
* ext4: fix superblock checksum failure when setting password salt
fs/ext4/ioctl.c
NFS: nfs_igrab_and_active must first reference the superblock
NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
pNFS: Mark layout for return if return-on-close was not sent
NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
ASoC: Intel: fix error code cnl_set_dsp_D0()
ASoC: meson: axg-tdm-interface: fix loopback
* dump_common_audit_data(): fix racy accesses to ->d_name
security/lsm_audit.c
ima: Remove __init annotation from ima_pcrread()
ARM: picoxcell: fix missing interrupt-parent properties
drm/msm: Call msm_init_vram before binding the gpu
* ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
include/linux/acpi.h
net: ethernet: fs_enet: Add missing MODULE_LICENSE
* misdn: dsp: select CONFIG_BITREVERSE
drivers/isdn/mISDN/Kconfig
arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
bfq: Fix computation of shallow depth
ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
ARC: build: add boot_targets to PHONY
ARC: build: add uImage.lzma to the top-level target
ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
* ext4: fix bug for rename with RENAME_WHITEOUT
fs/ext4/namei.c
* r8152: Add Lenovo Powered USB-C Travel Hub
drivers/net/usb/cdc_ether.c
drivers/net/usb/r8152.c
dm integrity: fix the maximum number of arguments
* dm snapshot: flush merged data before committing metadata
drivers/md/dm-snap.c
mm/hugetlb: fix potential missing huge page size info
ACPI: scan: Harden acpi_device_add() against device ID overflows
MIPS: relocatable: fix possible boot hangup with KASLR enabled
MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
* tracing/kprobes: Do the notrace functions check without kprobes on ftrace
kernel/trace/Kconfig
x86/hyperv: check cpu mask after interrupt has been disabled
* ASoC: dapm: remove widget from dirty list on free
sound/soc/soc-dapm.c
* Revert "BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once"
mm/mprotect.c
Merge 4.19.168 into android-4.19-stable
Linux 4.19.168
* regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init()
drivers/base/regmap/regmap-debugfs.c
* net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
net/core/skbuff.c
* block: fix use-after-free in disk_part_iter_next
block/genhd.c
KVM: arm64: Don't access PMCR_EL0 when no PMU is available
* wan: ds26522: select CONFIG_BITREVERSE
drivers/net/wan/Kconfig
* regmap: debugfs: Fix a memory leak when calling regmap_attach_dev
drivers/base/regmap/regmap-debugfs.c
net/mlx5e: Fix two double free cases
net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
iommu/intel: Fix memleak in intel_irq_remapping_alloc
* lightnvm: select CONFIG_CRC32
drivers/lightnvm/Kconfig
* block: rsxx: select CONFIG_CRC32
drivers/block/Kconfig
* wil6210: select CONFIG_CRC32
drivers/net/wireless/ath/wil6210/Kconfig
dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
dmaengine: xilinx_dma: check dma_async_device_register return value
dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
spi: stm32: FIFO threshold level - fix align packet size
cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
i2c: sprd: use a specific timeout to avoid system hang up issue
ARM: OMAP2+: omap_device: fix idling of devices during probe
HID: wacom: Fix memory leakage caused by kfifo_alloc
iio: imu: st_lsm6dsx: fix edge-trigger interrupts
iio: imu: st_lsm6dsx: flip irq return logic
spi: pxa2xx: Fix use-after-free on unbind
drm/i915: Fix mismatch between misplaced vma check and vma insert
* vmlinux.lds.h: Add PGO and AutoFDO input sections
include/asm-generic/vmlinux.lds.h
x86/resctrl: Don't move a task to the same resource group
x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
chtls: Fix chtls resources release sequence
chtls: Added a check to avoid NULL pointer dereference
chtls: Replace skb_dequeue with skb_peek
chtls: Fix panic when route to peer not configured
chtls: Remove invalid set_tcb call
chtls: Fix hardware tid leak
* net: ipv6: fib: flush exceptions when purging route
net/ipv6/ip6_fib.c
* net: fix pmtu check in nopmtudisc mode
net/ipv4/ip_tunnel.c
* net: ip: always refragment ip defragmented packets
net/ipv4/ip_output.c
net/sonic: Fix some resource leaks in error handling paths
net: vlan: avoid leaks on register_vlan_dev() failures
net: stmmac: dwmac-sun8i: Balance internal PHY power
net: stmmac: dwmac-sun8i: Balance internal PHY resource references
net: hns3: fix the number of queues actually used by ARQ
* net: cdc_ncm: correct overhead in delayed_ndp_size
drivers/net/usb/cdc_ncm.c
* BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once
mm/mprotect.c
* ANDROID: dm-user: fix typo in channel_free
drivers/md/dm-user.c
Merge 4.19.167 into android-4.19-stable
* ANDROID: dm-user: Add some missing static
drivers/md/dm-user.c
Linux 4.19.167
scsi: target: Fix XCOPY NAA identifier lookup
KVM: x86: fix shift out of bounds reported by UBSAN
x86/mtrr: Correct the range check before performing MTRR type lookups
netfilter: xt_RATEEST: reject non-null terminated string from userspace
netfilter: ipset: fix shift-out-of-bounds in htable_bits()
* netfilter: x_tables: Update remaining dereference to RCU
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c
xen/pvh: correctly setup the PV EFI interface for dom0
* Revert "device property: Keep secondary firmware node secondary by type"
drivers/base/core.c
btrfs: send: fix wrong file path when there is an inode with a pending rmdir
ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
ALSA: hda/conexant: add a new hda codec CX11970
ALSA: hda/via: Fix runtime PM for Clevo W35xSS
x86/mm: Fix leak of pmd ptlock
USB: serial: keyspan_pda: remove unused variable
* usb: gadget: configfs: Fix use-after-free issue with udc_name
drivers/usb/gadget/configfs.c
* usb: gadget: configfs: Preserve function ordering after bind failure
drivers/usb/gadget/configfs.c
* usb: gadget: Fix spinlock lockup on usb_function_deactivate
drivers/usb/gadget/composite.c
USB: gadget: legacy: fix return error code in acm_ms_bind()
* usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
drivers/usb/gadget/function/u_ether.c
usb: gadget: function: printer: Fix a memory leak for interface descriptor
usb: gadget: f_uac2: reset wMaxPacketSize
* usb: gadget: select CONFIG_CRC32
drivers/usb/gadget/Kconfig
* ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
sound/usb/midi.c
USB: usblp: fix DMA to stack
USB: yurex: fix control-URB timeout handling
USB: serial: option: add Quectel EM160R-GL
USB: serial: option: add LongSung M5710 module support
USB: serial: iuu_phoenix: fix DMA from stack
usb: uas: Add PNY USB Portable SSD to unusual_uas
usb: usbip: vhci_hcd: protect shift size
* USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
drivers/usb/host/xhci.c
usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
* usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
drivers/usb/dwc3/core.h
USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
USB: cdc-acm: blacklist another IR Droid device
* usb: gadget: enable super speed plus
drivers/usb/gadget/configfs.c
staging: mt7621-dma: Fix a resource leak in an error handling path
* crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
crypto/ecdh.c
video: hyperv_fb: Fix the mmap() regression for v5.4.y and older
Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
* net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
net/core/net-sysfs.c
* net-sysfs: take the rtnl lock when storing xps_rxqs
net/core/net-sysfs.c
* net: sched: prevent invalid Scell_log shift count
include/net/red.h
vhost_net: fix ubuf refcount incorrectly when sendmsg fails
r8169: work around power-saving bug on some chip versions
net: usb: qmi_wwan: add Quectel EM160R-GL
* CDC-NCM: remove "connected" log message
drivers/net/usb/cdc_ncm.c
net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
* erspan: fix version 1 check in gre_parse_header()
net/ipv4/gre_demux.c
net: hns: fix return value check in __lb_other_process()
* ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
net/ipv4/fib_frontend.c
* tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
drivers/net/tun.c
net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
* net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
net/core/net-sysfs.c
* net-sysfs: take the rtnl lock when storing xps_cpus
net/core/net-sysfs.c
net: ethernet: Fix memleak in ethoc_probe
net/ncsi: Use real net-device for response handler
virtio_net: Fix recursive call to cpus_read_lock()
qede: fix offload for IPIP tunnel packets
net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
atm: idt77252: call pci_disable_device() on error path
ethernet: ucc_geth: set dev->max_mtu to 1518
ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
net: mvpp2: prs: fix PPPoE with ipv6 packet parse
net: mvpp2: Add TCAM entry to drop flow control pause frames
i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
* proc: fix lookup in /proc/net subdirectories after setns(2)
fs/proc/generic.c
fs/proc/internal.h
fs/proc/proc_net.c
include/linux/proc_fs.h
* proc: change ->nlink under proc_subdir_lock
fs/proc/generic.c
depmod: handle the case of /sbin/depmod without /sbin in PATH
* lib/genalloc: fix the overflow when size is too big
lib/genalloc.c
scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
* scsi: ufs: Fix wrong print message in dev_err()
drivers/scsi/ufs/ufshcd.c
* workqueue: Kick a worker based on the actual activation of delayed works
kernel/workqueue.c
* kbuild: don't hardcode depmod path
Makefile
ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for aarch64
* Revert "ANDROID: arm64: lse: fix LSE atomics with LTO"
arch/arm64/include/asm/lse.h
* ANDROID: uapi: Add dm-user structure definition
include/uapi/linux/dm-user.h
* ANDROID: dm: dm-user: New target that proxies BIOs to userspace
drivers/md/Kconfig
drivers/md/Makefile
drivers/md/dm-user.c
ANDROID: GKI: Enable XFRM_MIGRATE
Merge 4.19.166 into android-4.19-stable
Linux 4.19.166
mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
iio:magnetometer:mag3110: Fix alignment and data leak issues.
iio:imu:bmi160: Fix alignment and data leak issues
* kdev_t: always inline major/minor helper functions
include/linux/kdev_t.h
dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()
dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()
dmaengine: at_hdmac: Substitute kzalloc with kmalloc
Revert "mtd: spinand: Fix OOB read"
Merge 4.19.165 into android-4.19-stable
Linux 4.19.165
* dm verity: skip verity work if I/O error when system is shutting down
drivers/md/dm-verity-target.c
* ALSA: pcm: Clear the full allocated memory at hw_params
sound/core/pcm_native.c
* module: delay kobject uevent until after module init call
kernel/module.c
NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode
powerpc: sysdev: add missing iounmap() on error in mpic_msgr_probe()
* quota: Don't overflow quota file offsets
fs/quota/quota_tree.c
* module: set MODULE_STATE_GOING state when a module fails to load
kernel/module.c
rtc: sun6i: Fix memleak in sun6i_rtc_clk_init
* fcntl: Fix potential deadlock in send_sig{io, urg}()
fs/fcntl.c
* ALSA: rawmidi: Access runtime->avail always in spinlock
sound/core/rawmidi.c
ALSA: seq: Use bool for snd_seq_queue internal flags
media: gp8psk: initialize stats at power control logic
misc: vmw_vmci: fix kernel info-leak by initializing dbells in vmci_ctx_get_chkpt_doorbells()
reiserfs: add check for an invalid ih_entry_count
Bluetooth: hci_h5: close serdev device and free hu in h5_close
* of: fix linker-section match-table corruption
include/linux/of.h
null_blk: Fix zone size initialization
xen/gntdev.c: Mark pages as dirty
powerpc/bitops: Fix possible undefined behaviour with fls() and fls64()
KVM: x86: reinstate vendor-agnostic check on SPEC_CTRL cpuid bits
KVM: SVM: relax conditions for allowing MSR_IA32_SPEC_CTRL accesses
* uapi: move constants from <linux/kernel.h> to <linux/const.h>
include/uapi/linux/const.h
include/uapi/linux/ethtool.h
include/uapi/linux/kernel.h
include/uapi/linux/lightnvm.h
include/uapi/linux/mroute6.h
include/uapi/linux/netfilter/x_tables.h
include/uapi/linux/netlink.h
include/uapi/linux/sysctl.h
* ext4: don't remount read-only with errors=continue on reboot
fs/ext4/super.c
vfio/pci: Move dummy_resources_list init in vfio_pci_probe()
ubifs: prevent creating duplicate encrypted filenames
* f2fs: prevent creating duplicate encrypted filenames
fs/f2fs/f2fs.h
* ext4: prevent creating duplicate encrypted filenames
fs/ext4/namei.c
* fscrypt: add fscrypt_is_nokey_name()
fs/crypto/hooks.c
md/raid10: initialize r10_bio->read_slot before use.
* ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect()
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Avoid bitfields for shared variables
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Cancel any pending work before teardown
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Don't corrupt global state on double registration
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Fix teardown ordering in acc_release()
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev'
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Remove useless assignment
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Remove useless non-debug prints
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: f_accessory: Remove stale comments
drivers/usb/gadget/function/f_accessory.c
* ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request
drivers/usb/gadget/function/f_accessory.c
* ANDROID: usb: gadget: f_accessory: fix CTS test stuck
drivers/usb/gadget/function/f_accessory.c
* Revert "seq_buf: Avoid type mismatch for seq_buf_init"
include/linux/seq_buf.h
include/linux/trace_seq.h
Merge 4.19.164 into android-4.19-stable
Linux 4.19.164
platform/x86: mlx-platform: remove an unused variable
* PCI: Fix pci_slot_release() NULL pointer dereference
drivers/pci/slot.c
platform/x86: intel-vbtn: Allow switch events on Acer Switch Alpha 12
libnvdimm/namespace: Fix reaping of invalidated block-window-namespace labels
xenbus/xenbus_backend: Disallow pending watch messages
* xen/xenbus: Count pending messages for each watch
include/xen/xenbus.h
xen/xenbus/xen_bus_type: Support will_handle watch callback
* xen/xenbus: Add 'will_handle' callback support in xenbus_watch_path()
include/xen/xenbus.h
* xen/xenbus: Allow watches discard events before queueing
include/xen/xenbus.h
xen-blkback: set ring->xenblkd to NULL after kthread_stop()
clk: mvebu: a3700: fix the XTAL MODE pin to MPP1_9
pinctrl: sunxi: Always call chained_irq_{enter, exit} in sunxi_pinctrl_irq_handler
md/cluster: fix deadlock when node is doing resync job
md/cluster: block reshape with remote resync job
iio:imu:bmi160: Fix too large a buffer.
iio:pressure:mpl3115: Force alignment of buffer
iio:light:st_uvis25: Fix timestamp alignment and prevent data leak.
iio:light:rpr0521: Fix timestamp alignment and prevent data leak.
iio: adc: rockchip_saradc: fix missing clk_disable_unprepare() on error in rockchip_saradc_resume
iio: buffer: Fix demux update
scsi: lpfc: Re-fix use after free in lpfc_rq_buf_free()
scsi: lpfc: Fix invalid sleeping context in lpfc_sli4_nvmet_alloc()
mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
mtd: parser: cmdline: Fix parsing of part-names with colons
mtd: spinand: Fix OOB read
* soc: qcom: smp2p: Safely acquire spinlock without IRQs
drivers/soc/qcom/smp2p.c
spi: mt7621: fix missing clk_disable_unprepare() on error in mt7621_spi_probe
spi: st-ssc4: Fix unbalanced pm_runtime_disable() in probe error path
spi: sc18is602: Don't leak SPI master in probe error path
spi: rb4xx: Don't leak SPI master in probe error path
spi: pic32: Don't leak DMA channels in probe error path
spi: davinci: Fix use-after-free on unbind
spi: spi-sh: Fix use-after-free on unbind
drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor()
jfs: Fix array index bounds check in dbAdjTree
jffs2: Fix GC exit abnormally
ubifs: wbuf: Don't leak kernel memory to flash
SMB3.1.1: do not log warning message if server doesn't populate salt
SMB3: avoid confusing warning message on mount to Azure
ceph: fix race in concurrent __ceph_remove_cap invocations
ima: Don't modify file descriptor mode on the fly
powerpc/powernv/memtrace: Fix crashing the kernel when enabling concurrently
powerpc/powernv/memtrace: Don't leak kernel memory to user space
powerpc/xmon: Change printk() to pr_cont()
powerpc/rtas: Fix typo of ibm,open-errinjct in RTAS filter
powerpc: Fix incorrect stw{, ux, u, x} instructions in __set_pte_at
ARM: dts: at91: sama5d2: fix CAN message ram offset and size
ARM: dts: pandaboard: fix pinmux for gpio user button of Pandaboard ES
* KVM: arm64: Introduce handling of AArch32 TTBCR2 traps
arch/arm64/include/asm/kvm_host.h
* ext4: fix deadlock with fs freezing and EA inodes
fs/ext4/inode.c
* ext4: fix a memory leak of ext4_free_data
fs/ext4/mballoc.c
USB: serial: keyspan_pda: fix write unthrottling
USB: serial: keyspan_pda: fix tx-unthrottle use-after-free
USB: serial: keyspan_pda: fix write-wakeup use-after-free
USB: serial: keyspan_pda: fix stalled writes
USB: serial: keyspan_pda: fix write deadlock
USB: serial: keyspan_pda: fix dropped unthrottle interrupts
USB: serial: digi_acceleport: fix write-wakeup deadlocks
USB: serial: mos7720: fix parallel-port state restore
EDAC/amd64: Fix PCI component registration
* crypto: ecdh - avoid unaligned accesses in ecdh_set_secret()
crypto/ecdh.c
powerpc/perf: Exclude kernel samples while counting events in user space.
staging: comedi: mf6x4: Fix AI end-of-conversion detection
s390/dasd: fix list corruption of lcu list
s390/dasd: fix list corruption of pavgroup group list
s390/dasd: prevent inconsistent LCU device data
s390/dasd: fix hanging device offline processing
s390/kexec_file: fix diag308 subcode when loading crash kernel
s390/smp: perform initial CPU reset also for SMT siblings
* ALSA: usb-audio: Disable sample read check if firmware doesn't give back
sound/usb/clock.c
* ALSA: usb-audio: Add VID to support native DSD reproduction on FiiO devices
sound/usb/quirks.c
ALSA: hda/realtek: Apply jack fixup for Quanta NL3
ALSA: hda/realtek: Add quirk for MSI-GP73
ALSA: pcm: oss: Fix a few more UBSAN fixes
ALSA: hda/realtek - Enable headset mic of ASUS Q524UQK with ALC255
ALSA: hda/realtek - Enable headset mic of ASUS X430UN with ALC256
ALSA: hda: Fix regressions on clear and reconfig sysfs
ACPI: PNP: compare the string length in the matching_id()
Revert "ACPI / resources: Use AE_CTRL_TERMINATE to terminate resources walks"
* PM: ACPI: PCI: Drop acpi_pm_set_bridge_wakeup()
include/acpi/acpi_bus.h
ALSA: hda/ca0132 - Change Input Source enum strings.
Input: cyapa_gen6 - fix out-of-bounds stack access
media: ipu3-cio2: Make the field on subdev format V4L2_FIELD_NONE
media: ipu3-cio2: Validate mbus format in setting subdev format
media: ipu3-cio2: Serialise access to pad format
media: ipu3-cio2: Return actual subdev format
media: ipu3-cio2: Remove traces of returned buffers
media: netup_unidvb: Don't leak SPI master in probe error path
media: sunxi-cir: ensure IR is handled when it is continuous
media: gspca: Fix memory leak in probe
Input: goodix - add upside-down quirk for Teclast X98 Pro tablet
Input: cros_ec_keyb - send 'scancodes' in addition to key events
lwt: Disable BH too in run_lwt_bpf()
* fix namespaced fscaps when !CONFIG_SECURITY
include/linux/security.h
* cfg80211: initialize rekey_data
net/wireless/nl80211.c
ARM: sunxi: Add machine match for the Allwinner V3 SoC
* kconfig: fix return value of do_error_if()
scripts/kconfig/preprocess.c
clk: sunxi-ng: Make sure divider tables have sentinel
clk: s2mps11: Fix a resource leak in error handling paths in the probe function
qlcnic: Fix error code in probe
perf record: Fix memory leak when using '--user-regs=?' to list registers
pwm: lp3943: Dynamically allocate PWM chip base
pwm: zx: Add missing cleanup in error path
clk: ti: Fix memleak in ti_fapll_synth_setup
* watchdog: coh901327: add COMMON_CLK dependency
drivers/watchdog/Kconfig
watchdog: qcom: Avoid context switch in restart handler
libnvdimm/label: Return -ENXIO for no slot in __blk_label_update
net: korina: fix return value
net: allwinner: Fix some resources leak in the error handling path of the probe and in the remove function
net: bcmgenet: Fix a resource leak in an error handling path in the probe functin
checkpatch: fix unescaped left brace
powerpc/ps3: use dma_mapping_error()
nfc: s3fwrn5: Release the nfc firmware
um: chan_xterm: Fix fd leak
um: tty: Fix handling of close in tty lines
um: Monitor error events in IRQ controller
* watchdog: Fix potential dereferencing of null pointer
drivers/watchdog/watchdog_core.c
watchdog: sprd: check busy bit before new loading rather than after that
watchdog: sprd: remove watchdog disable from resume fail path
* watchdog: sirfsoc: Add missing dependency on HAS_IOMEM
drivers/watchdog/Kconfig
irqchip/alpine-msi: Fix freeing of interrupts on allocation error path
* ASoC: wm_adsp: remove "ctl" from list on error in wm_adsp_create_control()
sound/soc/codecs/wm_adsp.c
mac80211: don't set set TDLS STA bandwidth wider than possible
extcon: max77693: Fix modalias string
clk: tegra: Fix duplicated SE clock entry
bus: fsl-mc: fix error return code in fsl_mc_object_allocate()
x86/kprobes: Restore BTF if the single-stepping is cancelled
nfs_common: need lock during iterate through the list
nfsd: Fix message level for normal termination
speakup: fix uninitialized flush_lock
usb: oxu210hp-hcd: Fix memory leak in oxu_create
usb: ehci-omap: Fix PM disable depth umbalance in ehci_hcd_omap_probe
powerpc/pseries/hibernation: remove redundant cacheinfo update
powerpc/pseries/hibernation: drop pseries_suspend_begin() from suspend ops
platform/x86: mlx-platform: Fix item counter assignment for MSN2700, MSN24xx systems
scsi: fnic: Fix error return code in fnic_probe()
* seq_buf: Avoid type mismatch for seq_buf_init
include/linux/seq_buf.h
include/linux/trace_seq.h
scsi: pm80xx: Fix error return in pm8001_pci_probe()
scsi: qedi: Fix missing destroy_workqueue() on error in __qedi_probe
cpufreq: scpi: Add missing MODULE_ALIAS
cpufreq: loongson1: Add missing MODULE_ALIAS
cpufreq: st: Add missing MODULE_DEVICE_TABLE
cpufreq: mediatek: Add missing MODULE_DEVICE_TABLE
cpufreq: highbank: Add missing MODULE_DEVICE_TABLE
* clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
drivers/clocksource/arm_arch_timer.c
* dm ioctl: fix error return code in target_message
drivers/md/dm-ioctl.c
ASoC: jz4740-i2s: add missed checks for clk_get()
net/mlx5: Properly convey driver version to firmware
memstick: r592: Fix error return in r592_probe()
arm64: dts: rockchip: Fix UART pull-ups on rk3328
pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe()
ARM: dts: at91: sama5d2: map securam as device
clocksource/drivers/cadence_ttc: Fix memory leak in ttc_setup_clockevent()
media: saa7146: fix array overflow in vidioc_s_audio()
vfio-pci: Use io_remap_pfn_range() for PCI IO memory
NFS: switch nfsiod to be an UNBOUND workqueue.
lockd: don't use interval-based rebinding over TCP
* SUNRPC: xprt_load_transport() needs to support the netid "rdma6"
include/linux/sunrpc/xprt.h
NFSv4.2: condition READDIR's mask for security label based on LSM state
ath10k: Release some resources in an error handling path
ath10k: Fix an error handling path
ath10k: Fix the parsing error in service available event
platform/x86: dell-smbios-base: Fix error return code in dell_smbios_init
ARM: dts: at91: at91sam9rl: fix ADC triggers
arm64: dts: meson: fix spi-max-frequency on Khadas VIM2
PCI: iproc: Fix out-of-bound array accesses
* PCI: Fix overflow in command-line resource alignment requests
drivers/pci/pci.c
* PCI: Bounds-check command-line resource alignment requests
drivers/pci/pci.c
* genirq/irqdomain: Don't try to free an interrupt that has no mapping
kernel/irq/irqdomain.c
power: supply: bq24190_charger: fix reference leak
power: supply: axp288_charger: Fix HP Pavilion x2 10 DMI matching
arm64: dts: rockchip: Set dr_mode to "host" for OTG on rk3328-roc-cc
ARM: dts: Remove non-existent i2c1 from 98dx3236
HSI: omap_ssi: Don't jump to free ID in ssi_add_controller()
slimbus: qcom-ngd-ctrl: Avoid sending power requests without QMI
media: max2175: fix max2175_set_csm_mode() error code
mips: cdmm: fix use-after-free in mips_cdmm_bus_discover
samples: bpf: Fix lwt_len_hist reusing previous BPF map
platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration
platform/x86: mlx-platform: Remove PSU EEPROM from default platform configuration
media: siano: fix memory leak of debugfs members in smsdvb_hotplug
dmaengine: mv_xor_v2: Fix error return code in mv_xor_v2_probe()
cw1200: fix missing destroy_workqueue() on error in cw1200_init_common
orinoco: Move context allocation after processing the skb
ARM: dts: at91: sama5d3_xplained: add pincontrol for USB Host
ARM: dts: at91: sama5d4_xplained: add pincontrol for USB Host
memstick: fix a double-free bug in memstick_check
RDMA/cxgb4: Validate the number of CQEs
Input: omap4-keypad - fix runtime PM error handling
drivers: soc: ti: knav_qmss_queue: Fix error return code in knav_queue_probe
soc: ti: Fix reference imbalance in knav_dma_probe
soc: ti: knav_qmss: fix reference leak in knav_queue_probe
* spi: fix resource leak for drivers without .remove callback
drivers/spi/spi.c
crypto: omap-aes - Fix PM disable depth imbalance in omap_aes_probe
crypto: crypto4xx - Replace bitwise OR with logical OR in crypto4xx_build_pd
powerpc/feature: Fix CPU_FTRS_ALWAYS by removing CPU_FTRS_GENERIC_32
spi: mxs: fix reference leak in mxs_spi_probe
usb/max3421: fix return error code in max3421_probe()
Input: ads7846 - fix unaligned access on 7845
Input: ads7846 - fix integer overflow on Rt calculation
Input: ads7846 - fix race that causes missing releases
drm/omap: dmm_tiler: fix return error code in omap_dmm_probe()
video: fbdev: atmel_lcdfb: fix return error code in atmel_lcdfb_of_init()
media: solo6x10: fix missing snd_card_free in error handling case
* scsi: core: Fix VPD LUN ID designator priorities
drivers/scsi/scsi_lib.c
* ASoC: meson: fix COMPILE_TEST error
sound/soc/meson/Kconfig
media: mtk-vcodec: add missing put_device() call in mtk_vcodec_release_dec_pm()
media: tm6000: Fix sizeof() mismatches
staging: gasket: interrupt: fix the missed eventfd_ctx_put() in gasket_interrupt.c
staging: greybus: codecs: Fix reference counter leak in error handling
crypto: qat - fix status check in qat_hal_put_rel_rd_xfer()
MIPS: BCM47XX: fix kconfig dependency bug for BCM47XX_BCMA
RDMa/mthca: Work around -Wenum-conversion warning
ASoC: arizona: Fix a wrong free in wm8997_probe
ASoC: wm8998: Fix PM disable depth imbalance on error
mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
spi: bcm63xx-hsspi: fix missing clk_disable_unprepare() on error in bcm63xx_hsspi_resume
spi: tegra114: fix reference leak in tegra spi ops
spi: tegra20-sflash: fix reference leak in tegra_sflash_resume
spi: tegra20-slink: fix reference leak in slink ops of tegra20
spi: spi-ti-qspi: fix reference leak in ti_qspi_setup
Bluetooth: hci_h5: fix memory leak in h5_close
* Bluetooth: Fix null pointer dereference in hci_event_packet()
net/bluetooth/hci_event.c
arm64: dts: exynos: Correct psci compatible used on Exynos7
arm64: dts: exynos: Include common syscon restart/poweroff for Exynos7
* selinux: fix inode_doinit_with_dentry() LABEL_INVALID error handling
security/selinux/hooks.c
* ASoC: pcm: DRAIN support reactivation
sound/soc/soc-pcm.c
drm/msm/dsi_pll_10nm: restore VCO rate during restore_state
spi: img-spfi: fix reference leak in img_spfi_resume
powerpc/64: Set up a kernel stack for secondaries before cpu_restore()
crypto: inside-secure - Fix sizeof() mismatch
crypto: talitos - Fix return type of current_desc_hdr()
crypto: talitos - Endianess in current_desc_hdr()
* sched: Reenable interrupts in do_sched_yield()
kernel/sched/core.c
* sched/deadline: Fix sched_dl_global_validate()
kernel/sched/deadline.c
kernel/sched/sched.h
x86/apic: Fix x2apic enablement without interrupt remapping
ARM: p2v: fix handling of LPAE translation in BE mode
x86/mm/ident_map: Check for errors from ident_pud_init()
RDMA/rxe: Compute PSN windows correctly
ARM: dts: aspeed: s2600wf: Fix VGA memory region location
* selinux: fix error initialization in inode_doinit_with_dentry()
security/selinux/hooks.c
RDMA/bnxt_re: Set queue pair state when being queried
soc: qcom: geni: More properly switch to DMA mode
soc: mediatek: Check if power domains can be powered on at boot time
soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()
drm/tve200: Fix handling of platform_get_irq() error
drm/gma500: fix double free of gma_connector
perf cs-etm: Move definition of 'traceid_list' global variable from header file
perf cs-etm: Change tuple from traceID-CPU# to traceID-metadata
md: fix a warning caused by a race between concurrent md_ioctl()s
* crypto: af_alg - avoid undefined behavior accessing salg_name
include/uapi/linux/if_alg.h
media: msi2500: assign SPI bus number dynamically
* quota: Sanity-check quota file headers on load
fs/quota/quota_v2.c
* Bluetooth: Fix slab-out-of-bounds read in hci_le_direct_adv_report_evt()
net/bluetooth/hci_event.c
* serial_core: Check for port state when tty is in error state
drivers/tty/serial/serial_core.c
HID: i2c-hid: add Vero K147 to descriptor override
scsi: megaraid_sas: Check user-provided offsets
* coresight: tmc-etr: Check if page is valid before dma_map_page()
drivers/hwtracing/coresight/coresight-tmc-etr.c
ARM: dts: exynos: fix USB 3.0 pins supply being turned off on Odroid XU
ARM: dts: exynos: fix USB 3.0 VBUS control and over-current pins on Exynos5410
ARM: dts: exynos: fix roles of USB 3.0 ports on Odroid XU
usb: chipidea: ci_hdrc_imx: Pass DISABLE_DEVICE_STREAMING flag to imx6ul
USB: gadget: f_rndis: fix bitrate for SuperSpeed and above
* usb: gadget: f_fs: Re-use SS descriptors for SuperSpeedPlus
drivers/usb/gadget/function/f_fs.c
* USB: gadget: f_midi: setup SuperSpeed Plus descriptors
drivers/usb/gadget/function/f_midi.c
USB: gadget: f_acm: add support for SuperSpeed Plus
USB: serial: option: add interface-number sanity check to flag handling
soc/tegra: fuse: Fix index bug in get_process_id
* dm table: Remove BUG_ON(in_interrupt())
drivers/md/dm-table.c
scsi: mpt3sas: Increase IOCInit request timeout to 30s
vxlan: Copy needed_tailroom from lowerdev
vxlan: Add needed_headroom for lower device
* arm64: syscall: exit userspace before unmasking exceptions
arch/arm64/kernel/syscall.c
drm/tegra: sor: Disable clocks on error in tegra_sor_init()
* kernel/cpu: add arch override for clear_tasks_mm_cpumask() mm handling
kernel/cpu.c
drm/tegra: replace idr_init() by idr_init_base()
ixgbe: avoid premature Rx buffer reuse
RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait
selftests/bpf/test_offload.py: Reset ethtool features after failed setting
gpio: eic-sprd: break loop when getting NULL device resource
* netfilter: x_tables: Switch synchronization to RCU
include/linux/netfilter/x_tables.h
net/ipv4/netfilter/arp_tables.c
net/ipv4/netfilter/ip_tables.c
net/ipv6/netfilter/ip6_tables.c
net/netfilter/x_tables.c
* block: factor out requeue handling from dispatch code
block/blk-mq.c
clk: renesas: r9a06g032: Drop __packed for portability
can: softing: softing_netdev_open(): fix error handling
xsk: Fix xsk_poll()'s return type
* scsi: bnx2i: Requires MMU
drivers/scsi/bnx2i/Kconfig
gpio: mvebu: fix potential user-after-free on probe
ARM: dts: sun8i: v3s: fix GIC node memory range
pinctrl: baytrail: Avoid clearing debounce value when turning it off
pinctrl: merrifield: Set default bias in case no particular value given
x86/resctrl: Fix incorrect local bandwidth when mba_sc is enabled
x86/resctrl: Remove unused struct mbm_state::chunks_bw
* arm64: Change .weak to SYM_FUNC_START_WEAK_PI for arch/arm64/lib/mem*.S
arch/arm64/lib/memcpy.S
arch/arm64/lib/memmove.S
arch/arm64/lib/memset.S
* arm64: lse: Fix LSE atomics with LLVM
arch/arm64/include/asm/lse.h
* arm64: lse: fix LSE atomics with LLVM's integrated assembler
arch/arm64/include/asm/atomic_lse.h
arch/arm64/include/asm/lse.h
* drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi
drivers/gpu/drm/drm_dp_mst_topology.c
drm/xen-front: Fix misused IS_ERR_OR_NULL checks
serial: 8250_omap: Avoid FIFO corruption caused by MDR1 access
ALSA: pcm: oss: Fix potential out-of-bounds shift
* USB: sisusbvga: Make console support depend on BROKEN
drivers/usb/misc/sisusbvga/Kconfig
* USB: UAS: introduce a quirk to set no_write_same
drivers/usb/storage/usb.c
include/linux/usb_usual.h
* xhci: Give USB2 ports time to enter U3 in bus suspend
drivers/usb/host/xhci-hub.c
* ALSA: usb-audio: Fix control 'access overflow' errors from chmap
sound/usb/stream.c
* ALSA: usb-audio: Fix potential out-of-bounds shift
sound/usb/format.c
* USB: add RESET_RESUME quirk for Snapscan 1212
drivers/usb/core/quirks.c
USB: dummy-hcd: Fix uninitialized array use in init()
ktest.pl: If size of log is too big to email, email error message
net: bridge: vlan: fix error return code in __vlan_add()
net: stmmac: dwmac-meson8b: fix mask definition of the m250_sel mux
net: stmmac: delete the eee_ctrl_timer after napi disabled
net/mlx4_en: Handle TX error CQE
lan743x: fix for potential NULL pointer dereference with bare card
net/mlx4_en: Avoid scheduling restart task if it is already running
* tcp: fix cwnd-limited bug for TSO deferral where we send nothing
net/ipv4/tcp_output.c
* tcp: select sane initial rcvq_space.space for big MSS
net/ipv4/tcp_input.c
net: stmmac: free tx skb buffer in stmmac_resume()
mac80211: mesh: fix mesh_pathtbl_init() error path
PCI: qcom: Add missing reset for ipq806x
* compiler.h: fix barrier_data() on clang
include/linux/compiler-clang.h
include/linux/compiler-gcc.h
include/linux/compiler.h
x86/apic/vector: Fix ordering in vector assignment
x86/membarrier: Get rid of a dubious optimization
x86/mm/mem_encrypt: Fix definition of PMD_FLAGS_DEC_WP
scsi: be2iscsi: Revert "Fix a theoretical leak in beiscsi_create_eqs()"
* kbuild: avoid static_assert for genksyms
include/linux/build_bug.h
mmc: block: Fixup condition for CMD13 polling for RPMB requests
pinctrl: amd: remove debounce filter setting in IRQ type setting
Input: i8042 - add Acer laptops to the i8042 reset list
Input: cm109 - do not stomp on control URB
platform/x86: intel-vbtn: Support for tablet mode on HP Pavilion 13 x360 PC
platform/x86: acer-wmi: add automatic keyboard background light toggle key as KEY_LIGHTS_TOGGLE
platform/x86: thinkpad_acpi: Add BAT1 is primary battery quirk for Thinkpad Yoga 11e 4th gen
platform/x86: thinkpad_acpi: Do not report SW_TABLET_MODE on Yoga 11e
soc: fsl: dpio: Get the cpumask through cpumask_of(cpu)
* irqchip/gic-v3-its: Unconditionally save/restore the ITS state on suspend
drivers/irqchip/irq-gic-v3-its.c
* scsi: ufs: Make sure clk scaling happens only when HBA is runtime ACTIVE
drivers/scsi/ufs/ufshcd.c
ARC: stack unwinding: don't assume non-current task is sleeping
powerpc: Drop -me200 addition to build flags
iwlwifi: mvm: fix kernel panic in case of assert during CSA
arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
iwlwifi: pcie: limit memory read spin time
spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe
spi: bcm2835aux: Fix use-after-free on unbind
x86/lib: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S
* Kbuild: do not emit debug info for assembly with LLVM_IAS=1
Makefile
ANDROID: GKI: Update the ABI xml representation
* ANDROID: Incremental fs: Set credentials before reading/writing
fs/incfs/data_mgmt.c
fs/incfs/format.c
fs/incfs/format.h
fs/incfs/pseudo_files.c
ANDROID: Incremental fs: Fix incfs_test use of atol, open
* ANDROID: Incremental fs: Change per UID timeouts to microseconds
fs/incfs/data_mgmt.c
fs/incfs/data_mgmt.h
fs/incfs/pseudo_files.c
fs/incfs/vfs.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Add v2 feature flag
fs/incfs/main.c
include/uapi/linux/incrementalfs.h
* ANDROID: Incremental fs: Add zstd feature flag
fs/incfs/main.c
include/uapi/linux/incrementalfs.h
Merge 4.19.163 into android-4.19-stable
Linux 4.19.163
Revert "geneve: pull IP header before ECN decapsulation"
x86/insn-eval: Use new for_each_insn_prefix() macro to loop over prefixes bytes
netfilter: nf_tables: avoid false-postive lockdep splat
Input: i8042 - fix error return code in i8042_setup_aux()
dm writecache: remove BUG() and fail gracefully instead
i2c: qup: Fix error return code in qup_i2c_bam_schedule_desc()
gfs2: check for empty rgrp tree in gfs2_ri_update
* tracing: Fix userstacktrace option for instances
kernel/trace/trace.c
kernel/trace/trace.h
spi: bcm2835: Release the DMA channel if probe fails after dma_init
spi: bcm2835: Fix use-after-free on unbind
spi: bcm-qspi: Fix use-after-free on unbind
* spi: Introduce device-managed SPI controller allocation
drivers/spi/spi.c
include/linux/spi/spi.h
iommu/amd: Set DTE[IntTabLen] to represent 512 IRTEs
speakup: Reject setting the speakup line discipline outside of speakup
i2c: imx: Check for I2SR_IAL after every byte
i2c: imx: Fix reset of I2SR_IAL flag
x86/uprobes: Do not use prefixes.nbytes when looping over prefixes.bytes
* mm/swapfile: do not sleep with a spin lock held
mm/swapfile.c
* mm: list_lru: set shrinker map bit when child nr_items is not zero
mm/list_lru.c
* dm: remove invalid sparse __acquires and __releases annotations
drivers/md/dm.c
dm writecache: fix the maximum number of arguments
scsi: mpt3sas: Fix ioctl timeout
i2c: imx: Don't generate STOP condition if arbitration has been lost
cifs: fix potential use-after-free in cifs_echo_request()
ftrace: Fix updating FTRACE_FL_TRAMP
ALSA: hda/generic: Add option to enforce preferred_dacs pairs
ALSA: hda/realtek - Add new codec supported for ALC897
ALSA: hda/realtek: Enable headset of ASUS UX482EG & B9400CEA with ALC294
ALSA: hda/realtek: Add mute LED quirk to yet another HP x360 model
* tty: Fix ->session locking
drivers/tty/tty_io.c
drivers/tty/tty_jobctrl.c
include/linux/tty.h
* tty: Fix ->pgrp locking in tiocspgrp()
drivers/tty/tty_jobctrl.c
USB: serial: option: fix Quectel BG96 matching
USB: serial: option: add support for Thales Cinterion EXS82
USB: serial: option: add Fibocom NL668 variants
USB: serial: ch341: sort device-id entries
USB: serial: ch341: add new Product ID for CH341A
USB: serial: kl5kusb105: fix memleak on open
* usb: gadget: f_fs: Use local copy of descriptors for userspace copy
drivers/usb/gadget/function/f_fs.c
pinctrl: baytrail: Fix pin being driven low for a while on gpiod_get(..., GPIOD_OUT_HIGH)
pinctrl: baytrail: Replace WARN with dev_info_once when setting direct-irq pin to output
ANDROID: Add symbol of get_next_event_cpu back
ANDROID: x86: configs: gki: add missing CONFIG_BLK_CGROUP
ANDROID: Add allowed symbols from sctp.ko and qrtr.ko
Merge 4.19.162 into android-4.19-stable
Linux 4.19.162
RDMA/i40iw: Address an mmap handler exploit in i40iw
tracing: Remove WARN_ON in start_thread()
Input: i8042 - add ByteSpeed touchpad to noloop table
* Input: xpad - support Ardwiino Controllers
drivers/input/joystick/xpad.c
* ALSA: usb-audio: US16x08: fix value count for level meters
sound/usb/mixer_us16x08.c
dt-bindings: net: correct interrupt flags in examples
chelsio/chtls: fix panic during unload reload chtls
net/mlx5: Fix wrong address reclaim when command interface is down
net: mvpp2: Fix error return code in mvpp2_open()
chelsio/chtls: fix a double free in chtls_setkey()
net: pasemi: fix error return code in pasemi_mac_open()
cxgb3: fix error return code in t3_sge_alloc_qset()
net/x25: prevent a couple of overflows
net: ip6_gre: set dev->hard_header_len when using header_ops
geneve: pull IP header before ECN decapsulation
ibmvnic: Fix TX completion error handling
ibmvnic: Ensure that SCRQ entry reads are correctly ordered
* ipv4: Fix tos mask in inet_rtm_getroute()
net/ipv4/route.c
netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal
* bonding: wait for sysfs kobject destruction before freeing struct slave
drivers/net/bonding/bond_main.c
drivers/net/bonding/bond_sysfs_slave.c
include/net/bonding.h
i40e: Fix removing driver while bare-metal VFs pass traffic
ibmvnic: fix call_netdevice_notifiers in do_reset
* net/tls: Protect from calling tls_dev_del for TLS RX twice
include/net/tls.h
usbnet: ipheth: fix connectivity with iOS 14
* tun: honor IOCB_NOWAIT flag
drivers/net/tun.c
* tcp: Set INET_ECN_xmit configuration in tcp_reinit_congestion_control
net/ipv4/tcp_cong.c
* sock: set sk_err to ee_errno on dequeue from errq
net/core/skbuff.c
rose: Fix Null pointer dereference in rose_send_frame()
net/tls: missing received data after fast remote close
net/af_iucv: set correct sk_protocol for child sockets
* ipv6: addrlabel: fix possible memory leak in ip6addrlbl_net_init
net/ipv6/addrlabel.c
* FROMLIST: Kbuild: do not emit debug info for assembly with LLVM_IAS=1
Makefile
* ANDROID: kbuild: use grep -F instead of fgrep
scripts/Kbuild.include
* ANDROID: GKI: usb: gadget: support claiming indexed endpoints by name
drivers/usb/gadget/epautoconf.c
* UPSTREAM: arm64: sysreg: Clean up instructions for modifying PSTATE fields
arch/arm64/include/asm/sysreg.h
arch/arm64/kernel/cpufeature.c
Revert "Revert "ANDROID: clang: update to 11.0.5""
* ANDROID: kbuild: speed up ksym_dep_filter
scripts/Kbuild.include
* Revert "drm/atomic_helper: Stop modesets on unregistered connectors harder"
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_connector.c
include/drm/drm_connector.h
Merge 4.19.161 into android-4.19-stable
Linux 4.19.161
* USB: core: Fix regression in Hercules audio card
drivers/usb/core/quirks.c
x86/resctrl: Add necessary kernfs_put() calls to prevent refcount leak
x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak
x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb
usb: gadget: Fix memleak in gadgetfs_fill_super
* USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card
drivers/usb/core/quirks.c
* usb: gadget: f_midi: Fix memleak in f_midi_alloc
drivers/usb/gadget/function/f_midi.c
* USB: core: Change %pK for __user pointers to %px
drivers/usb/core/devio.c
perf probe: Fix to die_entrypc() returns error correctly
can: m_can: fix nominal bitiming tseg2 min for version >= 3.1
platform/x86: toshiba_acpi: Fix the wrong variable assignment
platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time
can: gs_usb: fix endianess problem with candleLight firmware
efivarfs: revert "fix memory leak in efivarfs_create()"
optee: add writeback to valid memory type
ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq
ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues
net: ena: set initial DMA width to avoid intel iommu issue
nfc: s3fwrn5: use signed integer for parsing GPIO numbers
IB/mthca: fix return value of error branch in mthca_init_cq()
s390/qeth: fix tear down of async TX buffers
cxgb4: fix the panic caused by non smac rewrite
bnxt_en: Release PCI regions when DMA mask setup fails during probe.
video: hyperv_fb: Fix the cache type when mapping the VRAM
bnxt_en: fix error return code in bnxt_init_board()
bnxt_en: fix error return code in bnxt_init_one()
* scsi: ufs: Fix race between shutdown and runtime resume flow
drivers/scsi/ufs/ufshcd.c
ARM: dts: dra76x: m_can: fix order of clocks
batman-adv: set .owner to THIS_MODULE
phy: tegra: xusb: Fix dangling pointer on probe failure
xtensa: uaccess: Add missing __user to strncpy_from_user() prototype
perf/x86: fix sysfs type mismatches
scsi: target: iscsi: Fix cmd abort fabric stop race
* scsi: libiscsi: Fix NOP race condition
include/scsi/libiscsi.h
dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size
nvme: free sq/cq dbbuf pointers when dbbuf set fails
* proc: don't allow async path resolution of /proc/self components
fs/proc/self.c
* HID: Add Logitech Dinovo Edge battery quirk
drivers/hid/hid-ids.h
drivers/hid/hid-input.c
x86/xen: don't unbind uninitialized lock_kicker_irq
dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant
* HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices
drivers/hid/hid-ids.h
drivers/hid/hid-quirks.c
HID: hid-sensor-hub: Fix issue with devices with no report ID
Input: i8042 - allow insmod to succeed on devices without an i8042 controller
* HID: add support for Sega Saturn
drivers/hid/hid-ids.h
drivers/hid/hid-quirks.c
* HID: cypress: Support Varmilo Keyboards' media hotkeys
drivers/hid/hid-ids.h
ALSA: hda/hdmi: fix incorrect locking in hdmi_pcm_close
* drm/atomic_helper: Stop modesets on unregistered connectors harder
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_atomic_helper.c
drivers/gpu/drm/drm_connector.c
include/drm/drm_connector.h
* arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
arch/arm64/include/asm/pgtable.h
* arm64: pgtable: Fix pte_accessible()
arch/arm64/include/asm/pgtable.h
KVM: x86: Fix split-irqchip vs interrupt injection window request
KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint
KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace
* wireless: Use linux/stddef.h instead of stddef.h
include/uapi/linux/wireless.h
btrfs: fix lockdep splat when reading qgroup config on mount
btrfs: don't access possibly stale fs_info data for printing duplicate device
* netfilter: clear skb->next in NF_HOOK_LIST()
include/linux/netfilter.h
perf event: Check ref_reloc_sym before using it
* ANDROID: vmlinux.lds.h: merge compound literal sections
include/asm-generic/vmlinux.lds.h
* BACKPORT: sched/fair: Fix overutilized update in enqueue_task_fair()
kernel/sched/fair.c
Bug: 180663378
Change-Id: Ie10d7527ff7d181fa122bbe77d6869c2b65cbe4e
Signed-off-by: Lucas Wei <lucaswei@google.com>
673 lines
22 KiB
Plaintext
673 lines
22 KiB
Plaintext
#
|
|
# Block device driver configuration
|
|
#
|
|
|
|
menuconfig MD
|
|
bool "Multiple devices driver support (RAID and LVM)"
|
|
depends on BLOCK
|
|
select SRCU
|
|
help
|
|
Support multiple physical spindles through a single logical device.
|
|
Required for RAID and logical volume management.
|
|
|
|
if MD
|
|
|
|
config BLK_DEV_MD
|
|
tristate "RAID support"
|
|
---help---
|
|
This driver lets you combine several hard disk partitions into one
|
|
logical block device. This can be used to simply append one
|
|
partition to another one or to combine several redundant hard disks
|
|
into a RAID1/4/5 device so as to provide protection against hard
|
|
disk failures. This is called "Software RAID" since the combining of
|
|
the partitions is done by the kernel. "Hardware RAID" means that the
|
|
combining is done by a dedicated controller; if you have such a
|
|
controller, you do not need to say Y here.
|
|
|
|
More information about Software RAID on Linux is contained in the
|
|
Software RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also learn
|
|
where to get the supporting user space utilities raidtools.
|
|
|
|
If unsure, say N.
|
|
|
|
config MD_AUTODETECT
|
|
bool "Autodetect RAID arrays during kernel boot"
|
|
depends on BLK_DEV_MD=y
|
|
default y
|
|
---help---
|
|
If you say Y here, then the kernel will try to autodetect raid
|
|
arrays as part of its boot process.
|
|
|
|
If you don't use raid and say Y, this autodetection can cause
|
|
a several-second delay in the boot time due to various
|
|
synchronisation steps that are part of this step.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_LINEAR
|
|
tristate "Linear (append) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
If you say Y here, then your multiple devices driver will be able to
|
|
use the so-called linear mode, i.e. it will combine the hard disk
|
|
partitions by simply appending one to the other.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called linear.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID0
|
|
tristate "RAID-0 (striping) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
If you say Y here, then your multiple devices driver will be able to
|
|
use the so-called raid0 mode, i.e. it will combine the hard disk
|
|
partitions into one logical device in such a fashion as to fill them
|
|
up evenly, one chunk here and one chunk there. This will increase
|
|
the throughput rate if the partitions reside on distinct disks.
|
|
|
|
Information about Software RAID on Linux is contained in the
|
|
Software-RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also
|
|
learn where to get the supporting user space utilities raidtools.
|
|
|
|
To compile this as a module, choose M here: the module
|
|
will be called raid0.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID1
|
|
tristate "RAID-1 (mirroring) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
A RAID-1 set consists of several disk drives which are exact copies
|
|
of each other. In the event of a mirror failure, the RAID driver
|
|
will continue to use the operational mirrors in the set, providing
|
|
an error free MD (multiple device) to the higher levels of the
|
|
kernel. In a set with N drives, the available space is the capacity
|
|
of a single drive, and the set protects against a failure of (N - 1)
|
|
drives.
|
|
|
|
Information about Software RAID on Linux is contained in the
|
|
Software-RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also
|
|
learn where to get the supporting user space utilities raidtools.
|
|
|
|
If you want to use such a RAID-1 set, say Y. To compile this code
|
|
as a module, choose M here: the module will be called raid1.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID10
|
|
tristate "RAID-10 (mirrored striping) mode"
|
|
depends on BLK_DEV_MD
|
|
---help---
|
|
RAID-10 provides a combination of striping (RAID-0) and
|
|
mirroring (RAID-1) with easier configuration and more flexible
|
|
layout.
|
|
Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to
|
|
be the same size (or at least, only as much as the smallest device
|
|
will be used).
|
|
RAID-10 provides a variety of layouts that provide different levels
|
|
of redundancy and performance.
|
|
|
|
RAID-10 requires mdadm-1.7.0 or later, available at:
|
|
|
|
https://www.kernel.org/pub/linux/utils/raid/mdadm/
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_RAID456
|
|
tristate "RAID-4/RAID-5/RAID-6 mode"
|
|
depends on BLK_DEV_MD
|
|
select RAID6_PQ
|
|
select LIBCRC32C
|
|
select ASYNC_MEMCPY
|
|
select ASYNC_XOR
|
|
select ASYNC_PQ
|
|
select ASYNC_RAID6_RECOV
|
|
---help---
|
|
A RAID-5 set of N drives with a capacity of C MB per drive provides
|
|
the capacity of C * (N - 1) MB, and protects against a failure
|
|
of a single drive. For a given sector (row) number, (N - 1) drives
|
|
contain data sectors, and one drive contains the parity protection.
|
|
For a RAID-4 set, the parity blocks are present on a single drive,
|
|
while a RAID-5 set distributes the parity across the drives in one
|
|
of the available parity distribution methods.
|
|
|
|
A RAID-6 set of N drives with a capacity of C MB per drive
|
|
provides the capacity of C * (N - 2) MB, and protects
|
|
against a failure of any two drives. For a given sector
|
|
(row) number, (N - 2) drives contain data sectors, and two
|
|
drives contains two independent redundancy syndromes. Like
|
|
RAID-5, RAID-6 distributes the syndromes across the drives
|
|
in one of the available parity distribution methods.
|
|
|
|
Information about Software RAID on Linux is contained in the
|
|
Software-RAID mini-HOWTO, available from
|
|
<http://www.tldp.org/docs.html#howto>. There you will also
|
|
learn where to get the supporting user space utilities raidtools.
|
|
|
|
If you want to use such a RAID-4/RAID-5/RAID-6 set, say Y. To
|
|
compile this code as a module, choose M here: the module
|
|
will be called raid456.
|
|
|
|
If unsure, say Y.
|
|
|
|
config MD_MULTIPATH
|
|
tristate "Multipath I/O support"
|
|
depends on BLK_DEV_MD
|
|
help
|
|
MD_MULTIPATH provides a simple multi-path personality for use
|
|
the MD framework. It is not under active development. New
|
|
projects should consider using DM_MULTIPATH which has more
|
|
features and more testing.
|
|
|
|
If unsure, say N.
|
|
|
|
config MD_FAULTY
|
|
tristate "Faulty test module for MD"
|
|
depends on BLK_DEV_MD
|
|
help
|
|
The "faulty" module allows for a block device that occasionally returns
|
|
read or write errors. It is useful for testing.
|
|
|
|
In unsure, say N.
|
|
|
|
|
|
config MD_CLUSTER
|
|
tristate "Cluster Support for MD"
|
|
depends on BLK_DEV_MD
|
|
depends on DLM
|
|
default n
|
|
---help---
|
|
Clustering support for MD devices. This enables locking and
|
|
synchronization across multiple systems on the cluster, so all
|
|
nodes in the cluster can access the MD devices simultaneously.
|
|
|
|
This brings the redundancy (and uptime) of RAID levels across the
|
|
nodes of the cluster. Currently, it can work with raid1 and raid10
|
|
(limited support).
|
|
|
|
If unsure, say N.
|
|
|
|
source "drivers/md/bcache/Kconfig"
|
|
|
|
config BLK_DEV_DM_BUILTIN
|
|
bool
|
|
|
|
config BLK_DEV_DM
|
|
tristate "Device mapper support"
|
|
select BLK_DEV_DM_BUILTIN
|
|
depends on DAX || DAX=n
|
|
---help---
|
|
Device-mapper is a low level volume manager. It works by allowing
|
|
people to specify mappings for ranges of logical sectors. Various
|
|
mapping types are available, in addition people may write their own
|
|
modules containing custom mappings if they wish.
|
|
|
|
Higher level volume managers such as LVM2 use this driver.
|
|
|
|
To compile this as a module, choose M here: the module will be
|
|
called dm-mod.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_MQ_DEFAULT
|
|
bool "request-based DM: use blk-mq I/O path by default"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
This option enables the blk-mq based I/O path for request-based
|
|
DM devices by default. With the option the dm_mod.use_blk_mq
|
|
module/boot option defaults to Y, without it to N, but it can
|
|
still be overriden either way.
|
|
|
|
If unsure say N.
|
|
|
|
config DM_DEBUG
|
|
bool "Device mapper debugging support"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
Enable this for messages that may help debug device-mapper problems.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_BUFIO
|
|
tristate
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
This interface allows you to do buffered I/O on a device and acts
|
|
as a cache, holding recently-read blocks in memory and performing
|
|
delayed writes.
|
|
|
|
config DM_DEBUG_BLOCK_MANAGER_LOCKING
|
|
bool "Block manager locking"
|
|
depends on DM_BUFIO
|
|
---help---
|
|
Block manager locking can catch various metadata corruption issues.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_DEBUG_BLOCK_STACK_TRACING
|
|
bool "Keep stack trace of persistent data block lock holders"
|
|
depends on STACKTRACE_SUPPORT && DM_DEBUG_BLOCK_MANAGER_LOCKING
|
|
select STACKTRACE
|
|
---help---
|
|
Enable this for messages that may help debug problems with the
|
|
block manager locking used by thin provisioning and caching.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_BIO_PRISON
|
|
tristate
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
Some bio locking schemes used by other device-mapper targets
|
|
including thin provisioning.
|
|
|
|
source "drivers/md/persistent-data/Kconfig"
|
|
|
|
config DM_UNSTRIPED
|
|
tristate "Unstriped target"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
Unstripes I/O so it is issued solely on a single drive in a HW
|
|
RAID0 or dm-striped target.
|
|
|
|
config DM_CRYPT
|
|
tristate "Crypt target support"
|
|
depends on BLK_DEV_DM
|
|
select CRYPTO
|
|
select CRYPTO_CBC
|
|
---help---
|
|
This device-mapper target allows you to create a device that
|
|
transparently encrypts the data on it. You'll need to activate
|
|
the ciphers you're going to use in the cryptoapi configuration.
|
|
|
|
For further information on dm-crypt and userspace tools see:
|
|
<https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt>
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-crypt.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_DEFAULT_KEY
|
|
tristate "Default-key target support"
|
|
depends on BLK_DEV_DM
|
|
depends on BLK_INLINE_ENCRYPTION
|
|
# dm-default-key doesn't require -o inlinecrypt, but it does currently
|
|
# rely on the inline encryption hooks being built into the kernel.
|
|
depends on FS_ENCRYPTION_INLINE_CRYPT
|
|
help
|
|
This device-mapper target allows you to create a device that
|
|
assigns a default 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.
|
|
|
|
config DM_SNAPSHOT
|
|
tristate "Snapshot target"
|
|
depends on BLK_DEV_DM
|
|
select DM_BUFIO
|
|
---help---
|
|
Allow volume managers to take writable snapshots of a device.
|
|
|
|
config DM_THIN_PROVISIONING
|
|
tristate "Thin provisioning target"
|
|
depends on BLK_DEV_DM
|
|
select DM_PERSISTENT_DATA
|
|
select DM_BIO_PRISON
|
|
---help---
|
|
Provides thin provisioning and snapshots that share a data store.
|
|
|
|
config DM_CACHE
|
|
tristate "Cache target (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM
|
|
default n
|
|
select DM_PERSISTENT_DATA
|
|
select DM_BIO_PRISON
|
|
---help---
|
|
dm-cache attempts to improve performance of a block device by
|
|
moving frequently used data to a smaller, higher performance
|
|
device. Different 'policy' plugins can be used to change the
|
|
algorithms used to select which blocks are promoted, demoted,
|
|
cleaned etc. It supports writeback and writethrough modes.
|
|
|
|
config DM_CACHE_SMQ
|
|
tristate "Stochastic MQ Cache Policy (EXPERIMENTAL)"
|
|
depends on DM_CACHE
|
|
default y
|
|
---help---
|
|
A cache policy that uses a multiqueue ordered by recent hits
|
|
to select which blocks should be promoted and demoted.
|
|
This is meant to be a general purpose policy. It prioritises
|
|
reads over writes. This SMQ policy (vs MQ) offers the promise
|
|
of less memory utilization, improved performance and increased
|
|
adaptability in the face of changing workloads.
|
|
|
|
config DM_WRITECACHE
|
|
tristate "Writecache target"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
The writecache target caches writes on persistent memory or SSD.
|
|
It is intended for databases or other programs that need extremely
|
|
low commit latency.
|
|
|
|
The writecache target doesn't cache reads because reads are supposed
|
|
to be cached in standard RAM.
|
|
|
|
config DM_ERA
|
|
tristate "Era target (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM
|
|
default n
|
|
select DM_PERSISTENT_DATA
|
|
select DM_BIO_PRISON
|
|
---help---
|
|
dm-era tracks which parts of a block device are written to
|
|
over time. Useful for maintaining cache coherency when using
|
|
vendor snapshots.
|
|
|
|
config DM_MIRROR
|
|
tristate "Mirror target"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
Allow volume managers to mirror logical volumes, also
|
|
needed for live data migration tools such as 'pvmove'.
|
|
|
|
config DM_LOG_USERSPACE
|
|
tristate "Mirror userspace logging"
|
|
depends on DM_MIRROR && NET
|
|
select CONNECTOR
|
|
---help---
|
|
The userspace logging module provides a mechanism for
|
|
relaying the dm-dirty-log API to userspace. Log designs
|
|
which are more suited to userspace implementation (e.g.
|
|
shared storage logs) or experimental logs can be implemented
|
|
by leveraging this framework.
|
|
|
|
config DM_RAID
|
|
tristate "RAID 1/4/5/6/10 target"
|
|
depends on BLK_DEV_DM
|
|
select MD_RAID0
|
|
select MD_RAID1
|
|
select MD_RAID10
|
|
select MD_RAID456
|
|
select BLK_DEV_MD
|
|
---help---
|
|
A dm target that supports RAID1, RAID10, RAID4, RAID5 and RAID6 mappings
|
|
|
|
A RAID-5 set of N drives with a capacity of C MB per drive provides
|
|
the capacity of C * (N - 1) MB, and protects against a failure
|
|
of a single drive. For a given sector (row) number, (N - 1) drives
|
|
contain data sectors, and one drive contains the parity protection.
|
|
For a RAID-4 set, the parity blocks are present on a single drive,
|
|
while a RAID-5 set distributes the parity across the drives in one
|
|
of the available parity distribution methods.
|
|
|
|
A RAID-6 set of N drives with a capacity of C MB per drive
|
|
provides the capacity of C * (N - 2) MB, and protects
|
|
against a failure of any two drives. For a given sector
|
|
(row) number, (N - 2) drives contain data sectors, and two
|
|
drives contains two independent redundancy syndromes. Like
|
|
RAID-5, RAID-6 distributes the syndromes across the drives
|
|
in one of the available parity distribution methods.
|
|
|
|
config DM_ZERO
|
|
tristate "Zero target"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
A target that discards writes, and returns all zeroes for
|
|
reads. Useful in some recovery situations.
|
|
|
|
config DM_MULTIPATH
|
|
tristate "Multipath target"
|
|
depends on BLK_DEV_DM
|
|
# nasty syntax but means make DM_MULTIPATH independent
|
|
# of SCSI_DH if the latter isn't defined but if
|
|
# it is, DM_MULTIPATH must depend on it. We get a build
|
|
# error if SCSI_DH=m and DM_MULTIPATH=y
|
|
depends on !SCSI_DH || SCSI
|
|
---help---
|
|
Allow volume managers to support multipath hardware.
|
|
|
|
config DM_MULTIPATH_QL
|
|
tristate "I/O Path Selector based on the number of in-flight I/Os"
|
|
depends on DM_MULTIPATH
|
|
---help---
|
|
This path selector is a dynamic load balancer which selects
|
|
the path with the least number of in-flight I/Os.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_MULTIPATH_ST
|
|
tristate "I/O Path Selector based on the service time"
|
|
depends on DM_MULTIPATH
|
|
---help---
|
|
This path selector is a dynamic load balancer which selects
|
|
the path expected to complete the incoming I/O in the shortest
|
|
time.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_DELAY
|
|
tristate "I/O delaying target"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
A target that delays reads and/or writes and can send
|
|
them to different devices. Useful for testing.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_UEVENT
|
|
bool "DM uevents"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
Generate udev events for DM events.
|
|
|
|
config DM_FLAKEY
|
|
tristate "Flakey target"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
A target that intermittently fails I/O for debugging purposes.
|
|
|
|
config DM_VERITY
|
|
tristate "Verity target support"
|
|
depends on BLK_DEV_DM
|
|
select CRYPTO
|
|
select CRYPTO_HASH
|
|
select DM_BUFIO
|
|
---help---
|
|
This device-mapper target creates a read-only device that
|
|
transparently validates the data on one underlying device against
|
|
a pre-generated tree of cryptographic checksums stored on a second
|
|
device.
|
|
|
|
You'll need to activate the digests you're going to use in the
|
|
cryptoapi configuration.
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-verity.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_VERITY_HASH_PREFETCH_MIN_SIZE_128
|
|
bool "Prefetch size 128"
|
|
|
|
config DM_VERITY_HASH_PREFETCH_MIN_SIZE
|
|
int "Verity hash prefetch minimum size"
|
|
depends on DM_VERITY
|
|
range 1 4096
|
|
default 128 if DM_VERITY_HASH_PREFETCH_MIN_SIZE_128
|
|
default 1
|
|
---help---
|
|
This sets minimum number of hash blocks to prefetch for dm-verity.
|
|
For devices like eMMC, having larger prefetch size like 128 can improve
|
|
performance with increased memory consumption for keeping more hashes
|
|
in RAM.
|
|
|
|
config DM_VERITY_AVB
|
|
tristate "Support AVB specific verity error behavior"
|
|
depends on DM_VERITY
|
|
---help---
|
|
Enables Android Verified Boot platform-specific error
|
|
behavior. In particular, it will modify the vbmeta partition
|
|
specified on the kernel command-line when non-transient error
|
|
occurs (followed by a panic).
|
|
|
|
config DM_VERITY_FEC
|
|
bool "Verity forward error correction support"
|
|
depends on DM_VERITY
|
|
select REED_SOLOMON
|
|
select REED_SOLOMON_DEC8
|
|
---help---
|
|
Add forward error correction support to dm-verity. This option
|
|
makes it possible to use pre-generated error correction data to
|
|
recover from corrupted blocks.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_SWITCH
|
|
tristate "Switch target support (EXPERIMENTAL)"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
This device-mapper target creates a device that supports an arbitrary
|
|
mapping of fixed-size regions of I/O across a fixed set of paths.
|
|
The path used for any specific region can be switched dynamically
|
|
by sending the target a message.
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-switch.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_LOG_WRITES
|
|
tristate "Log writes target support"
|
|
depends on BLK_DEV_DM
|
|
---help---
|
|
This device-mapper target takes two devices, one device to use
|
|
normally, one to log all write operations done to the first device.
|
|
This is for use by file system developers wishing to verify that
|
|
their fs is writing a consistent file system at all times by allowing
|
|
them to replay the log in a variety of ways and to check the
|
|
contents.
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-log-writes.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_INTEGRITY
|
|
tristate "Integrity target support"
|
|
depends on BLK_DEV_DM
|
|
select BLK_DEV_INTEGRITY
|
|
select DM_BUFIO
|
|
select CRYPTO
|
|
select ASYNC_XOR
|
|
---help---
|
|
This device-mapper target emulates a block device that has
|
|
additional per-sector tags that can be used for storing
|
|
integrity information.
|
|
|
|
This integrity target is used with the dm-crypt target to
|
|
provide authenticated disk encryption or it can be used
|
|
standalone.
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-integrity.
|
|
|
|
config DM_ZONED
|
|
tristate "Drive-managed zoned block device target support"
|
|
depends on BLK_DEV_DM
|
|
depends on BLK_DEV_ZONED
|
|
---help---
|
|
This device-mapper target takes a host-managed or host-aware zoned
|
|
block device and exposes most of its capacity as a regular block
|
|
device (drive-managed zoned block device) without any write
|
|
constraints. This is mainly intended for use with file systems that
|
|
do not natively support zoned block devices but still want to
|
|
benefit from the increased capacity offered by SMR disks. Other uses
|
|
by applications using raw block devices (for example object stores)
|
|
are also possible.
|
|
|
|
To compile this code as a module, choose M here: the module will
|
|
be called dm-zoned.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_ANDROID_VERITY
|
|
bool "Android verity target support"
|
|
depends on BLK_DEV_DM=y
|
|
depends on DM_VERITY=y
|
|
depends on X509_CERTIFICATE_PARSER
|
|
depends on SYSTEM_TRUSTED_KEYRING
|
|
depends on CRYPTO_RSA
|
|
depends on KEYS
|
|
depends on ASYMMETRIC_KEY_TYPE
|
|
depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
|
|
select DM_VERITY_HASH_PREFETCH_MIN_SIZE_128
|
|
---help---
|
|
This device-mapper target is virtually a VERITY target. This
|
|
target is setup by reading the metadata contents piggybacked
|
|
to the actual data blocks in the block device. The signature
|
|
of the metadata contents are verified against the key included
|
|
in the system keyring. Upon success, the underlying verity
|
|
target is setup.
|
|
|
|
config DM_ANDROID_VERITY_AT_MOST_ONCE_DEFAULT_ENABLED
|
|
bool "Verity will validate blocks at most once"
|
|
depends on DM_VERITY
|
|
---help---
|
|
Default enables at_most_once option for dm-verity
|
|
|
|
Verify data blocks only the first time they are read from the
|
|
data device, rather than every time. This reduces the overhead
|
|
of dm-verity so that it can be used on systems that are memory
|
|
and/or CPU constrained. However, it provides a reduced level
|
|
of security because only offline tampering of the data device's
|
|
content will be detected, not online tampering.
|
|
|
|
Hash blocks are still verified each time they are read from the
|
|
hash device, since verification of hash blocks is less performance
|
|
critical than data blocks, and a hash block will not be verified
|
|
any more after all the data blocks it covers have been verified anyway.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_BOW
|
|
tristate "Backup block device"
|
|
depends on BLK_DEV_DM
|
|
select DM_BUFIO
|
|
---help---
|
|
This device-mapper target takes a device and keeps a log of all
|
|
changes using free blocks identified by issuing a trim command.
|
|
This can then be restored by running a command line utility,
|
|
or committed by simply replacing the target.
|
|
|
|
If unsure, say N.
|
|
|
|
config DM_USER
|
|
tristate "Block device in userspace"
|
|
depends on BLK_DEV_DM
|
|
default y
|
|
help
|
|
This device-mapper target allows a userspace daemon to provide the
|
|
contents of a block device. See
|
|
<file:Documentation/block/dm-user.rst> for more information.
|
|
|
|
To compile this code as a module, choose M here: the module will be
|
|
called dm-user.
|
|
|
|
If unsure, say N.
|
|
|
|
endif # MD
|