From: Charndeep Grewal Date: Wed, 27 Feb 2013 06:07:38 +0000 (-0800) Subject: staging: android: logger: enforce GID and CAP check on log flush X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1e70bd46a5a950b7ba319e50bdfed9d20ed9fd73;p=openwrt%2Fstaging%2Fblogic.git staging: android: logger: enforce GID and CAP check on log flush Restrict log flushing to those in the logs group, or anyone with CAP_SYSLOG. Cc: Android Kernel Team Cc: Charndeep Grewal Signed-off-by: Charndeep Grewal Signed-off-by: John Stultz Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/android/logger.c b/drivers/staging/android/logger.c index cfa606110cc2..b14a55742559 100644 --- a/drivers/staging/android/logger.c +++ b/drivers/staging/android/logger.c @@ -695,6 +695,11 @@ static long logger_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ret = -EBADF; break; } + if (!(in_egroup_p(file->f_dentry->d_inode->i_gid) || + capable(CAP_SYSLOG))) { + ret = -EPERM; + break; + } list_for_each_entry(reader, &log->readers, list) reader->r_off = log->w_off; log->head = log->w_off;