Am 25.07.2022 um 09:38 hat Emanuele Giuseppe Esposito geschrieben: > With "intact" we mean that all job.h functions implicitly > take the lock. Therefore API callers are unmodified. > > This means that: > - many static functions that will be always called with job lock held > become _locked, and call _locked functions > - all public functions take the lock internally if needed, and call _locked > functions > - all public functions called internally by other functions in job.c will > have a > _locked counterpart (sometimes public), to avoid deadlocks (job lock > already taken). > These functions are not used for now. > - some public functions called only from exernal files (not job.c) do not > have _locked() counterpart and take the lock inside. Others won't need > the lock at all because use fields only set at initialization and > never modified. > > job_{lock/unlock} is independent from real_job_{lock/unlock}. > > Note: at this stage, job_{lock/unlock} and job lock guard macros > are *nop* > > Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru> > Signed-off-by: Emanuele Giuseppe Esposito <eespo...@redhat.com>
Would be nice to fix the access Vladimir found, but I think it's not actually a bug because we know that nobody else is going to write to job->ret. So with or without that fix: Reviewed-by: Kevin Wolf <kw...@redhat.com>