[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <518C568E.2040203@asianux.com>
Date: Fri, 10 May 2013 10:08:14 +0800
From: Chen Gang <gang.chen@...anux.com>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: Eric Paris <eparis@...hat.com>, Al Viro <viro@...iv.linux.org.uk>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2] kernel: audit_tree: resource management: need put_tree
and goto Err when failure occures
On 05/10/2013 04:11 AM, Andrew Morton wrote:
>> > But we need let 'rule->tree = NULL;' firstly, so can protect rule itself freed in kill_rules().
> I'll believe you ;) I turned this into a proper patch and added your
> (missed) Signed-off-by:.
>
Thanks.
At least, let 'rule->tree = NULL;' can:
a. it matches 'rule->tree = tree;' which is before successful return.
also can make 'if (list_empty(&rule->rlist))' reasonable.
b. protect rule itself freed in kill_rules(), if it could happen.
just like all 'rule->tree = NULL;' in audit_remove_tree_rule().
c. it will no negative effect.
>> > For me, after 'rule->tree = NULL', all things seems fine !!
> Well, what was wrong before? Is there some user-triggerable
> misbehaviour which you observed? If so, please describe it.
>
>
>
I think, it will cause issue (randomly): if when we are using auditctl
to add rule to monitor one file, and at the same time, the other user is
just deleting this file.
I guess, it is why original code need 'if (list_empty(&rule->rlist))'
after lock 'audit_filter_mutex' again.
Currently, I am just testing for it (and should give a test), and I will
send the test plan and test result within this week (2013-05-12).
Thanks.
--
Chen Gang
Asianux Corporation
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists