diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2012-10-12 11:59:46 -0400 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2012-10-12 11:59:46 -0400 |
commit | fe5fe90639b62a75349dd1f1c74c4a984397171c (patch) | |
tree | 50332fca2fb4ff5851c4e1bfd8151d41ba83d781 /drivers/md/dm-verity.c | |
parent | 54499afbb80e44ae5511984486b4b33d6229fceb (diff) |
dm: use ACCESS_ONCE for sysfs values
Use the ACCESS_ONCE macro in dm-bufio and dm-verity where a variable
can be modified asynchronously (through sysfs) and we want to prevent
compiler optimizations that assume that the variable hasn't changed.
(See Documentation/atomic_ops.txt.)
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm-verity.c')
-rw-r--r-- | drivers/md/dm-verity.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/dm-verity.c b/drivers/md/dm-verity.c index 892ae2766aa6..9e7328bb4030 100644 --- a/drivers/md/dm-verity.c +++ b/drivers/md/dm-verity.c | |||
@@ -438,7 +438,7 @@ static void verity_prefetch_io(struct dm_verity *v, struct dm_verity_io *io) | |||
438 | verity_hash_at_level(v, io->block, i, &hash_block_start, NULL); | 438 | verity_hash_at_level(v, io->block, i, &hash_block_start, NULL); |
439 | verity_hash_at_level(v, io->block + io->n_blocks - 1, i, &hash_block_end, NULL); | 439 | verity_hash_at_level(v, io->block + io->n_blocks - 1, i, &hash_block_end, NULL); |
440 | if (!i) { | 440 | if (!i) { |
441 | unsigned cluster = *(volatile unsigned *)&dm_verity_prefetch_cluster; | 441 | unsigned cluster = ACCESS_ONCE(dm_verity_prefetch_cluster); |
442 | 442 | ||
443 | cluster >>= v->data_dev_block_bits; | 443 | cluster >>= v->data_dev_block_bits; |
444 | if (unlikely(!cluster)) | 444 | if (unlikely(!cluster)) |