diff options
author | Tushar Sugandhi <tusharsu@linux.microsoft.com> | 2021-07-13 02:49:01 +0200 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2021-08-10 19:34:23 +0200 |
commit | 99169b93838aa4b45dfed7163bd3302f1b375238 (patch) | |
tree | d6c3855071b09810146bf5abce6742df29d45b6d /drivers/md/dm-ioctl.c | |
parent | dm ima: measure data on device remove (diff) | |
download | linux-99169b93838aa4b45dfed7163bd3302f1b375238.tar.xz linux-99169b93838aa4b45dfed7163bd3302f1b375238.zip |
dm ima: measure data on table clear
For a given block device, an inactive table slot contains the parameters
to configure the device with. The inactive table can be cleared
multiple times, accidentally or maliciously, which may impact the
functionality of the device, and compromise the system. Therefore it is
important to measure and log the event when a table is cleared.
Measure device parameters, and table hashes when the inactive table slot
is cleared.
Signed-off-by: Tushar Sugandhi <tusharsu@linux.microsoft.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-ioctl.c')
-rw-r--r-- | drivers/md/dm-ioctl.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index 59f99759cfec..7c902e67cd10 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c @@ -1505,6 +1505,7 @@ static int table_clear(struct file *filp, struct dm_ioctl *param, size_t param_s struct hash_cell *hc; struct mapped_device *md; struct dm_table *old_map = NULL; + bool has_new_map = false; down_write(&_hash_lock); @@ -1518,6 +1519,7 @@ static int table_clear(struct file *filp, struct dm_ioctl *param, size_t param_s if (hc->new_map) { old_map = hc->new_map; hc->new_map = NULL; + has_new_map = true; } param->flags &= ~DM_INACTIVE_PRESENT_FLAG; @@ -1529,6 +1531,7 @@ static int table_clear(struct file *filp, struct dm_ioctl *param, size_t param_s dm_sync_table(md); dm_table_destroy(old_map); } + dm_ima_measure_on_table_clear(md, has_new_map); dm_put(md); return 0; |