Messages in this thread |  | | | Date | Wed, 14 Jan 2009 00:33:23 +0000 (GMT) | | From | Hugh Dickins <> | | Subject | Re: lib/klist.c: bit 0 in pointer can't be used as flag |
| |
On Tue, 13 Jan 2009, David Miller wrote: > From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> > Date: Wed, 14 Jan 2009 07:40:19 +0900 > > > > It may be that we've worked around the other spots, although I haven't > > > seen anything like that, we might just have been lucky until now. > > > > > > Can you recall another place where this trick is used? > > > > rmap. > > Don't CRIS use mmu? > > I'm beginning to suspect the issue is only with objects > in the kernel image itself. Dynamically allocated memory > is properly aligned and therefore the "low bit status bits > in pointer" trick works.
Yes: I don't think we fully realized that when adding the __attribute__((aligned(sizeof(long)))) to struct address_space (so the PAGE_MAPPING_ANON bit didn't mess up on CRIS), but the only instance which actually gave a problem was the peculiar struct swapper_space declared in mm/swap_state.c. Hugh
|  |