[lkml]   [2009]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: lib/klist.c: bit 0 in pointer can't be used as flag
    On Tue, Jan 13, 2009 at 10:10:30PM +0100, David Miller wrote:
    > From: Jesper Nilsson <>
    > Date: Tue, 13 Jan 2009 16:14:06 +0100
    > > The commit a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86
    > > (klist: don't iterate over deleted entries) introduces use of the
    > > low bit in a pointer to indicate if the knode is dead or not,
    > > assuming that this bit is always free.
    > >
    > > This is not true for all architectures, CRIS for example may align data
    > > on byte borders.
    > There are many other spots in the kernel where the low bits of a
    > pointer are hijacked as status bits. Lots of other things cannot
    > possible be working on CRIS because of this.

    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?

    It seems that rt_mutex uses the same trick (with the lowest 2bits)
    but AFAICT that's something we don't use on CRIS.

    /^JN - Jesper Nilsson
    Jesper Nilsson --

     \ /
      Last update: 2009-01-13 23:15    [W:0.020 / U:32.328 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site