Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp987984ybi; Fri, 14 Jun 2019 06:47:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqw843OzL5KGParGiHm/Nn6uBQMNAmwzh+dmmCXNUR0m/xCskkiQbkmyZMaVDgOc2pc6TJ7p X-Received: by 2002:a62:ed0a:: with SMTP id u10mr65266131pfh.243.1560520077144; Fri, 14 Jun 2019 06:47:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560520077; cv=none; d=google.com; s=arc-20160816; b=N/CxmMPApL3IRNZyNLYxCUusPfsPvbzldj0Q86+TdJYC/7s3ktTndmH9UgTrNs06el 4vt+0fcL/RkevZVy4HkYEBPUy8puUVysikuA5z6BKem0a1J43+4cVzBRpaGbBIaDfU9o cFhQfnWNIDreFoy4Ln8q71t+Tc/HF2BotsCqZCrFPYkoh2P4MJ1Z9jvm5/y2TynameFz AdMXJQNvEf7caP7TwfaWYJIzrbsLvoFIHOmr4HdhRVsoZwWv/f362nOqh3okYY7apuvg 2pNnjbdTqehdDeNDzbEJtYSJo95xK/RF8O8VNJMALBjMDyDiouGrTiTeLHyfFkCpBepG PcWg== 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=ZVqLwD7LgutL5p8jfv4oRdJmqBGbuT7PWnfhqI1ands=; b=eeyeIrZSrEo3RoxrLkV4JXHMskemw7SqcXRdfaYxGdSYOBxueznwMCKByNm3XvMORn YHZw5skCXGMdf35uE7y9nsUeBTIlyaDjcibcg5FHrhKnmOH+CoUclFMyGKJ9B4Vns9br t4DPRnO9utKOFzhNSMUi1B0GlbPqsEnXuHcUwdrN1Ms7ig47jtb8mheAsptRoCyepz94 SVV56VAAl4zjB1VcrlrzY9Tg6H9evWiKCqbBuLkMGlfmofSipY2DxHACmwC9Szg/9WT9 Tf0CGW1lQmR7Lj3X1D//OXsL75U+cqNtxjgItQN/YYE4SCUcZg5HpsrdJ9oFOBm0pwo+ gKQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PEF60wV5; 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 e11si2593801pgs.31.2019.06.14.06.47.40; Fri, 14 Jun 2019 06:47:57 -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=PEF60wV5; 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 S1728496AbfFNNqe (ORCPT + 99 others); Fri, 14 Jun 2019 09:46:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:41998 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728467AbfFNNqb (ORCPT ); Fri, 14 Jun 2019 09:46:31 -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 99FE821744; Fri, 14 Jun 2019 13:46:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1560519990; bh=5B3ZAjA7gOsgPJfhSPrsXHeb6ZPgy7neIaABFDQJVWI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PEF60wV5RZE/wH/xodj6n79XiNZOV5arIxxiyGabEGOSpHi7CGGBaeIBKrnYVi9go ZUZe+lb3cDwJZm3yYaGbkRaY3TYbd1Mq28nFlZp7HXDYhB+ymmZtLtyd2zQaduN50p 3vbdiTjDT+zB/lUtHyCI6t2XinzwhhvGPMXRcMko= From: Jeff Layton To: linux-kernel@vger.kernel.org, ceph-devel@vger.kernel.org Cc: akpm@linux-foundation.org, idryomov@gmail.com, zyan@redhat.com, sage@redhat.com, agruenba@redhat.com Subject: [PATCH 3/3] ceph: return -ERANGE if virtual xattr value didn't fit in buffer Date: Fri, 14 Jun 2019 09:46:25 -0400 Message-Id: <20190614134625.6870-4-jlayton@kernel.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190614134625.6870-1-jlayton@kernel.org> References: <20190614134625.6870-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 The getxattr manpage states that we should return ERANGE if the destination buffer size is too small to hold the value. Signed-off-by: Jeff Layton --- fs/ceph/xattr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/ceph/xattr.c b/fs/ceph/xattr.c index a1cd9613be98..e3246c27f2da 100644 --- a/fs/ceph/xattr.c +++ b/fs/ceph/xattr.c @@ -805,8 +805,11 @@ ssize_t __ceph_getxattr(struct inode *inode, const char *name, void *value, if (err) return err; err = -ENODATA; - if (!(vxattr->exists_cb && !vxattr->exists_cb(ci))) + if (!(vxattr->exists_cb && !vxattr->exists_cb(ci))) { err = vxattr->getxattr_cb(ci, value, size); + if (size && size < err) + err = -ERANGE; + } return err; } -- 2.21.0