From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Liuweni" Subject: [PATCH 2/3]posix acl:Add an acl check Date: Thu, 17 Dec 2009 22:24:10 +0800 Message-ID: <200912172224077656512@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 7bit Cc: "strongzgy" , "Xiao Guangrong" , "Liu Hui" , "qingshenlwy" To: "linux-fsdevel" , "linux-kernel" , "viro" Return-path: Received: from mail-px0-f174.google.com ([209.85.216.174]:58008 "EHLO mail-px0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758303AbZLQOUc (ORCPT ); Thu, 17 Dec 2009 09:20:32 -0500 Sender: linux-fsdevel-owner@vger.kernel.org List-ID: In this function, the parameter of acl will be called by FOREACH_ACL_ENTRY(macro) without null pointer check. I add a Null point checker to it. In the fs/btrfs/btrfs_acl.c, the posix_acl_equiv_mode will make a error by null pointer. --- Signed-off-by: Liuwenyi Cc: Alexander Viro Cc: linux-fsdevel@vger.kernel.org Cc: linux-kernel@vger.kernel.org --- diff --git a/fs/posix_acl.c b/fs/posix_acl.c index 39df95a..37d0485 100644 --- a/fs/posix_acl.c +++ b/fs/posix_acl.c @@ -150,6 +150,9 @@ posix_acl_equiv_mode(const struct posix_acl *acl, mode_t *mode_p) mode_t mode = 0; int not_equiv = 0; + if(!acl) + return -EINVAL; + FOREACH_ACL_ENTRY(pa, acl, pe) { switch (pa->e_tag) { case ACL_USER_OBJ: -------------- Best Regards, Liuweni 2009-12-17