Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758945AbbGHVAM (ORCPT ); Wed, 8 Jul 2015 17:00:12 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:36589 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755061AbbGHVAH (ORCPT ); Wed, 8 Jul 2015 17:00:07 -0400 Date: Wed, 8 Jul 2015 22:53:48 +0200 From: Andrew Lunn To: Vivien Didelot Cc: netdev@vger.kernel.org, "David S. Miller" , Guenter Roeck , linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com Subject: Re: [PATCH 1/2] net: dsa: mv88e6xxx: add write access to debugfs regs file Message-ID: <20150708205348.GH1357@lunn.ch> References: <1436387779-23407-1-git-send-email-vivien.didelot@savoirfairelinux.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1436387779-23407-1-git-send-email-vivien.didelot@savoirfairelinux.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1560 Lines: 42 On Wed, Jul 08, 2015 at 04:36:18PM -0400, Vivien Didelot wrote: > Allow write access to the regs file in the debugfs interface, with the > following parameters: > > echo > regs > > Where "name" is the register name (as shown in the header row), "reg" is > the register address (as shown in the first column) and "value" is the > 16-bit value. e.g.: > > echo GLOBAL 1a 5550 > regs > > Signed-off-by: Vivien Didelot > --- > drivers/net/dsa/mv88e6xxx.c | 32 +++++++++++++++++++++++++++++++- > 1 file changed, 31 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/dsa/mv88e6xxx.c b/drivers/net/dsa/mv88e6xxx.c > index 8c130c0..04e6eb6 100644 > --- a/drivers/net/dsa/mv88e6xxx.c > +++ b/drivers/net/dsa/mv88e6xxx.c > @@ -1648,6 +1648,35 @@ static int mv88e6xxx_regs_show(struct seq_file *s, void *p) > return 0; > } > > +static ssize_t mv88e6xxx_regs_write(struct file *file, const char __user *buf, > + size_t count, loff_t *ppos) > +{ > + struct seq_file *s = file->private_data; > + struct dsa_switch *ds = s->private; > + struct mv88e6xxx_priv_state *ps = ds_to_priv(ds); > + char name[count]; Is this safe? Is count somehow limited? If i was to echo 8K to the file would i not exceed the kernel stack space? Andrew -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/