LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: Race over table->data in proc_do_sync_threshold()

To: <sishuai.system@xxxxxxxxx>
Subject: Re: Race over table->data in proc_do_sync_threshold()
Cc: <horms@xxxxxxxxxxxx>, <ja@xxxxxx>, <lvs-devel@xxxxxxxxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>, <kuniyu@xxxxxxxxxx>
From: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx>
Date: Wed, 9 Aug 2023 19:27:34 -0700
From: Sishuai Gong <sishuai.system@xxxxxxxxx>
Date: Wed, 9 Aug 2023 20:30:37 -0400
> Hi,
> 
> We observed races over (struct ctl_table *) table->data when two threads
> are running proc_do_sync_threshold() in parallel, as shown below:
> 
> Thread-1                      Thread-2
> memcpy(val, valp, sizeof(val)); memcpy(valp, val, sizeof(val));
> 
> This race probably would mess up table->data. Is it better to add a lock?

Yes, we should acquire mutex/seqlock etc.

<Prev in Thread] Current Thread [Next in Thread>