================================================================================
You have gathered the following context from analysing a Linux kernel crash report. Your task is to reason about which pieces of context are relevant to completely understand and fix the bug. You should select all the pieces of context that are relevant to the bug. In case you are doubtful about some piece of context, you should still mark it as relevant. Your guiding principle is that if someone else is given just the crash report and the pieces of context you have marked as relevant, they should be able to understand all possible root causes of the crash, and propose fixes for the bug.

================================================================================

POTENTIALLY BUGGY FUNCTIONS:
<context id={id1}>
File: {file1}           Function: {function}           Lines {start1} to {end1}
{definition1}
</context>


================================================================================

SYMBOL DEFINITIONS:

<context id={id2}>
File: {file2}           Symbol: {symbol}             Lines {start2} to {end2}
{definition2}
</context>


================================================================================

SEARCH QUERIES AND RESULTS:

===
Query: {query}
Results:

<context id={id3}>
{result1}
</context>

<context id={id4}>
{result2}
</context>

...

===

...

================================================================================

Inside <explanation> tags, provide a detailed reasoning about the bug, why each piece of context is relevant, and how different pieces of context are connected to each other. Then, list all the context ids that you have selected as relevant to understanding and fixing the bug inside <contexts> tags. If you are unsure, err on the side of including context in your relevant selection for safety. You should provide a comma-separated list of ids without any additional formatting.