mirror of
https://github.com/torvalds/linux.git
synced 2024-11-13 23:51:39 +00:00
dm vdo: don't refer to dedupe_context after releasing it
Clear the dedupe_context pointer in a data_vio whenever ownership of the context is lost, so that vdo can't examine it accidentally. Signed-off-by: Ken Raeburn <raeburn@redhat.com> Signed-off-by: Matthew Sakai <msakai@redhat.com> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
This commit is contained in:
parent
47ac09b91b
commit
0808ebf2f8
@ -729,6 +729,7 @@ static void process_update_result(struct data_vio *agent)
|
||||
!change_context_state(context, DEDUPE_CONTEXT_COMPLETE, DEDUPE_CONTEXT_IDLE))
|
||||
return;
|
||||
|
||||
agent->dedupe_context = NULL;
|
||||
release_context(context);
|
||||
}
|
||||
|
||||
@ -1648,6 +1649,7 @@ static void process_query_result(struct data_vio *agent)
|
||||
|
||||
if (change_context_state(context, DEDUPE_CONTEXT_COMPLETE, DEDUPE_CONTEXT_IDLE)) {
|
||||
agent->is_duplicate = decode_uds_advice(context);
|
||||
agent->dedupe_context = NULL;
|
||||
release_context(context);
|
||||
}
|
||||
}
|
||||
@ -2321,6 +2323,7 @@ static void timeout_index_operations_callback(struct vdo_completion *completion)
|
||||
* send its requestor on its way.
|
||||
*/
|
||||
list_del_init(&context->list_entry);
|
||||
context->requestor->dedupe_context = NULL;
|
||||
continue_data_vio(context->requestor);
|
||||
timed_out++;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user