netfs: Make netfs_put_request() handle a NULL pointer
Make netfs_put_request() just return if given a NULL request pointer. Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> cc: linux-cachefs@redhat.com cc: linux-fsdevel@vger.kernel.org cc: linux-mm@kvack.org
This commit is contained in:
parent
c6dc54dd91
commit
6ba22d8d15
@ -106,19 +106,22 @@ static void netfs_free_request(struct work_struct *work)
|
||||
void netfs_put_request(struct netfs_io_request *rreq, bool was_async,
|
||||
enum netfs_rreq_ref_trace what)
|
||||
{
|
||||
unsigned int debug_id = rreq->debug_id;
|
||||
unsigned int debug_id;
|
||||
bool dead;
|
||||
int r;
|
||||
|
||||
dead = __refcount_dec_and_test(&rreq->ref, &r);
|
||||
trace_netfs_rreq_ref(debug_id, r - 1, what);
|
||||
if (dead) {
|
||||
if (was_async) {
|
||||
rreq->work.func = netfs_free_request;
|
||||
if (!queue_work(system_unbound_wq, &rreq->work))
|
||||
BUG();
|
||||
} else {
|
||||
netfs_free_request(&rreq->work);
|
||||
if (rreq) {
|
||||
debug_id = rreq->debug_id;
|
||||
dead = __refcount_dec_and_test(&rreq->ref, &r);
|
||||
trace_netfs_rreq_ref(debug_id, r - 1, what);
|
||||
if (dead) {
|
||||
if (was_async) {
|
||||
rreq->work.func = netfs_free_request;
|
||||
if (!queue_work(system_unbound_wq, &rreq->work))
|
||||
BUG();
|
||||
} else {
|
||||
netfs_free_request(&rreq->work);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user