From patchwork Wed Jun 18 19:00:19 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jeff Layton X-Patchwork-Id: 4378931 Return-Path: X-Original-To: patchwork-linux-nfs@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 4FE389F314 for ; Wed, 18 Jun 2014 19:00:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7BA5A2024C for ; Wed, 18 Jun 2014 19:00:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 87DFA2037B for ; Wed, 18 Jun 2014 19:00:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754366AbaFRTAa (ORCPT ); Wed, 18 Jun 2014 15:00:30 -0400 Received: from mail-qc0-f170.google.com ([209.85.216.170]:55731 "EHLO mail-qc0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754357AbaFRTA1 (ORCPT ); Wed, 18 Jun 2014 15:00:27 -0400 Received: by mail-qc0-f170.google.com with SMTP id l6so1232362qcy.29 for ; Wed, 18 Jun 2014 12:00:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id; bh=rvNy2QqLPVvRZgU58FNkkbLz2rs0nCEUn/2tnh910D0=; b=lNgSWwfMPlyjd5q2zv965CcgvFQ7vddNQuichJ6DbNl2NfRLJKE5U6Jb50pokwYn0/ SdcyJJe1ySpNfkGWOC+V58pBJL2FvVByd7EIpTkSgtwyKPeDAD2bc3NsG6KZT8ate8R+ FK1qG/RZu/UQt67Dk69xqGFmAGsWCP3N6WvxwR4cWt3SnErxFk6P9E4kwbDUZuQFuxbH k1HCsxzLWcQFO6kguj7Ms3M3Ovutd8NGpZPc6/EYRqZf91ISNzyOlhrh3tvEfwD1mnBw bEyBHFDI+mb02LCsodRV1zA3s0KzGaAtmwtgoUVbWFCV6o5gQcfB6GB7sBSRqKPgeWII yVGg== X-Gm-Message-State: ALoCoQmaKEEtRVk53uOesfR2ClQv3GnXdL/Qyjr13drlfGPQt2wPvtHr3XgSKfk435XJinhX8Z0O X-Received: by 10.140.80.67 with SMTP id b61mr21556qgd.98.1403118026589; Wed, 18 Jun 2014 12:00:26 -0700 (PDT) Received: from tlielax.poochiereds.net ([2001:470:8:d63:3a60:77ff:fe93:a95d]) by mx.google.com with ESMTPSA id 22sm1760632qgs.23.2014.06.18.12.00.25 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Jun 2014 12:00:25 -0700 (PDT) From: Jeff Layton To: bfields@fieldses.org Cc: Anna Schumaker , linux-nfs@vger.kernel.org Subject: [PATCH] nfsd: properly handle embedded newlines in fault_injection input Date: Wed, 18 Jun 2014 15:00:19 -0400 Message-Id: <1403118019-17536-1-git-send-email-jlayton@primarydata.com> X-Mailer: git-send-email 1.9.3 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Currently rpc_pton() fails to handle the case where you echo an address into the file, as it barfs on the newline. Ensure that we NULL out the first occurrence of any newline. Signed-off-by: Jeff Layton --- fs/nfsd/fault_inject.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fs/nfsd/fault_inject.c b/fs/nfsd/fault_inject.c index 2ed05c3cd43d..f1333fc35b33 100644 --- a/fs/nfsd/fault_inject.c +++ b/fs/nfsd/fault_inject.c @@ -115,11 +115,19 @@ static ssize_t fault_inject_write(struct file *file, const char __user *buf, struct net *net = current->nsproxy->net_ns; struct sockaddr_storage sa; u64 val; + char *nl; if (copy_from_user(write_buf, buf, size)) return -EFAULT; write_buf[size] = '\0'; + /* Deal with any embedded newlines in the string */ + nl = strchr(write_buf, '\n'); + if (nl) { + size = nl - write_buf; + *nl = '\0'; + } + size = rpc_pton(net, write_buf, size, (struct sockaddr *)&sa, sizeof(sa)); if (size > 0) nfsd_inject_set_client(file_inode(file)->i_private, &sa, size);