diff options
author | Trond Myklebust <[email protected]> | 2013-11-12 17:24:36 -0500 |
---|---|---|
committer | Trond Myklebust <[email protected]> | 2013-11-12 18:56:57 -0500 |
commit | d07ba8422f1e58be94cc98a1f475946dc1b89f1b (patch) | |
tree | e83c021ca30a8625b7a4af139c2d7bf16bbfa348 /lib/test-string_helpers.c | |
parent | a6b31d18b02ff9d7915c5898c9b5ca41a798cd73 (diff) |
SUNRPC: Avoid deep recursion in rpc_release_client
In cases where an rpc client has a parent hierarchy, then
rpc_free_client may end up calling rpc_release_client() on the
parent, thus recursing back into rpc_free_client. If the hierarchy
is deep enough, then we can get into situations where the stack
simply overflows.
The fix is to have rpc_release_client() loop so that it can take
care of the parent rpc client hierarchy without needing to
recurse.
Reported-by: Jeff Layton <[email protected]>
Reported-by: Weston Andros Adamson <[email protected]>
Reported-by: Bruce Fields <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Cc: [email protected]
Signed-off-by: Trond Myklebust <[email protected]>
Diffstat (limited to 'lib/test-string_helpers.c')
0 files changed, 0 insertions, 0 deletions