Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp735897ybi; Fri, 21 Jun 2019 07:19:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqwn0hgWNYs7hIMrpHFzexkp99wKcr7JUxic9bkkJymp0T06f9zDwXjfjZfQZ6ekDymvA7lY X-Received: by 2002:a17:90a:258b:: with SMTP id k11mr6711374pje.110.1561126754249; Fri, 21 Jun 2019 07:19:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1561126754; cv=none; d=google.com; s=arc-20160816; b=HYhjmEhUFVJuxAir/sK81ygHgjwJ5n14Ia76QTR41V5RXVd0er4YWP0ge4WXiqhful MtlLtcSSujH5iCIBY1Hg8lpRdHoUW3vBlA4/Obf8b7aFMIR3JzLNz7nPnoaWKPXuOKeY 5WMIBzUHIqSvazmyR9pqCUo8VJjEqdqgenkqcz6r2Trav/ga8F/IthndS3bAJdB4NV7g e3VSY7OpKlgJ1eNrZX0oiPv7BPNbgc35dTVF50B5E7Ldhq9y63vsxe1oXsJmG5qX3BmK aySM/7VOuoU07hnbfHsXVrWOR1+eJVU6Ep6YEkOcbh93kO1eJ1zqHK238FUmimgwyGWu /1wA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=hsoTLAqVKg8By4nVcRojeaXU+gWaA5PUpMaMVdQjKho=; b=RbJETIMZJwAaELSFt/O4qq/VjuxZrNmx1Clkqa1lCRhHfii3af3O0i0K6tLim4CGbF 7dCwB0W68lQbq2grkYW66tY6deeRif8STjS3/YAJ3qmuUaRO/BXaTj+wfyRK8GOOqozU psG/N4wmBHgFWYDjGsiD4pp0cSB4mdBq6QWRzI6nABQ7AV/HuQOYEiAWJhHcwBRNbTSt TOK8YhWF55aKHU88C4vzSBxQV0pK3JmskI7uKsXVeI5UTAtgG0prByQHG3wYlIWyVABf eJMxIRoghwlRhXEV3mN2HwaWwa65TY79FpZUG/qaO4892D5gXLQIp1Hq+d1wZG2Gl2TV U7RA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=UjxiQvSW; 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 z21si2676855pgi.335.2019.06.21.07.18.58; Fri, 21 Jun 2019 07:19:14 -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=UjxiQvSW; 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 S1726343AbfFUOSk (ORCPT + 99 others); Fri, 21 Jun 2019 10:18:40 -0400 Received: from mail.kernel.org ([198.145.29.99]:48338 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726032AbfFUOSi (ORCPT ); Fri, 21 Jun 2019 10:18:38 -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 523262089E; Fri, 21 Jun 2019 14:18:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1561126718; bh=O+JyAbE7gzuZFVR1B/RarBWiVxRT8VXQTKJYS6wMfCw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UjxiQvSWZhLqAuGD0i+m4OlOiB+HVbzoEeVWsoUgMilW9vrX3l+LpeldEYj8s0AtF 528kIHJ/cLIrtr7MqTHYYVTsLxudCFmRDmUGrlI8cTEE5DJWXgb69GC9zry7b7+Jea yHcOY+vcUd8innAsaPnCo4S5qy3RB3bvbnYFnM68= 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, joe@perches.com, geert+renesas@glider.be, andriy.shevchenko@linux.intel.com Subject: [PATCH v3 2/2] ceph: fix return of ceph_vxattrcb_layout Date: Fri, 21 Jun 2019 10:18:33 -0400 Message-Id: <20190621141833.17551-3-jlayton@kernel.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190621141833.17551-1-jlayton@kernel.org> References: <20190621141833.17551-1-jlayton@kernel.org> 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 Currently it returns -ERANGE if it thinks that the buffer won't fit, but the function returns size_t which is unsigned. Fix it to just return the length in this case like the other xattrs do, and rely on the caller to handle the case where it won't fit in the destination buffer. Signed-off-by: Jeff Layton --- fs/ceph/xattr.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/fs/ceph/xattr.c b/fs/ceph/xattr.c index 359d3cbbb37b..23687e3819f5 100644 --- a/fs/ceph/xattr.c +++ b/fs/ceph/xattr.c @@ -62,8 +62,7 @@ static size_t ceph_vxattrcb_layout(struct ceph_inode_info *ci, char *val, const char *pool_name; const char *ns_field = " pool_namespace="; char buf[128]; - size_t len, total_len = 0; - int ret; + size_t ret, len, total_len = 0; pool_ns = ceph_try_get_string(ci->i_layout.pool_ns); @@ -87,11 +86,8 @@ static size_t ceph_vxattrcb_layout(struct ceph_inode_info *ci, char *val, if (pool_ns) total_len += strlen(ns_field) + pool_ns->len; - if (!size) { - ret = total_len; - } else if (total_len > size) { - ret = -ERANGE; - } else { + ret = total_len; + if (size >= total_len) { memcpy(val, buf, len); ret = len; if (pool_name) { -- 2.21.0