Re: [PATCH] warnkill trivia 2/2

From: Jan Hudec (bulb@cimice.maxinet.cz)
Date: Mon Sep 02 2002 - 17:24:05 EST


On Sun, Sep 01, 2002 at 01:28:56PM +0200, Tomas Szepe wrote:
> > From: Tomas Szepe <szepe@pinerecords.com>
> > Date: Sun, 1 Sep 2002 12:56:43 +0200
> >
> > 2.4.20-pre5: prevent sparc32's atomic_read() from possibly discarding
> > const qualifiers from pointers passed as its argument.
> >
> > -static __inline__ int atomic_read(atomic_t *v)
> > +static __inline__ int atomic_read(const atomic_t *v)
> >
> > So the atomic_t is const is it? That's news to me.
> >
> > I think you mean something like "atomic_t const * v" which means the
> > pointer is constant, not the value.
>
> Precisely.
>

No, you don't. Having the pointer constant means the symbolic argument
can't be changed inside the function. But it means nothing at all to the
caller, because the caller's variable itself is never changed by the
call.

>
> diff -u linux-2.4.20-pre5/include/asm-sparc/atomic.h linux-2.4.20-pre5.n/include/asm-sparc/atomic.h
> --- linux-2.4.20-pre5/include/asm-sparc/atomic.h 2001-11-08 17:42:19.000000000 +0100
> +++ linux-2.4.20-pre5.n/include/asm-sparc/atomic.h 2002-09-01 12:29:36.000000000 +0200
> @@ -35,7 +35,7 @@
>
> #define ATOMIC_INIT(i) { (i << 8) }
>
> -static __inline__ int atomic_read(atomic_t *v)
> +static __inline__ int atomic_read(atomic_t const *v)
> {
> int ret = v->counter;
-------------------------------------------------------------------------------
                                                 Jan 'Bulb' Hudec <bulb@ucw.cz>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Sep 07 2002 - 22:00:21 EST