On Thu, Jul 13, 2023 at 09:26:31AM +0100, Luís Henriques wrote: > I've spent a non-negligible amount of time looking into a kmemleak that > didn't exist in the code I was testing because there was an old .kmemleak > file in the results directory. I don't think this is an intended behaviour, > so I'm proposing to remove these files everytime we capture the result of a > new scan. > > Signed-off-by: Luís Henriques <lhenriques@xxxxxxx> Looks good now, Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > --- > common/rc | 4 ++++ > 1 file changed, 4 insertions(+) > > Changes since v2: > Incorporated comment from Darrick to explain the usage of '-f' in the test > > Changes since v1: > I realised that _capture_kmemleak() is called with /dev/null as argument, so > this version is probably better. > > diff --git a/common/rc b/common/rc > index 741579af82d2..5c4429ed0425 100644 > --- a/common/rc > +++ b/common/rc > @@ -4433,6 +4433,10 @@ _capture_kmemleak() > local kern_knob="$DEBUGFS_MNT/kmemleak" > local leak_file="$1" > > + # Some callers pass in /dev/null when they want to clear the > + # kernel's leak report file and do not care what was in that. > + [ -f "$leak_file" ] && rm -f "$leak_file" > + > # Tell the kernel to scan for memory leaks. Apparently the write > # returns before the scan is complete, so do it twice in the hopes > # that twice is enough to capture all the leaks.