mirror-linux/include/uapi/linux
Qu Wenruo 9628d45a06 btrfs: scrub: reject unsupported scrub flags
commit 604e6681e1 upstream.

Since the introduction of scrub interface, the only flag that we support
is BTRFS_SCRUB_READONLY.  Thus there is no sanity checks, if there are
some undefined flags passed in, we just ignore them.

This is problematic if we want to introduce new scrub flags, as we have
no way to determine if such flags are supported.

Address the problem by introducing a check for the flags, and if
unsupported flags are set, return -EOPNOTSUPP to inform the user space.

This check should be backported for all supported kernels before any new
scrub flags are introduced.

CC: stable@vger.kernel.org # 4.14+
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-05-11 23:03:40 +09:00
..
android
byteorder
caif
can can: raw: add CAN XL support 2022-09-15 09:08:09 +02:00
cifs
dvb
genwqe
hdlc
hsi
iio iio: add modifers for pitch, yaw, roll 2022-09-21 18:42:55 +01:00
isdn
misc
mmc
netfilter netfilter: conntrack: unify established states for SCTP paths 2023-02-01 08:34:51 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid
sched
spi
sunrpc
surface_aggregator
tc_act headers: Remove some left-over license text 2022-09-27 07:48:01 -07:00
tc_ematch
usb usb: uvc: Enumerate valid values for color matching 2023-03-11 13:55:38 +01:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h audit: fix undefined behavior in bit shift for AUDIT_BIT 2022-10-31 07:29:47 -04:00
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
ax25.h
batadv_packet.h
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
blkzoned.h
bpf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-10-03 17:44:18 -07:00
bpf_common.h
bpf_perf_event.h
bpfilter.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs.h btrfs: scrub: reject unsupported scrub flags 2023-05-11 23:03:40 +09:00
btrfs_tree.h btrfs: introduce BTRFS_QGROUP_STATUS_FLAGS_MASK for later expansion 2022-09-26 12:28:01 +02:00
cachefiles.h
can.h can: canxl: introduce CAN XL data structure 2022-09-15 09:08:09 +02:00
capability.h capabilities: fix undefined behavior in bit shift for CAP_TO_MASK 2022-11-05 01:25:57 -04:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h media: cec: add support for Absolute Volume Control 2022-09-24 08:50:04 +02:00
cec.h media: cec: add support for Absolute Volume Control 2022-09-24 08:50:04 +02:00
cfm_bridge.h
cgroupstats.h
chio.h
close_range.h
cm4000_cs.h
cn_proc.h
coda.h
coff.h
comedi.h
connector.h
const.h uapi/linux/const.h: prefer ISO-friendly __typeof__ 2023-05-11 23:03:30 +09:00
coresight-stm.h
counter.h counter: Introduce the Count capture component 2022-09-30 14:32:35 +02:00
cramfs_fs.h
cryptouser.h
cuda.h
cxl_mem.h
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dma-buf.h
dma-heap.h
dns_resolver.h
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
errno.h
errqueue.h
erspan.h
ethtool.h ethtool: add interface to interact with Ethernet Power Equipment 2022-10-03 17:33:57 -07:00
ethtool_netlink.h ethtool: add interface to interact with Ethernet Power Equipment 2022-10-03 17:33:57 -07:00
eventpoll.h eventpoll: add EPOLL_URING_WAKE poll wakeup flag 2023-01-04 11:28:47 +01:00
f2fs.h
fadvise.h
falloc.h
fanotify.h
fb.h
fcntl.h
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h
firewire-constants.h
fou.h
fpga-dfl.h
fs.h
fscrypt.h
fsi.h
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: implement ->tmpfile() 2022-09-24 07:00:00 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h
gsmmux.h
gtp.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h HID: convert defines of HID class requests into a proper enum 2022-09-20 11:53:32 +01:00
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h
idxd.h dmaengine: idxd: Fix crc_val field for completion record 2022-12-31 13:32:49 +01:00
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h can: canxl: update CAN infrastructure for CAN XL frames 2022-09-15 09:08:09 +02:00
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next 2022-10-03 07:52:13 +01:00
if_ltalk.h
if_macsec.h
if_packet.h
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h tun: support not enabling carrier in TUNSETIFF 2022-09-23 12:02:03 +01:00
if_tunnel.h
if_vlan.h
if_x25.h
if_xdp.h
ife.h
igmp.h
ila.h
in.h net/ipv4: Fix linux/in.h header dependencies 2022-11-03 13:44:46 +01:00
in6.h
in_route.h
inet_diag.h
inotify.h
input-event-codes.h Input: add ABS_PROFILE to uapi and documentation 2022-09-28 18:31:37 -07:00
input.h
io_uring.h io_uring: Replace 0-length array with flexible array 2023-03-10 09:34:03 +01:00
ioam6.h
ioam6_genl.h
ioam6_iptunnel.h
ioctl.h
iommu.h
ioprio.h
ip.h uapi: add missing ip/ipv6 header dependencies for linux/stddef.h 2023-02-14 19:11:44 +01:00
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipsec.h
ipv6.h uapi: add missing ip/ipv6 header dependencies for linux/stddef.h 2023-02-14 19:11:44 +01:00
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h
keyboard.h
keyctl.h
kfd_ioctl.h
kfd_sysfs.h
kvm.h KVM: Add KVM_CAP_DIRTY_LOG_RING_ACQ_REL capability and config option 2022-09-29 10:23:08 +01:00
kvm_para.h
l2tp.h uapi: move IPPROTO_L2TP to in.h 2022-09-20 09:13:38 +02:00
landlock.h landlock: Fix documentation style 2022-09-29 18:43:04 +02:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lwtunnel.h
magic.h
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h
mdio.h
media-bus-format.h
media.h
mei.h
membarrier.h
memfd.h
mempolicy.h
meye.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mount.h
mpls.h
mpls_iptunnel.h
mptcp.h
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h
nbd.h
ncsi.h
ndctl.h
neighbour.h
net.h
net_dropmon.h
net_namespace.h
net_tstamp.h
netconf.h
netdevice.h
netfilter.h netfilter: remove NFPROTO_DECNET 2022-09-07 16:46:03 +02:00
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h docs: netlink: clarify the historical baggage of Netlink flags 2022-09-29 18:39:39 -07:00
netlink_diag.h
netrom.h
nexthop.h
nfc.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h
nsfs.h
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h
packet_diag.h
param.h
parport.h
patchkey.h
pci.h
pci_regs.h
pcitest.h
perf_event.h perf/mem: Rename PERF_MEM_LVLNUM_EXTN_MEM to PERF_MEM_LVLNUM_CXL 2022-10-27 10:27:32 +02:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h
pkt_cls.h net/sched: flower: Add L2TPv3 filter 2022-09-20 09:13:38 +02:00
pkt_sched.h net/sched: taprio: allow user input of per-tc max SDU 2022-09-29 18:52:05 -07:00
pktcdvd.h
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pr.h
prctl.h
psample.h
psci.h firmware/psci: Fix MEM_PROTECT_RANGE function numbers 2023-01-18 11:58:16 +01:00
psp-sev.h
ptp_clock.h
ptrace.h
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h
radeonfb.h
random.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
remoteproc_cdev.h
resource.h
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rockchip: rkisp1: Define macros for DPCC configurations in UAPI 2022-09-24 08:31:54 +02:00
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h
rpmsg_types.h
rseq.h
rtc.h
rtnetlink.h
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h
seccomp.h
securebits.h
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h seg6: add NEXT-C-SID support for SRv6 End behavior 2022-09-20 12:33:22 +02:00
selinux_netlink.h
sem.h
serial.h
serial_core.h
serial_reg.h
serio.h
sev-guest.h
shm.h
signal.h
signalfd.h
smc.h
smc_diag.h
smiapp.h
snmp.h
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h statx: add direct I/O alignment information 2022-09-11 19:47:04 -05:00
stddef.h
stm.h
string.h
suspend_ioctls.h
swab.h include/uapi/linux/swab: Fix potentially missing __always_inline 2022-12-31 13:32:48 +01:00
switchtec_ioctl.h
sync_file.h
synclink.h
sysctl.h
sysinfo.h
target_core_user.h
taskstats.h
tcp.h
tcp_metrics.h
tee.h
termios.h
thermal.h
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h net: tls: Add ARIA-GCM algorithm 2022-09-27 17:29:09 -07:00
toshiba.h
tty.h
tty_flags.h
types.h
ublk_cmd.h ublk_drv: add START_USER_RECOVERY and END_USER_RECOVERY support 2022-09-23 19:09:56 -06:00
udf_fs_i.h
udmabuf.h
udp.h
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
userfaultfd.h userfaultfd: add /dev/userfaultfd for fine grained access control 2022-09-11 20:25:48 -07:00
userio.h
utime.h
utsname.h
uuid.h
uvcvideo.h media: uvcvideo: Silence memcpy() run-time false positive warnings 2023-03-11 13:55:33 +01:00
v4l2-common.h
v4l2-controls.h
v4l2-dv-timings.h
v4l2-mediabus.h
v4l2-subdev.h
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h vDPA: allow userspace to query features of a vDPA device 2022-10-07 20:00:42 -04:00
vduse.h
veth.h
vfio.h vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR 2023-03-10 09:34:32 +01:00
vfio_ccw.h
vfio_zdev.h
vhost.h
vhost_types.h
videodev2.h media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check 'interlaced' 2022-10-25 16:40:07 +01:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h virtio_blk: add SECURE ERASE command support 2022-10-07 09:32:41 -04:00
virtio_bt.h
virtio_config.h
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h
virtio_mmio.h
virtio_net.h
virtio_pci.h
virtio_pcidev.h
virtio_pmem.h
virtio_ring.h
virtio_rng.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h
virtio_types.h
virtio_vsock.h
vm_sockets.h
vm_sockets_diag.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h