[PATCH 1/2] virNetDevSaveNetConfig: Pass mode to virFileWriteStr()

Laine Stump laine at redhat.com
Mon Jun 13 15:19:31 UTC 2022


On 6/13/22 9:18 AM, Michal Privoznik wrote:
> For some types of SRIOV interfaces we create a temporary file
> where the state of the interface is saved before we start
> modifying it. The file is used then to restore the original
> configuration when the interface is no longer associated with any
> guest. For writing the file virFileWriteStr() is used. However,
> it's given wrong argument: the last argument is supposed to be
> mode to create the file with but virNetDevSaveNetConfig() passes
> open(2) flags (O_CREAT|O_TRUNC|O_WRONLY). We need the file to be
> writable and readable by root only (0600). Therefore, pass that
> mode instead of gibberish.

Wow. This may be in competition for the longest living "how did this 
ever work?" bug in the code :-/

Since my name was on the git blame for the most recent change to this 
line, I had to figure out if it was really me that had 
misunderstood/misused virFileWriteStr() so grievously (wouldn't be the 
first or the last time). What I found was that this code had been moved 
around by multiple different people (including me) since originally 
being included in new code all the way back in commit cbd8227ee in June 
2011.

Anyway, Peter has already acked it, but still

Reviewed-by: Laine Stump <laine at redhat.com>



More information about the libvir-list mailing list