Skip to content

Commit 71cbd28

Browse files
committed
sys/linux: update descriptions in dev_block.txt
A few things done here: - Add new block device ioctls (and structs) related to encryption, added in 1ebd4a3c095c ("blk-crypto: add ioctls to create and prepare hardware-wrapped keys"): BLKCRYPTOIMPORTKEY BLKCRYPTOGENERATEKEY BLKCRYPTOPREPAREKEY - Add and update new/missing syscalls related to zoned block devices: BLKGETZONESZ BLKGETNRZONES BLKOPENZONE BLKCLOSEZONE BLKFINISHZONE - Add a few other missing syscalls, such as BLKRASET. - Fix some syscalls' directions (mostly, to 'inout').
1 parent 98683f8 commit 71cbd28

File tree

2 files changed

+52
-3
lines changed

2 files changed

+52
-3
lines changed

sys/linux/dev_block.txt

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ openat$rnullb(fd const[AT_FDCWD], file ptr[in, string["/dev/rnullb0"]], flags fl
1616
openat$md(fd const[AT_FDCWD], file ptr[in, string["/dev/md0"]], flags flags[open_flags], mode const[0]) fd_block
1717
openat$pmem0(fd const[AT_FDCWD], file ptr[in, string["/dev/pmem0"]], flags flags[open_flags], mode const[0]) fd_block
1818

19-
ioctl$BLKTRACESETUP(fd fd_block_trace, cmd const[BLKTRACESETUP], arg ptr[in, blk_user_trace_setup])
19+
ioctl$BLKTRACESETUP(fd fd_block_trace, cmd const[BLKTRACESETUP], arg ptr[inout, blk_user_trace_setup])
2020
ioctl$BLKTRACESTART(fd fd_block_trace, cmd const[BLKTRACESTART], arg const[0])
2121
ioctl$BLKTRACESTOP(fd fd_block_trace, cmd const[BLKTRACESTOP], arg const[0])
2222
ioctl$BLKTRACETEARDOWN(fd fd_block_trace, cmd const[BLKTRACETEARDOWN], arg const[0])
@@ -25,18 +25,20 @@ ioctl$BLKFLSBUF(fd fd_block, cmd const[BLKFLSBUF], arg ptr[in, intptr])
2525
ioctl$BLKROSET(fd fd_block, cmd const[BLKROSET], arg ptr[in, intptr])
2626
ioctl$BLKDISCARD(fd fd_block, cmd const[BLKDISCARD], arg ptr[in, intptr])
2727
ioctl$BLKSECDISCARD(fd fd_block, cmd const[BLKSECDISCARD], arg ptr[in, intptr])
28+
ioctl$BLKDISCARDZEROES(fd fd_block, cmd const[BLKDISCARDZEROES], arg ptr[out, intptr])
2829
ioctl$BLKZEROOUT(fd fd_block, cmd const[BLKZEROOUT], arg ptr[in, blk_zone_range])
29-
ioctl$BLKREPORTZONE(fd fd_block, cmd const[BLKREPORTZONE], arg ptr[in, blk_zone_report])
30-
ioctl$BLKRESETZONE(fd fd_block, cmd const[BLKRESETZONE], arg ptr[in, blk_zone_range])
3130
ioctl$BLKRAGET(fd fd_block, cmd const[BLKRAGET], arg ptr[out, intptr])
31+
ioctl$BLKFRAGET(fd fd_block, cmd const[BLKFRAGET], arg ptr[out, intptr])
3232
ioctl$BLKROGET(fd fd_block, cmd const[BLKROGET], arg ptr[out, intptr])
3333
ioctl$BLKBSZGET(fd fd_block, cmd const[BLKBSZGET], arg ptr[out, intptr])
34+
ioctl$BLKSSZGET(fd fd_block, cmd const[BLKSSZGET], arg ptr[out, intptr])
3435
ioctl$BLKPBSZGET(fd fd_block, cmd const[BLKPBSZGET], arg ptr[out, intptr])
3536
ioctl$BLKIOMIN(fd fd_block, cmd const[BLKIOMIN], arg ptr[out, intptr])
3637
ioctl$BLKIOOPT(fd fd_block, cmd const[BLKIOOPT], arg ptr[out, intptr])
3738
ioctl$BLKALIGNOFF(fd fd_block, cmd const[BLKALIGNOFF], arg ptr[out, intptr])
3839
ioctl$BLKSECTGET(fd fd_block, cmd const[BLKSECTGET], arg ptr[out, intptr])
3940
ioctl$BLKROTATIONAL(fd fd_block, cmd const[BLKROTATIONAL], arg ptr[out, intptr])
41+
ioctl$BLKRASET(fd fd_block, cmd const[BLKRASET], arg ptr[in, intptr])
4042
ioctl$BLKFRASET(fd fd_block, cmd const[BLKFRASET], arg ptr[in, intptr])
4143
ioctl$BLKBSZSET(fd fd_block, cmd const[BLKBSZSET], arg ptr[in, intptr])
4244
ioctl$BLKPG(fd fd_block, cmd const[BLKPG], arg ptr[in, blkpg_ioctl_arg])
@@ -45,6 +47,19 @@ ioctl$BLKGETSIZE(fd fd_block, cmd const[BLKGETSIZE], arg ptr[out, intptr])
4547
ioctl$BLKGETSIZE64(fd fd_block, cmd const[BLKGETSIZE64], arg ptr[out, int64])
4648
ioctl$BLKGETDISKSEQ(fd fd_block, cmd const[BLKGETDISKSEQ], arg ptr[out, int64])
4749

50+
# TODO: To properly explore zones-related ioctls, figure out how to setup zoned devices.
51+
ioctl$BLKREPORTZONE(fd fd_block, cmd const[BLKREPORTZONE], arg ptr[inout, blk_zone_report])
52+
ioctl$BLKRESETZONE(fd fd_block, cmd const[BLKRESETZONE], arg ptr[in, blk_zone_range])
53+
ioctl$BLKOPENZONE(fd fd_block, cmd const[BLKOPENZONE], arg ptr[in, blk_zone_range])
54+
ioctl$BLKCLOSEZONE(fd fd_block, cmd const[BLKCLOSEZONE], arg ptr[in, blk_zone_range])
55+
ioctl$BLKFINISHZONE(fd fd_block, cmd const[BLKFINISHZONE], arg ptr[in, blk_zone_range])
56+
ioctl$BLKGETZONESZ(fd fd_block, cmd const[BLKGETZONESZ], arg ptr[in, int32])
57+
ioctl$BLKGETNRZONES(fd fd_block, cmd const[BLKGETNRZONES], arg ptr[in, int32])
58+
59+
ioctl$BLKCRYPTOIMPORTKEY(fd fd_block, cmd const[BLKCRYPTOIMPORTKEY], arg ptr[inout, blk_crypto_import_key_arg])
60+
ioctl$BLKCRYPTOGENERATEKEY(fd fd_block, cmd const[BLKCRYPTOGENERATEKEY], arg ptr[inout, blk_crypto_generate_key_arg])
61+
ioctl$BLKCRYPTOPREPAREKEY(fd fd_block, cmd const[BLKCRYPTOPREPAREKEY], arg ptr[inout, blk_crypto_prepare_key_arg])
62+
4863
ioctl$HDIO_GETGEO(fd fd_block, cmd const[HDIO_GETGEO], arg ptr[out, hd_geometry])
4964

5065
ioctl$IOC_PR_REGISTER(fd fd_block, cmd const[IOC_PR_REGISTER], arg ptr[in, pr_registration])
@@ -113,6 +128,28 @@ blk_user_trace_setup {
113128
pid pid
114129
}
115130

131+
blk_crypto_import_key_arg {
132+
raw_key_ptr int64
133+
raw_key_size int64
134+
lt_key_ptr int64
135+
lt_key_size int64
136+
reserved array[const[0, int64], 4]
137+
}
138+
139+
blk_crypto_generate_key_arg {
140+
lt_key_ptr int64
141+
lt_key_size int64
142+
reserved array[const[0, int64], 4]
143+
}
144+
145+
blk_crypto_prepare_key_arg {
146+
lt_key_ptr int64
147+
lt_key_size int64
148+
eph_key_ptr int64
149+
eph_key_size int64
150+
reserved array[const[0, int64], 4]
151+
}
152+
116153
pr_registration {
117154
old_key int64
118155
new_key int64

sys/linux/dev_block.txt.const

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,24 @@ AT_FDCWD = ???
44
BLKALIGNOFF = 4730, mips64le:ppc64le:536875642
55
BLKBSZGET = 2148012656, 386:arm:2147750512, mips64le:ppc64le:1074270832
66
BLKBSZSET = 1074270833, 386:arm:1074008689, mips64le:ppc64le:2148012657
7+
BLKCLOSEZONE = 1074795143, mips64le:ppc64le:2148536967
8+
BLKCRYPTOGENERATEKEY = 3224375946
9+
BLKCRYPTOIMPORTKEY = 3225424521
10+
BLKCRYPTOPREPAREKEY = 3225424523
711
BLKDISCARD = 4727, mips64le:ppc64le:536875639
12+
BLKDISCARDZEROES = 4732, mips64le:ppc64le:536875644
13+
BLKFINISHZONE = 1074795144, mips64le:ppc64le:2148536968
814
BLKFLSBUF = 4705, mips64le:ppc64le:536875617
15+
BLKFRAGET = 4709, mips64le:ppc64le:536875621
916
BLKFRASET = 4708, mips64le:ppc64le:536875620
1017
BLKGETDISKSEQ = 2148012672, mips64le:ppc64le:1074270848
18+
BLKGETNRZONES = 2147750533, mips64le:ppc64le:1074008709
1119
BLKGETSIZE = 4704, mips64le:ppc64le:536875616
1220
BLKGETSIZE64 = 2148012658, 386:arm:2147750514, mips64le:ppc64le:1074270834
21+
BLKGETZONESZ = 2147750532, mips64le:ppc64le:1074008708
1322
BLKIOMIN = 4728, mips64le:ppc64le:536875640
1423
BLKIOOPT = 4729, mips64le:ppc64le:536875641
24+
BLKOPENZONE = 1074795142, mips64le:ppc64le:2148536966
1525
BLKPBSZGET = 4731, mips64le:ppc64le:536875643
1626
BLKPG = 4713, mips64le:ppc64le:536875625
1727
BLKPG_ADD_PARTITION = 1
@@ -20,6 +30,7 @@ BLKPG_DEVNAMELTH = 64
2030
BLKPG_RESIZE_PARTITION = 3
2131
BLKPG_VOLNAMELTH = 64
2232
BLKRAGET = 4707, mips64le:ppc64le:536875619
33+
BLKRASET = 4706, mips64le:ppc64le:536875618
2334
BLKREPORTZONE = 3222278786
2435
BLKRESETZONE = 1074795139, mips64le:ppc64le:2148536963
2536
BLKROGET = 4702, mips64le:ppc64le:536875614
@@ -28,6 +39,7 @@ BLKROTATIONAL = 4734, mips64le:ppc64le:536875646
2839
BLKRRPART = 4703, mips64le:ppc64le:536875615
2940
BLKSECDISCARD = 4733, mips64le:ppc64le:536875645
3041
BLKSECTGET = 4711, mips64le:ppc64le:536875623
42+
BLKSSZGET = 4712, mips64le:ppc64le:536875624
3143
BLKTRACESETUP = 3225948787, 386:3225424499
3244
BLKTRACESTART = 4724, mips64le:ppc64le:536875636
3345
BLKTRACESTOP = 4725, mips64le:ppc64le:536875637

0 commit comments

Comments
 (0)