• Mikulas Patocka's avatar
    dm stats: fix possible counter corruption on 32-bit systems · bbf3f8cb
    Mikulas Patocka authored
    There was a deliberate race condition in dm_stat_for_entry() to avoid the
    overhead of disabling and enabling interrupts.  The race could result in
    some events not being counted on 64-bit architectures.
    
    However, on 32-bit architectures, operations on long long variables are
    not atomic, so the race condition could cause the counter to jump by 2^32.
    Such jumps could be disruptive, so we need to do proper locking on 32-bit
    architectures.
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Cc: Alasdair G. Kergon <agk@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    bbf3f8cb
dm-stats.c 23.4 KB