Re: ptrace "fix" breaks ia64

From: Roland McGrath
Date: Wed Jul 07 2004 - 15:48:46 EST


> The problem is due to the fact that the gate page on ia64 really does
> live in the kernel-mapped segment (as your original code correctly
> assumed). Furthermore, pgd_offset_k() is different from pgd_offset()
> since the kernel-mapped segment gets a full page-directory inside a
> single region, whereas user-space regions get only 1/8th of a
> page-directory, so it's not OK to use pgd_offset() in lieu of
> pgd_offset().

Sorry. I skimmed all the code and comments for pgd_offset_k and thought at
the time that it was strictly an optimized shortcut for pgd_offset.
Clearly I did not understand the ia64 code.

> I suppose we could have a new macro pgd_offset_gate() or something
> along those lines to accommodate platform-differences in where the
> gage page lives.

That seems like the reasonable thing to do. I considered just putting all
that logic into arch-specific code, joining with the get_gate_vma code.
But that would leave x86_64 requiring duplication of the generic version.
At least with the various arch cases around now, just adding pgd_offset_gate
is the thing that will allow maximal code sharing.


Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/