Re: [PATCH 1/15] don't reallocate buffer in every audit_sockaddr()

From: Al Viro
Date: Wed Dec 17 2008 - 02:56:26 EST


On Tue, Dec 16, 2008 at 11:49:27PM -0800, Andrew Morton wrote:
> > + if (!context->sockaddr) {
> > + void *p = kmalloc(sizeof(struct sockaddr_storage), GFP_KERNEL);
>
> argh, I really hate having to run all around the code verifying that
> the type passed to sizeof matches the type that we'll be storing there :(

And I really hate being unable to find the places doing such allocations
without serious parsing. Matter of taste.

> stoopid question: can an audit_contect be shared between
> threads/processes? If so, is locking needed around the read/test/write
> of context->sockaddr and friends?

It can't. And that's very fortunate, since otherwise all that crap would
a) be horribly racy
b) require shitloads of locking all over the place, driving the
overhead even higher.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/