summaryrefslogtreecommitdiff
path: root/scripts/gdb/linux
diff options
context:
space:
mode:
authorTuo Li <islituo@gmail.com>2023-06-13 06:06:37 +0300
committerAndreas Gruenbacher <agruenba@redhat.com>2023-06-13 15:34:17 +0300
commit6fa0a72cbbe45db4ed967a51f9e6f4e3afe61d20 (patch)
tree7b58645c89238d5b07ebceaca623200069eb198a /scripts/gdb/linux
parentc8ed1b35931245087968fd95b2ec3dfc50f77769 (diff)
downloadlinux-6fa0a72cbbe45db4ed967a51f9e6f4e3afe61d20.tar.xz
gfs2: Fix possible data races in gfs2_show_options()
Some fields such as gt_logd_secs of the struct gfs2_tune are accessed without holding the lock gt_spin in gfs2_show_options(): val = sdp->sd_tune.gt_logd_secs; if (val != 30) seq_printf(s, ",commit=%d", val); And thus can cause data races when gfs2_show_options() and other functions such as gfs2_reconfigure() are concurrently executed: spin_lock(&gt->gt_spin); gt->gt_logd_secs = newargs->ar_commit; To fix these possible data races, the lock sdp->sd_tune.gt_spin is acquired before accessing the fields of gfs2_tune and released after these accesses. Further changes by Andreas: - Don't hold the spin lock over the seq_printf operations. Reported-by: BassCheck <bass@buaa.edu.cn> Signed-off-by: Tuo Li <islituo@gmail.com> Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Diffstat (limited to 'scripts/gdb/linux')
0 files changed, 0 insertions, 0 deletions