• Hans de Goede's avatar
    watchdog: Add Locking support · f4e9c82f
    Hans de Goede authored
    This patch fixes some potential multithreading issues, despite only
    allowing one process to open the /dev/watchdog device, we can still get
    called multiple times at the same time, since a program could be using thread,
    or could share the fd after a fork.
    
    This causes 2 potential problems:
    1) watchdog_start / open do an unlocked test_n_set / test_n_clear,
       if these 2 race, the watchdog could be stopped while the active
       bit indicates it is running or visa versa.
    
    2) Most watchdog_dev drivers probably assume that only one
       watchdog-op will get called at a time, this is not necessary
       true atm.
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
    f4e9c82f
watchdog_core.c 4.73 KB