[dpdk-dev] [PATCH v2] vhost: fix false-positive warning from clang 5

Thomas Monjalon thomas at monjalon.net
Wed Oct 11 14:49:23 CEST 2017


11/10/2017 13:28, Bruce Richardson:
> When compiling with clang extra warning flags, such as used by default with
> meson, a warning is given in iotlb.c:
> 
> ../lib/librte_vhost/iotlb.c:318:6: warning: variable 'socket' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
> 
> This is a false positive, as the socket value will be initialized by the
> call to get_mempolicy in the case where the NUMA build-time flag is set,
> and in cases where it is not set, "if (ret)" will always be true as ret is
> initialized to -1 and never changed.
> 
> However, this is not immediately obvious, and is perhaps a little fragile,
> as it will break if other code using ret is subsequently added above the
> call to get_mempolicy by someone unaware of this subtle dependency.
> Therefore, we can fix the warning and making the code more robust by
> explicitly initializing socket to zero, and moving the extra condition
> check on the return from get_mempolicy() into the #ifdef
> 
> Fixes: d012d1f293f4 ("vhost: add IOTLB helper functions")
> 
> CC: Maxime Coquelin <maxime.coquelin at redhat.com>
> Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>

Applied, thanks



More information about the dev mailing list