On Thu, Nov 24, 2022 at 08:59:35AM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > -Wuninitialized complains about @target in xfsaild_push being > uninitialized in the case where the waitqueue is active but there is no > last item in the AIL to wait for. I /think/ it should never be the case > that the subsequent xfs_trans_ail_cursor_first returns a log item and > hence we'll never end up at XFS_LSN_CMP, but let's make this explicit. If xfs_ail_max() returns NULL, then xfs_trans_ail_cursor_first() must return NULL as the AIL is empty. So we always jump out of the code in that case, and never use an uninitialised target value. Older compilers (gcc-11) don't complain about target being used uninitialised, only newer, "smarter" versions. FWIW, the patchset I have that reworks the AIL push target/wakeup/grant head accounting completely reworks this target code[1], so in the mean time doing this to shut up the compiler warnings is fine. Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> [1] https://lore.kernel.org/linux-xfs/20220809230353.3353059-1-david@xxxxxxxxxxxxx/ -- Dave Chinner david@xxxxxxxxxxxxx