Skip to content

Commit 7fbc1f7

Browse files
committed
[MSAN] extend ioctl interceptor to support BLKSSZGET
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D120693
1 parent 9c9a431 commit 7fbc1f7

File tree

3 files changed

+25
-1
lines changed

3 files changed

+25
-1
lines changed

compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,19 @@ static void ioctl_table_fill() {
115115
// _(SOUND_MIXER_WRITE_MUTE, WRITE, sizeof(int)); // same as ...WRITE_ENHANCE
116116
_(BLKFLSBUF, NONE, 0);
117117
_(BLKGETSIZE, WRITE, sizeof(uptr));
118-
_(BLKRAGET, WRITE, sizeof(int));
118+
_(BLKRAGET, WRITE, sizeof(uptr));
119119
_(BLKRASET, NONE, 0);
120120
_(BLKROGET, WRITE, sizeof(int));
121121
_(BLKROSET, READ, sizeof(int));
122122
_(BLKRRPART, NONE, 0);
123+
_(BLKFRASET, NONE, 0);
124+
_(BLKFRAGET, WRITE, sizeof(uptr));
125+
_(BLKSECTSET, READ, sizeof(short));
126+
_(BLKSECTGET, WRITE, sizeof(short));
127+
_(BLKSSZGET, WRITE, sizeof(int));
128+
_(BLKBSZGET, WRITE, sizeof(int));
129+
_(BLKBSZSET, READ, sizeof(uptr));
130+
_(BLKGETSIZE64, WRITE, sizeof(u64));
123131
_(CDROMEJECT, NONE, 0);
124132
_(CDROMEJECT_SW, NONE, 0);
125133
_(CDROMMULTISESSION, WRITE, struct_cdrom_multisession_sz);

compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,14 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
590590
unsigned IOCTL_BLKROGET = BLKROGET;
591591
unsigned IOCTL_BLKROSET = BLKROSET;
592592
unsigned IOCTL_BLKRRPART = BLKRRPART;
593+
unsigned IOCTL_BLKFRASET = BLKFRASET;
594+
unsigned IOCTL_BLKFRAGET = BLKFRAGET;
595+
unsigned IOCTL_BLKSECTSET = BLKSECTSET;
596+
unsigned IOCTL_BLKSECTGET = BLKSECTGET;
597+
unsigned IOCTL_BLKSSZGET = BLKSSZGET;
598+
unsigned IOCTL_BLKBSZGET = BLKBSZGET;
599+
unsigned IOCTL_BLKBSZSET = BLKBSZSET;
600+
unsigned IOCTL_BLKGETSIZE64 = BLKGETSIZE64;
593601
unsigned IOCTL_CDROMAUDIOBUFSIZ = CDROMAUDIOBUFSIZ;
594602
unsigned IOCTL_CDROMEJECT = CDROMEJECT;
595603
unsigned IOCTL_CDROMEJECT_SW = CDROMEJECT_SW;

compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,6 +1108,14 @@ extern unsigned IOCTL_BLKRASET;
11081108
extern unsigned IOCTL_BLKROGET;
11091109
extern unsigned IOCTL_BLKROSET;
11101110
extern unsigned IOCTL_BLKRRPART;
1111+
extern unsigned IOCTL_BLKFRASET;
1112+
extern unsigned IOCTL_BLKFRAGET;
1113+
extern unsigned IOCTL_BLKSECTSET;
1114+
extern unsigned IOCTL_BLKSECTGET;
1115+
extern unsigned IOCTL_BLKSSZGET;
1116+
extern unsigned IOCTL_BLKBSZGET;
1117+
extern unsigned IOCTL_BLKBSZSET;
1118+
extern unsigned IOCTL_BLKGETSIZE64;
11111119
extern unsigned IOCTL_CDROMAUDIOBUFSIZ;
11121120
extern unsigned IOCTL_CDROMEJECT;
11131121
extern unsigned IOCTL_CDROMEJECT_SW;

0 commit comments

Comments
 (0)