• Theodore Ts'o's avatar
    ext4: fix reading new encrypted symlinks on no-journal file systems · 4db0d88e
    Theodore Ts'o authored
    On a filesystem with no journal, a symlink longer than about 32
    characters (exact length depending on padding for encryption) could not
    be followed or read immediately after being created in an encrypted
    directory.  This happened because when the symlink data went through the
    delayed allocation path instead of the journaling path, the symlink was
    incorrectly detected as a "fast" symlink rather than a "slow" symlink
    until its data was written out.
    
    To fix this, disable delayed allocation for symlinks, since there is
    no benefit for delayed allocation anyway.
    Reported-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    4db0d88e
inode.c 171 KB