From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751841AbaGPUQP (ORCPT ); Wed, 16 Jul 2014 16:16:15 -0400 Received: from mail-pa0-f50.google.com ([209.85.220.50]:34437 "EHLO mail-pa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750943AbaGPUQN (ORCPT ); Wed, 16 Jul 2014 16:16:13 -0400 Date: Wed, 16 Jul 2014 13:14:06 -0700 (PDT) From: Hugh Dickins X-X-Sender: hugh@eggly.anvils To: Al Viro cc: Jeff Layton , Aristeu Rozanski , Andrew Morton , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] simple_xattr: permit 0-size extended attributes Message-ID: User-Agent: Alpine 2.11 (LSU 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If a filesystem uses simple_xattr to support user extended attributes, LTP setxattr01 and xfstests generic/062 fail with "Cannot allocate memory": simple_xattr_alloc()'s wrap-around test mistakenly excludes values of zero size. Fix that off-by-one (but apparently no filesystem needs them yet). Signed-off-by: Hugh Dickins --- fs/xattr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- 3.16-rc5/fs/xattr.c 2013-02-18 15:58:34.000000000 -0800 +++ linux/fs/xattr.c 2014-07-16 12:47:10.640004412 -0700 @@ -843,7 +843,7 @@ struct simple_xattr *simple_xattr_alloc( /* wrap around? */ len = sizeof(*new_xattr) + size; - if (len <= sizeof(*new_xattr)) + if (len < sizeof(*new_xattr)) return NULL; new_xattr = kmalloc(len, GFP_KERNEL);