OpenAFS Master Repository branch, openafs-stable-1_8_x, updated. openafs-stable-1_8_10-1-gbb1b7b1

Gerrit Code Review
Thu, 17 Aug 2023 13:05:51 -0400

The following commit has been merged in the openafs-stable-1_8_x branch:
commit bb1b7b1adcb52a07a1bdcb0d42f8a5a366b5f4db
Author: Kailas Zadbuke <>
Date:   Sun Apr 23 20:06:00 2023 +0530

    afs: Check UHasTokens in afs_GCUserData
    It looks that EndTimestamp holds the user’s token expiration time even after
    function afs_MarkUserExpired() gets called from afs_pag_destroy().  So it
    seems that the PAGs/tokens are not being reclaimed. This will lead to pag
    buildup on the system.
    The PAG/'struct unixuser' is not being freed because afs_GCUserData() checks
    afs_HasUsableTokens(), which checks EndTimestamp, which says the tokens still
    haven't expired. So the PAG doesn't get freed.
    This behavior has existed since commit ba1d050c6e (Make unixuser's vid
    To fix this, change afs_GCuserData() to check for the UHasTokens flag, and
    ignore any tokens if UHasTokens isn't set. This causes the PAG to be freed,
    since we don't look at the EndTimestamp of the tokens at all.
    Thanks Todd DeSantis for your support.
    Signed-off-by: Kailas Zadbuke <>
    Tested-by: BuildBot <>
    Reviewed-by: Andrew Deason <>
    Reviewed-by: Michael Meffie <>
    Reviewed-by: Benjamin Kaduk <>
    (cherry picked from commit 630d423897e5fffed1873aa9d12c4e74a8481041)
    Change-Id: I74b1ea1173df904928ad027e48b231058c1e0f1d
    Tested-by: BuildBot <>
    Reviewed-by: Kailas Zadbuke <>
    Reviewed-by: Michael Meffie <>
    Reviewed-by: Andrew Deason <>
    Reviewed-by: Mark Vitale <>
    Reviewed-by: Stephan Wiesand <>

 src/afs/afs_user.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

OpenAFS Master Repository