Skip to content

Commit 6ba22d8

Browse files
committed
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 <[email protected]> Reviewed-by: Jeff Layton <[email protected]> cc: [email protected] cc: [email protected] cc: [email protected]
1 parent c6dc54d commit 6ba22d8

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

fs/netfs/objects.c

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -106,19 +106,22 @@ static void netfs_free_request(struct work_struct *work)
106106
void netfs_put_request(struct netfs_io_request *rreq, bool was_async,
107107
enum netfs_rreq_ref_trace what)
108108
{
109-
unsigned int debug_id = rreq->debug_id;
109+
unsigned int debug_id;
110110
bool dead;
111111
int r;
112112

113-
dead = __refcount_dec_and_test(&rreq->ref, &r);
114-
trace_netfs_rreq_ref(debug_id, r - 1, what);
115-
if (dead) {
116-
if (was_async) {
117-
rreq->work.func = netfs_free_request;
118-
if (!queue_work(system_unbound_wq, &rreq->work))
119-
BUG();
120-
} else {
121-
netfs_free_request(&rreq->work);
113+
if (rreq) {
114+
debug_id = rreq->debug_id;
115+
dead = __refcount_dec_and_test(&rreq->ref, &r);
116+
trace_netfs_rreq_ref(debug_id, r - 1, what);
117+
if (dead) {
118+
if (was_async) {
119+
rreq->work.func = netfs_free_request;
120+
if (!queue_work(system_unbound_wq, &rreq->work))
121+
BUG();
122+
} else {
123+
netfs_free_request(&rreq->work);
124+
}
122125
}
123126
}
124127
}

0 commit comments

Comments
 (0)