diff options
author | Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> | 2011-04-02 17:12:54 +0200 |
---|---|---|
committer | James Morris <jmorris@namei.org> | 2011-04-19 01:37:12 +0200 |
commit | c0fa797ae6cd02ff87c0bfe0d509368a3b45640e (patch) | |
tree | 4f484333268919be0487ff5fdf9dd380d8bf6ed2 /drivers/scsi/arm/msgqueue.c | |
parent | TOMOYO: Don't add / for allow_unmount permission check. (diff) | |
download | linux-c0fa797ae6cd02ff87c0bfe0d509368a3b45640e.tar.xz linux-c0fa797ae6cd02ff87c0bfe0d509368a3b45640e.zip |
TOMOYO: Fix infinite loop bug when reading /sys/kernel/security/tomoyo/audit
In tomoyo_flush(), head->r.w[0] holds pointer to string data to be printed.
But head->r.w[0] was updated only when the string data was partially
printed (because head->r.w[0] will be updated by head->r.w[1] later if
completely printed). However, regarding /sys/kernel/security/tomoyo/query ,
an additional '\0' is printed after the string data was completely printed.
But if free space for read buffer became 0 before printing the additional '\0',
tomoyo_flush() was returning without updating head->r.w[0]. As a result,
tomoyo_flush() forever reprints already printed string data.
Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'drivers/scsi/arm/msgqueue.c')
0 files changed, 0 insertions, 0 deletions