• Dave Wysochanski's avatar
    SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist · 64a38e84
    Dave Wysochanski authored
    The sunrpc cache interface is susceptible to being fooled by a rogue
    process just reading a 'channel' file.  If this happens the kernel
    may think a valid daemon exists to service the cache when it does not.
    For example, the following may fool the kernel:
    cat /proc/net/rpc/auth.unix.gid/channel
    
    Change the tracking of readers to writers when considering whether a
    listener exists as all valid daemon processes either open a channel
    file O_RDWR or O_WRONLY.  While this does not prevent a rogue process
    from "stealing" a message from the kernel, it does at least improve
    the kernels perception of whether a valid process servicing the cache
    exists.
    Signed-off-by: default avatarDave Wysochanski <dwysocha@redhat.com>
    Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
    64a38e84
cache.c 45.5 KB