summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Syromyatnikov <evgsyr@gmail.com>2021-09-20 06:31:48 +0200
committerEugene Syromyatnikov <evgsyr@gmail.com>2021-10-12 00:35:48 +0200
commitaab5c5a87e1c87ce23c3d76969d7a15228a3d6e0 (patch)
tree1d86c21953ef5807315dd09c6924a813a3dfb963
parent9c15c3305c929e3b955e42a8a16ffefadc3f90f1 (diff)
downloadstrace-aab5c5a87e1c87ce23c3d76969d7a15228a3d6e0.tar.gz
block: decode BLKGETDISKSEQ ioctl
Introduced by Linux commit v5.15-rc1~161^2~41. * src/block.c (block_ioctl) <case BLKGETDISKSEQ>: Decode using printnum_in64. * src/linux/32/ioctls_inc_align16.h: Add BLKGETDISKSEQ entry. * src/linux/32/ioctls_inc_align32.h: Likewise. * src/linux/32/ioctls_inc_align64.h: Likewise. * src/linux/64/ioctls_inc.h: Likewise. * src/linux/x32/ioctls_inc0.h: Likewse. * tests/ioctl_block.c: Add a check for NULL pointer for BLKGETDISKSEQ.
-rw-r--r--src/block.c1
-rw-r--r--src/linux/32/ioctls_inc_align16.h1
-rw-r--r--src/linux/32/ioctls_inc_align32.h1
-rw-r--r--src/linux/32/ioctls_inc_align64.h1
-rw-r--r--src/linux/64/ioctls_inc.h1
-rw-r--r--src/linux/x32/ioctls_inc0.h1
-rw-r--r--tests/ioctl_block.c1
7 files changed, 7 insertions, 0 deletions
diff --git a/src/block.c b/src/block.c
index 1c4366371..fa30255ba 100644
--- a/src/block.c
+++ b/src/block.c
@@ -124,6 +124,7 @@ MPERS_PRINTER_DECL(int, block_ioctl, struct tcb *const tcp,
/* returns an uint64_t */
case BLKGETSIZE64:
+ case BLKGETDISKSEQ:
if (entering(tcp))
return 0;
tprint_arg_next();
diff --git a/src/linux/32/ioctls_inc_align16.h b/src/linux/32/ioctls_inc_align16.h
index e84093c5f..3ddcd9bbd 100644
--- a/src/linux/32/ioctls_inc_align16.h
+++ b/src/linux/32/ioctls_inc_align16.h
@@ -1089,6 +1089,7 @@
{ "linux/fs.h", "BLKTRACESTOP", _IOC_NONE, 0x1275, 0x00 },
{ "linux/fs.h", "BLKTRACETEARDOWN", _IOC_NONE, 0x1276, 0x00 },
{ "linux/fs.h", "BLKZEROOUT", _IOC_NONE, 0x127f, 0x00 },
+{ "linux/fs.h", "BLKGETDISKSEQ", _IOC_READ, 0x1280, 0x08 },
{ "linux/fs.h", "FIBMAP", _IOC_NONE, 0x0001, 0x00 },
{ "linux/fs.h", "FICLONE", _IOC_WRITE, 0x9409, 0x04 },
{ "linux/fs.h", "FICLONERANGE", _IOC_WRITE, 0x940d, 0x20 },
diff --git a/src/linux/32/ioctls_inc_align32.h b/src/linux/32/ioctls_inc_align32.h
index 49b02340e..528389113 100644
--- a/src/linux/32/ioctls_inc_align32.h
+++ b/src/linux/32/ioctls_inc_align32.h
@@ -1089,6 +1089,7 @@
{ "linux/fs.h", "BLKTRACESTOP", _IOC_NONE, 0x1275, 0x00 },
{ "linux/fs.h", "BLKTRACETEARDOWN", _IOC_NONE, 0x1276, 0x00 },
{ "linux/fs.h", "BLKZEROOUT", _IOC_NONE, 0x127f, 0x00 },
+{ "linux/fs.h", "BLKGETDISKSEQ", _IOC_READ, 0x1280, 0x08 },
{ "linux/fs.h", "FIBMAP", _IOC_NONE, 0x0001, 0x00 },
{ "linux/fs.h", "FICLONE", _IOC_WRITE, 0x9409, 0x04 },
{ "linux/fs.h", "FICLONERANGE", _IOC_WRITE, 0x940d, 0x20 },
diff --git a/src/linux/32/ioctls_inc_align64.h b/src/linux/32/ioctls_inc_align64.h
index fd89de205..5bb1002bd 100644
--- a/src/linux/32/ioctls_inc_align64.h
+++ b/src/linux/32/ioctls_inc_align64.h
@@ -1089,6 +1089,7 @@
{ "linux/fs.h", "BLKTRACESTOP", _IOC_NONE, 0x1275, 0x00 },
{ "linux/fs.h", "BLKTRACETEARDOWN", _IOC_NONE, 0x1276, 0x00 },
{ "linux/fs.h", "BLKZEROOUT", _IOC_NONE, 0x127f, 0x00 },
+{ "linux/fs.h", "BLKGETDISKSEQ", _IOC_READ, 0x1280, 0x08 },
{ "linux/fs.h", "FIBMAP", _IOC_NONE, 0x0001, 0x00 },
{ "linux/fs.h", "FICLONE", _IOC_WRITE, 0x9409, 0x04 },
{ "linux/fs.h", "FICLONERANGE", _IOC_WRITE, 0x940d, 0x20 },
diff --git a/src/linux/64/ioctls_inc.h b/src/linux/64/ioctls_inc.h
index 42a0e2fe3..f244c4320 100644
--- a/src/linux/64/ioctls_inc.h
+++ b/src/linux/64/ioctls_inc.h
@@ -1090,6 +1090,7 @@
{ "linux/fs.h", "BLKTRACESTOP", _IOC_NONE, 0x1275, 0x00 },
{ "linux/fs.h", "BLKTRACETEARDOWN", _IOC_NONE, 0x1276, 0x00 },
{ "linux/fs.h", "BLKZEROOUT", _IOC_NONE, 0x127f, 0x00 },
+{ "linux/fs.h", "BLKGETDISKSEQ", _IOC_READ, 0x1280, 0x08 },
{ "linux/fs.h", "FIBMAP", _IOC_NONE, 0x0001, 0x00 },
{ "linux/fs.h", "FICLONE", _IOC_WRITE, 0x9409, 0x04 },
{ "linux/fs.h", "FICLONERANGE", _IOC_WRITE, 0x940d, 0x20 },
diff --git a/src/linux/x32/ioctls_inc0.h b/src/linux/x32/ioctls_inc0.h
index fbc56b8e5..4d9101ad5 100644
--- a/src/linux/x32/ioctls_inc0.h
+++ b/src/linux/x32/ioctls_inc0.h
@@ -1089,6 +1089,7 @@
{ "linux/fs.h", "BLKTRACESTOP", _IOC_NONE, 0x1275, 0x00 },
{ "linux/fs.h", "BLKTRACETEARDOWN", _IOC_NONE, 0x1276, 0x00 },
{ "linux/fs.h", "BLKZEROOUT", _IOC_NONE, 0x127f, 0x00 },
+{ "linux/fs.h", "BLKGETDISKSEQ", _IOC_READ, 0x1280, 0x08 },
{ "linux/fs.h", "FIBMAP", _IOC_NONE, 0x0001, 0x00 },
{ "linux/fs.h", "FICLONE", _IOC_WRITE, 0x9409, 0x04 },
{ "linux/fs.h", "FICLONERANGE", _IOC_WRITE, 0x940d, 0x20 },
diff --git a/tests/ioctl_block.c b/tests/ioctl_block.c
index 59eaa1b42..01aa45bb3 100644
--- a/tests/ioctl_block.c
+++ b/tests/ioctl_block.c
@@ -66,6 +66,7 @@ main(void)
TEST_NULL_ARG(BLKROTATIONAL);
TEST_NULL_ARG(BLKSECDISCARD);
TEST_NULL_ARG(BLKZEROOUT);
+ TEST_NULL_ARG(BLKGETDISKSEQ);
TEST_NULL_ARG(BLKTRACESETUP);
ioctl(-1, BLKRASET, lmagic);