Messages in this thread | | | Date | Mon, 15 Oct 2012 20:58:33 -0700 (PDT) | From | David Rientjes <> | Subject | Re: mpol_to_str revisited. |
| |
On Mon, 15 Oct 2012, KOSAKI Motohiro wrote:
> I don't think 80de7c3138ee9fd86a98696fd2cf7ad89b995d0a is right fix.
It's certainly not a complete fix, but I think it's a much better result of the race, i.e. we don't panic anymore, we simply fail the read() instead.
> we should > close a race (or kill remain ref count leak) if we still have.
As I mentioned earlier in the thread, the read() is done here on a task while only a reference to the task_struct is taken and we do not hold task_lock() which is required for task->mempolicy. Once that is fixed, mpol_to_str() should never be called for !task->mempolicy so it will never need to return -EINVAL in such a condition.
| |