Spdk/test
Jonas Pfefferle 192e64bcc5 bdev: spdk_bdev_ext_io_opts missing size check
ext_io_opts uses the size member to allow backwards
compatibility however currently we only check if it is
below or equal the current size of the opts struct and
that it is not 0. size is only used when we copy opts
because of split or push/pull.
This patch introduces size checks to allow safe access
to e.g. metadata and memory domain pointers of the user
provided opts pointer. The minimum size of the struct
passed is now the size of the initial version of
spdk_bdev_ext_io_opts. To not introduce additional
checks when opts are consumed by a bdev module we
now always copy if the size is smaller than the
current opts struct size.
When introducing new members to opts additional
checks might be needed if those are directly accessed
through the passed pointer or bdev_io->internal.ext_opts.

Change-Id: Ibd181a5840a3d5022018a9f61403df961ffd6e1d
Signed-off-by: Jonas Pfefferle <pepperjo@japf.ch>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12550
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
2022-05-20 15:55:50 +00:00
..
accel_engine test/accel_engine: add more test cases 2021-09-01 07:34:02 +00:00
app test/llvm_nvme_fuzz: add SET FEATURES and GET FEATURES command test cases 2022-05-18 07:29:16 +00:00
bdev test/bdevio: fix bytes vs blocks => early return of test 2022-05-03 16:09:25 +00:00
blobfs test/blobfs: update rocksdb version 2021-12-14 13:23:30 +00:00
blobstore blob: blobcli should use hex for blob IDs 2022-02-01 20:05:13 +00:00
common test/sma: add vhost tests on qemu vm 2022-05-20 09:16:54 +00:00
compress reduce: increase REDUCE_MAX_IOVECS to 33 2022-05-13 07:28:58 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dd test/dd: Simple tests utilizing uring RPCs 2021-12-20 08:46:13 +00:00
dma test/dma: Add memzero implementation 2022-05-16 10:14:26 +00:00
dpdk_memory_utility check_format: Ignore shellcheck's SC2128 and SC2178 directives 2021-06-30 22:43:05 +00:00
env env/memory: fix unregistration of memory after memory registration issue 2022-03-09 09:06:30 +00:00
event scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
external_code bdev_malloc and bdev_null : remove support for deprecated RPC names 2022-05-19 13:07:41 +00:00
ftl autotest: Skip use of any zoned nvme devices 2021-12-06 08:34:46 +00:00
fuzz nvme_fuzz: pass trid on command line only 2021-09-27 10:55:34 +00:00
interrupt scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt hello_sock: Add cli params to enable/disable zcopy 2022-05-04 08:03:39 +00:00
json_config event/vhost: separate vhost subsystem to scsi and blk 2022-05-20 09:20:07 +00:00
lvol bdev_malloc and bdev_null : remove support for deprecated RPC names 2022-05-19 13:07:41 +00:00
make so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
nvme test/nvme_perf: wait longer for discovering bdevs 2022-05-19 08:24:09 +00:00
nvmf bdev/nvme: add timeout option to start_discovery 2022-05-18 07:24:06 +00:00
ocf bdev: remove support for deprecated RPC names 2022-05-09 23:03:02 +00:00
openstack test/openstack: restart whole devstack before tests 2021-12-23 08:36:21 +00:00
pmem spelling: test 2021-12-03 08:13:22 +00:00
rpc scripts: move python modules to python directory 2022-04-05 14:40:47 +00:00
rpc_client build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc_plugins autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
scheduler test/scheduler: Don't fail if cgroups don't exist in move_cgroup_procs() 2022-03-09 08:02:55 +00:00
setup scripts/setup: Skip devices which have any valid data present 2022-04-06 07:21:17 +00:00
sma test/sma: add vhost tests on qemu vm 2022-05-20 09:16:54 +00:00
spdkcli event/vhost: separate vhost subsystem to scsi and blk 2022-05-20 09:20:07 +00:00
thread test/thread: Add poller_perf to evaluate cost to run poller 2021-08-20 07:29:42 +00:00
unit bdev: spdk_bdev_ext_io_opts missing size check 2022-05-20 15:55:50 +00:00
vfio_user test/vfio_user: Remove subsystem listener while VM is connected, issue #2246 autotest. 2022-02-18 00:00:22 +00:00
vhost test/vhost: Fix vhost migration tc1 test 2022-04-15 08:24:59 +00:00
vmd test: replace VMD_WHITELIST with VMD_ALLOWED 2020-12-03 09:41:07 +00:00
Makefile test/dma: Add functional test to verify DMA 2021-09-24 07:37:45 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00