lkml.org 
[lkml]   [2009]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: lib/klist.c: bit 0 in pointer can't be used as flag
On Tue, Jan 13, 2009 at 11:45 PM, David Miller <davem@davemloft.net> 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.

Perhaps using a pointerhackalign trick on this structure where
#define pointerhackalign(x) __attribute__ ((aligned (x)))
and declare
struct klist_node {
...
} pointerhackalign(2);

Because __attribute__ ((aligned (x))) could only increase alignment
it will safe to do that and serve as documentation purpose :)

Regards

Bastien


\
 
 \ /
  Last update: 2009-01-14 00:17    [W:0.140 / U:0.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site