• Tetsuo Handa's avatar
    TOMOYO: Copy directly to userspace buffer. · f23571e8
    Tetsuo Handa authored
    When userspace program reads policy from /sys/kernel/security/tomoyo/
    interface, TOMOYO uses line buffered mode. A line has at least one word.
    
    Commit 006dacc "TOMOYO: Support longer pathname." changed a word's max length
    from 4000 bytes to max kmalloc()able bytes. By that commit, a line's max length
    changed from 8192 bytes to more than max kmalloc()able bytes.
    
    Max number of words in a line remains finite. This patch changes the way of
    buffering so that all words in a line are firstly directly copied to userspace
    buffer as much as possible and are secondly queued for next read request.
    Words queued are guaranteed to be valid until /sys/kernel/security/tomoyo/
    interface is close()d.
    Signed-off-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
    Signed-off-by: default avatarJames Morris <jmorris@namei.org>
    f23571e8
memory.c 7.3 KB