Re: [PATCH linux-next v2] lockd: nlmclnt_reclaim(): avoid stackoverflow
From: J. Bruce Fields
Date: Fri Feb 15 2013 - 11:30:59 EST
On Thu, Feb 14, 2013 at 10:20:38AM -0500, Jeff Layton wrote:
> On Wed, 13 Feb 2013 08:40:16 -0700
> Tim Gardner <tim.gardner@xxxxxxxxxxxxx> wrote:
> > Even though nlmclnt_reclaim() is only one call into the stack frame,
> > 928 bytes on the stack seems like a lot. Recode to dynamically
> > allocate the request structure once from within the reclaimer task,
> > then pass this pointer into nlmclnt_reclaim() for reuse on
> > subsequent calls.
> > smatch analysis:
> > fs/lockd/clntproc.c:620 nlmclnt_reclaim() warn: 'reqst' puts
> > 928 bytes on stack
> > Also remove redundant assignment of 0 after memset.
> > Cc: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
> > Cc: "J. Bruce Fields" <bfields@xxxxxxxxxxxx>
> > Cc: linux-nfs@xxxxxxxxxxxxxxx
> > Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx>
> > ---
> > Changes from v1 -- don't return -ENOMEM from a task thread because it is
> > not propagated to the task creator. Instead print an error message and return.
> Oops, just noticed there was a later version of this patch. Please
> disregard my earlier mail...
> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxx>
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/