Messages in this thread | | | Date | Mon, 12 Aug 2002 11:21:16 -0300 (BRT) | From | Rik van Riel <> | Subject | Re: pte_chain leak in rmap code (2.5.31) |
| |
On Mon, 12 Aug 2002, Christian Ehrhardt wrote:
> Note the strange use of continue and break which both achieve the same! > What was meant to happen (judging from rmap-13c) is that we break > out of the for-Loop once SWAP_FAIL or SWAP_ERROR is returned from > try_to_unmap_one. However, this doesn't happen and a subsequent call > to pte_chain_free will use the wrong value for prev_pc.
Excellent hunting! Thank you!
Your fix should work too, although in my opinion it's a little bit too subtle, so I've changed it into:
case SWAP_FAIL: ret = SWAP_FAIL; goto give_up; case SWAP_ERROR: ret = SWAP_ERROR; goto give_up; } } give_up:
This is going into 2.4-rmap and 2.5 right now.
thanks,
Rik -- Bravely reimplemented by the knights who say "NIH".
http://www.surriel.com/ http://distro.conectiva.com/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |