Received: by 2002:a25:f815:0:0:0:0:0 with SMTP id u21csp2818988ybd; Mon, 24 Jun 2019 13:17:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqzy1grg69/OQLoOLPDjlhNd+vRiNrXrAhyYlZhL+cyrbWLKjvVo5Oo1OD1aCqHtVFbr9wHr X-Received: by 2002:a17:902:6ac6:: with SMTP id i6mr136492570plt.233.1561407429828; Mon, 24 Jun 2019 13:17:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561407429; cv=none; d=google.com; s=arc-20160816; b=pdejQ2CKjAGoYkK/cHbCwRogmmaP6cGR1zC2cCFqsOvEwA3G6eSzhtGl0xGBJRMieZ NfbMYQaqm7H2zUZgWJpH0l3T6ZrOmHOGKsnGfWlunQu+yNzzdLTHhBkJHK44qiGoRCk/ H/3XUse9GTfoddOe0PTt34H9ChK2gde3papEqvgXgA2vCtdaIY0VZ7HX2x0I3zi2wSJ5 ouNVHduZwvKh76iny5wL6WBBaC8+OgNXNswV6uvjgMrYfbJQvoiVHpusc21H7QWn2qgr 5y6yFyXp9GI5IBmPJs2rqrWuKZj5RnqfB9ceR47kevZkBaUK4wG4c4K0RaYTL4VEIqmT W1WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=jStfSHkG1epKDEZ4fUc9XXjNZnqstSLKYN1wxofV0PA=; b=zJUCqiVaX8Z85NB5Im/YUFvVinc2dGH1Rbv8zHj3OG2h4bcavUpsy02UIicO3ijAFl S18V4l2I9bXaNuzZZgn6A4dNqwTJE/iSeqA4Qno+uyUCs/IH8et3pAbn3x1SdJHRJgm4 g5YjApyQuK2jnaypipRDE0teANyyxGw5NHrnvwgYTlAbITU//ON2pilxDoFJ4mIPjted ZpVHh+/vavJAN6/xiBs3DMZAWLEHy9h5szLG7MAnLQX7WiTzpKWqb5keZn8uTNft0V99 8wZPT9nqQAdq5QQkxvn94+Jr5PpKGvz1iJwGZQ4r5WVF9m+CyT7yTqVWK+p7HulaXGfw 5iaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uw9ookjg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f7si10375015pgv.105.2019.06.24.13.16.54; Mon, 24 Jun 2019 13:17:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uw9ookjg; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732106AbfFXQ13 (ORCPT + 99 others); Mon, 24 Jun 2019 12:27:29 -0400 Received: from mail.kernel.org ([198.145.29.99]:35850 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726393AbfFXQ13 (ORCPT ); Mon, 24 Jun 2019 12:27:29 -0400 Received: from tleilax.poochiereds.net (cpe-71-70-156-158.nc.res.rr.com [71.70.156.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id CD37820657; Mon, 24 Jun 2019 16:27:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1561393648; bh=NGCvQfasyw2Dvd+0f5kMeX1GDlGQsRX0xZnViuUsN6U=; h=From:To:Cc:Subject:Date:From; b=uw9ookjg3azfCRvSEDTpj9uKwHEplhQMWpbdn/F08DMG753KLBEunNP20XNOudvTd KiGVq2ma/ffje1wpZIY21Pr+9XxZ2wKnsDJSNrem4JFUUW+hSh8zCNBnnA7gb2Ka7q 34NOGjLeUhL+4M/YtT4ZAMRRVDDm2435CcMqvg70= From: Jeff Layton To: linux-kernel@vger.kernel.org, ceph-devel@vger.kernel.org Cc: idryomov@gmail.com, zyan@redhat.com, sage@redhat.com, agruenba@redhat.com Subject: [PATCH v4 0/3] ceph: don't NULL terminate virtual xattrs Date: Mon, 24 Jun 2019 12:27:23 -0400 Message-Id: <20190624162726.17413-1-jlayton@kernel.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org v4: resurrect snprintf_noterm as static function that uses a fixed-size intermediate buffer. Return -E2BIG and WARN if the formatted string exceeds temp buffer. make getxattr_cb callbacks return ssize_t. v3: switch to using an intermediate buffer for snprintf destination add patch to fix ceph_vxattrcb_layout return value v2: drop bogus EXPORT_SYMBOL of static function This is the 4th posting of this patchset. In this variant, we add a new variatic static function that uses an internal buffer and calls vsnprintf to do the formatting, and then memcpys the result into the buffer. This also adds a bit of type-sanity cleanup of the vxattr handling in general. Most of the rationale for this set is in the description of the last patch of the series. Jeff Layton (3): ceph: make getxattr_cb return ssize_t ceph: return -ERANGE if virtual xattr value didn't fit in buffer ceph: don't NULL terminate virtual xattrs fs/ceph/xattr.c | 182 ++++++++++++++++++++++++++++-------------------- 1 file changed, 108 insertions(+), 74 deletions(-) -- 2.21.0