5d353c7fc5
https://source.android.com/security/bulletin/2021-02-01 CVE-2017-18509 CVE-2020-10767 * tag 'ASB-2021-02-05_4.19-stable' of https://github.com/aosp-mirror/kernel_common: ANDROID: GKI: fix up abi issues with 4.19.172 Linux 4.19.172 fs: fix lazytime expiration handling in __writeback_single_inode() writeback: Drop I_DIRTY_TIME_EXPIRE dm integrity: conditionally disable "recalculate" feature tools: Factor HOSTCC, HOSTLD, HOSTAR definitions tracing: Fix race in trace_open and buffer resize call HID: wacom: Correct NULL dereference on AES pen proximity futex: Handle faults correctly for PI futexes futex: Simplify fixup_pi_state_owner() futex: Use pi_state_update_owner() in put_pi_state() rtmutex: Remove unused argument from rt_mutex_proxy_unlock() futex: Provide and use pi_state_update_owner() futex: Replace pointless printk in fixup_owner() futex: Ensure the correct return value from futex_lock_pi() futex: Prevent exit livelock futex: Provide distinct return value when owner is exiting futex: Add mutex around futex exit futex: Provide state handling for exec() as well futex: Sanitize exit state handling futex: Mark the begin of futex exit explicitly futex: Set task::futex_state to DEAD right after handling futex exit futex: Split futex_mm_release() for exit/exec exit/exec: Seperate mm_release() futex: Replace PF_EXITPIDONE with a state futex: Move futex exit handling into futex code Revert "mm/slub: fix a memory leak in sysfs_slab_add()" gpio: mvebu: fix pwm .get_state period calculation FROMGIT: f2fs: flush data when enabling checkpoint back ANDROID: GKI: Added the get_task_pid function 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: mscc: ocelot: allow offloading of bridge on top of LAG ipv6: set multicast flag on the multicast route net_sched: reject silly cell_log in qdisc_get_rtab() net_sched: avoid shift-out-of-bounds in tcindex_set_parms() ipv6: create multicast route with RTPROT_KERNEL udp: mask TOS bits in udp_v4_early_demux() 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 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 driver core: Extend device_is_dependent() xhci: tegra: Delay for disabling LFPS detector xhci: make sure TRB is fully written before giving it to the controller usb: bdc: Make bdc pci driver depend on BROKEN usb: udc: core: Use lock when write to soft_connect usb: gadget: aspeed: fix stop dma register setting. USB: ehci: fix an interrupt calltrace error ehci: fix EHCI host controller initialization sequence 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 clk: tegra30: Add hda clock default rates to clock driver HID: Ignore battery for Elan touchscreen on ASUS UX550 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 ASoC: Intel: haswell: Add missing pm_ops drm/atomic: put state on error path dm integrity: fix a crash if "recalculate" used without "internal_hash" dm: avoid filesystem lookup in dm_get_dev_t() 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." Revert "ANDROID: Incremental fs: Fix minor bugs" Revert "ANDROID: Incremental fs: dentry_revalidate should not return -EBADF." Revert "ANDROID: Incremental fs: Remove annoying pr_debugs" Revert "ANDROID: Incremental fs: Remove unnecessary dependencies" Revert "ANDROID: Incremental fs: Use R/W locks to read/write segment blockmap." 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" Revert "ANDROID: Incremental fs: Don't allow renaming .index directory." Revert "ANDROID: Incremental fs: Create mapped file" Revert "ANDROID: Incremental fs: Add UID to pending_read" Revert "ANDROID: Incremental fs: Separate pseudo-file code" Revert "ANDROID: Incremental fs: Add .blocks_written file" Revert "ANDROID: Incremental fs: Remove attributes from file" Revert "ANDROID: Incremental fs: Remove back links and crcs" Revert "ANDROID: Incremental fs: Remove block HASH flag" Revert "ANDROID: Incremental fs: Make compatible with existing files" Revert "ANDROID: Incremental fs: Add INCFS_IOC_GET_BLOCK_COUNT" Revert "ANDROID: Incremental fs: Add hash block counts to IOC_IOCTL_GET_BLOCK_COUNT" Revert "ANDROID: Incremental fs: Fix filled block count from get filled blocks" Revert "ANDROID: Incremental fs: Fix uninitialized variable" Revert "ANDROID: Incremental fs: Fix dangling else" Revert "ANDROID: Incremental fs: Add .incomplete folder" Revert "ANDROID: Incremental fs: Add per UID read timeouts" Revert "ANDROID: Incremental fs: Fix misuse of cpu_to_leXX and poll return" Revert "ANDROID: Incremental fs: Fix read_log_test which failed sporadically" Revert "ANDROID: Incremental fs: Initialize mount options correctly" Revert "ANDROID: Incremental fs: Small improvements" Revert "ANDROID: Incremental fs: Add zstd compression support" Revert "ANDROID: Incremental fs: Add zstd feature flag" Revert "ANDROID: Incremental fs: Add v2 feature flag" Revert "ANDROID: Incremental fs: Change per UID timeouts to microseconds" Revert "ANDROID: Incremental fs: Fix incfs_test use of atol, open" Revert "ANDROID: Incremental fs: Set credentials before reading/writing" 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 Linux 4.19.170 spi: cadence: cache reference clock rate during probe net: ipv6: Validate GSO SKB before finish IPv6 processing net: skbuff: disambiguate argument and member for skb_list_walk_safe helper net: introduce skb_list_walk_safe for skb segment walking tipc: fix NULL deref in tipc_link_xmit() rxrpc: Fix handling of an unsupported token type in rxrpc_read() net: avoid 32 x truesize under-estimation for tiny skbs net: sit: unregister_netdevice on newlink's error path 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 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 nfsd4: readdirplus shouldn't return parent of export crypto: x86/crc32c - fix building with clang ias dm integrity: fix flush with external metadata device compiler.h: Raise minimum version of GCC to 5.1 for arm64 usb: ohci: Make distrust_firmware param default to false ANDROID: GKI: Update the ABI xml and symbol list ANDROID: GKI: genirq: export `kstat_irqs_usr` for watchdog ANDROID: GKI: soc: qcom: export `irq_stack_ptr` ANDROID: ASoC: core: add locked version of soc_find_component ANDROID: dm-user: Fix the list walk-and-delete code Linux 4.19.169 kbuild: enforce -Werror=return-type netfilter: nf_nat: Fix memleak in nf_nat_init netfilter: conntrack: fix reading nf_conntrack_buckets 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 net: sunrpc: interpret the return value of kstrtou32 correctly mm, slub: consider rest of partial list if acquire_slab() fails 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 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 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 net: ethernet: fs_enet: Add missing MODULE_LICENSE misdn: dsp: select CONFIG_BITREVERSE 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 r8152: Add Lenovo Powered USB-C Travel Hub dm integrity: fix the maximum number of arguments dm snapshot: flush merged data before committing metadata 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 x86/hyperv: check cpu mask after interrupt has been disabled ASoC: dapm: remove widget from dirty list on free Revert "BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once" Linux 4.19.168 regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init() net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet block: fix use-after-free in disk_part_iter_next KVM: arm64: Don't access PMCR_EL0 when no PMU is available wan: ds26522: select CONFIG_BITREVERSE regmap: debugfs: Fix a memory leak when calling regmap_attach_dev 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 block: rsxx: select CONFIG_CRC32 wil6210: select CONFIG_CRC32 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 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: fix pmtu check in nopmtudisc mode net: ip: always refragment ip defragmented packets 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 BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once ANDROID: dm-user: fix typo in channel_free ANDROID: dm-user: Add some missing static 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 xen/pvh: correctly setup the PV EFI interface for dom0 Revert "device property: Keep secondary firmware node secondary by type" 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 usb: gadget: configfs: Preserve function ordering after bind failure usb: gadget: Fix spinlock lockup on usb_function_deactivate USB: gadget: legacy: fix return error code in acm_ms_bind() usb: gadget: u_ether: Fix MTU size mismatch with RX packet size usb: gadget: function: printer: Fix a memory leak for interface descriptor usb: gadget: f_uac2: reset wMaxPacketSize usb: gadget: select CONFIG_CRC32 ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks 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 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 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 staging: mt7621-dma: Fix a resource leak in an error handling path crypto: ecdh - avoid buffer overflow in ecdh_set_secret() 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-sysfs: take the rtnl lock when storing xps_rxqs net: sched: prevent invalid Scell_log shift count 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 net: hdlc_ppp: Fix issues when mod_timer is called while timer is running erspan: fix version 1 check in gre_parse_header() net: hns: fix return value check in __lb_other_process() ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst() tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS 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-sysfs: take the rtnl lock when storing xps_cpus 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) proc: change ->nlink under proc_subdir_lock depmod: handle the case of /sbin/depmod without /sbin in PATH lib/genalloc: fix the overflow when size is too big 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() workqueue: Kick a worker based on the actual activation of delayed works kbuild: don't hardcode depmod path ANDROID: enable LLVM_IAS=1 for clang's integrated assembler for aarch64 Revert "ANDROID: arm64: lse: fix LSE atomics with LTO" ANDROID: uapi: Add dm-user structure definition ANDROID: dm: dm-user: New target that proxies BIOs to userspace ANDROID: GKI: Enable XFRM_MIGRATE 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 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" Linux 4.19.165 dm verity: skip verity work if I/O error when system is shutting down ALSA: pcm: Clear the full allocated memory at hw_params module: delay kobject uevent until after module init call 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 module: set MODULE_STATE_GOING state when a module fails to load rtc: sun6i: Fix memleak in sun6i_rtc_clk_init fcntl: Fix potential deadlock in send_sig{io, urg}() ALSA: rawmidi: Access runtime->avail always in spinlock 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 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> ext4: don't remount read-only with errors=continue on reboot vfio/pci: Move dummy_resources_list init in vfio_pci_probe() ubifs: prevent creating duplicate encrypted filenames f2fs: prevent creating duplicate encrypted filenames ext4: prevent creating duplicate encrypted filenames fscrypt: add fscrypt_is_nokey_name() md/raid10: initialize r10_bio->read_slot before use. ANDROID: usb: f_accessory: Don't drop NULL reference in acc_disconnect() ANDROID: usb: f_accessory: Avoid bitfields for shared variables ANDROID: usb: f_accessory: Cancel any pending work before teardown ANDROID: usb: f_accessory: Don't corrupt global state on double registration ANDROID: usb: f_accessory: Fix teardown ordering in acc_release() ANDROID: usb: f_accessory: Add refcounting to global 'acc_dev' ANDROID: usb: f_accessory: Wrap '_acc_dev' in get()/put() accessors ANDROID: usb: f_accessory: Remove useless assignment ANDROID: usb: f_accessory: Remove useless non-debug prints ANDROID: usb: f_accessory: Remove stale comments ANDROID: USB: f_accessory: Check dev pointer before decoding ctrl request ANDROID: usb: gadget: f_accessory: fix CTS test stuck Change-Id: I0a8e8e2b9b66be8cc73bd1ad084264b522ac34a3 Signed-off-by: UtsavBalar1231 <utsavbalar1231@gmail.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
|