Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [ARM32] panic when sshd responding




On Jun 19, 2008, at 9:55 AM, Chris Gilbert wrote:

On Thu, June 19, 2008 10:49 am, Andy Shevchenko wrote:
The last patch is wrong. There is some kind of lucky.

Yes, it is :) I discussed this with Matt, and we think the issue is that pmap_kenter_pa is being a bit too paranoid in trying to avoid cache alias
issues.  And that's what the KASSERT is trying to detect.

We think the right thing to do is assert there are no managed writeable mappings (which there shouldn't be as the loan switches the pages to read
only, and so flushes the data & write back cache)

Upon further thought, I think the socket loan code should use
pmap_enter/pmap_remove instead pmap_kenter_pa/pmap_kremove.

However, the current code has a risk that the double pmap_kenter_pa sets
the KENTER flag on the page, and pmap_kremove clears it, as there's no
reference counting.

And that would be bad if another pmap_kenter_pa happened to be done
with VM_PROT_WRITE.

Commenting out the KASSERT should make it work, but you might also have to
remove the KASSERT about KENTER as well in pmap_kremove.





Home | Main Index | Thread Index | Old Index