From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755401AbcGFRwQ (ORCPT ); Wed, 6 Jul 2016 13:52:16 -0400 Received: from smtprelay0173.hostedemail.com ([216.40.44.173]:45822 "EHLO smtprelay.hostedemail.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752094AbcGFRwP (ORCPT ); Wed, 6 Jul 2016 13:52:15 -0400 X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Spam-Summary: 2,0,0,,d41d8cd98f00b204,rostedt@goodmis.org,:::::::::::::::::,RULES_HIT:41:355:379:541:599:800:960:966:988:989:1260:1277:1311:1313:1314:1345:1359:1437:1515:1516:1518:1534:1541:1593:1594:1711:1730:1747:1777:1792:2196:2199:2393:2553:2559:2562:3138:3139:3140:3141:3142:3167:3353:3622:3865:3867:3872:4321:4385:4605:5007:6261:7875:10004:10400:10848:10967:11026:11232:11233:11473:11658:11914:12043:12294:12296:12438:12517:12519:12740:13069:13255:13311:13357:13439:14096:14097:14180:14181:14659:14721:21080:21212:21433,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:fn,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:3,LUA_SUMMARY:none X-HE-Tag: skin10_4d809b626e503 X-Filterd-Recvd-Size: 2734 Date: Wed, 6 Jul 2016 13:52:11 -0400 From: Steven Rostedt To: Borislav Petkov Cc: LKML , Andrew Morton , Franck Bui , Greg Kroah-Hartman , Ingo Molnar , Linus Torvalds , Peter Zijlstra , Uwe =?UTF-8?B?S2xlaW5lLUvDtm5pZw==?= Subject: Re: [PATCH -v3.1 2/2] printk: Add kernel parameter to control writes to /dev/kmsg Message-ID: <20160706135211.3e4f968e@gandalf.local.home> In-Reply-To: <20160706132924.GE7300@pd.tnic> References: <1467642292-15671-1-git-send-email-bp@alien8.de> <1467642292-15671-3-git-send-email-bp@alien8.de> <20160706132924.GE7300@pd.tnic> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 6 Jul 2016 15:29:24 +0200 Borislav Petkov wrote: > @@ -800,19 +863,24 @@ static int devkmsg_open(struct inode *inode, struct file *file) > struct devkmsg_user *user; > int err; > > - /* write-only does not need any file context */ > - if ((file->f_flags & O_ACCMODE) == O_WRONLY) > - return 0; > + if (devkmsg_log & DEVKMSG_LOG_MASK_OFF) > + return -EPERM; > > - err = check_syslog_permissions(SYSLOG_ACTION_READ_ALL, > - SYSLOG_FROM_READER); > - if (err) > - return err; > + /* write-only does not need any file context */ > + if ((file->f_flags & O_ACCMODE) != O_WRONLY) { > + err = check_syslog_permissions(SYSLOG_ACTION_READ_ALL, > + SYSLOG_FROM_READER); > + if (err) > + return err; > + } > > user = kmalloc(sizeof(struct devkmsg_user), GFP_KERNEL); > if (!user) > return -ENOMEM; > > + ratelimit_default_init(&user->rs); > + ratelimit_set_flags(&user->rs, RATELIMIT_MSG_ON_RELEASE); > + > mutex_init(&user->lock); > > raw_spin_lock_irq(&logbuf_lock); > @@ -831,6 +899,8 @@ static int devkmsg_release(struct inode *inode, struct file *file) > if (!user) > return 0; > > + ratelimit_state_exit(&user->rs); > + > mutex_destroy(&user->lock); > kfree(user); > return 0; > diff --git a/kernel/sysctl.c b/kernel/sysctl.c Hmm, this does nothing to stop user space from doing the following: while :; do echo '5,0,0,-;hello' > /dev/kmsg; done But at least it's a start. -- Steve