All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: "Richard B. Johnson" <root@chaos.analogic.com>
Cc: "P. Benie" <pjb1008@eng.cam.ac.uk>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Use NULL instead of integer 0 in security/selinux/
Date: Sat, 10 Jul 2004 09:09:58 +0200	[thread overview]
Message-ID: <20040710070958.GH20947@dualathlon.random> (raw)
In-Reply-To: <Pine.LNX.4.53.0407081030320.21855@chaos>

On Thu, Jul 08, 2004 at 10:32:32AM -0400, Richard B. Johnson wrote:
> On Thu, 8 Jul 2004, P. Benie wrote:
> > the integer 0 and null pointers are not the same, the compiler will
> > perform the appropriate conversion for you, so it is always correct to
> > define NULL as (void *)0.
> 
> That's NOT what is says. It states that a NULL pointer is converted to
> the appropriate type before any comparison is made. It does NOT say
> that 0 is a valid null-pointer.

0 when casted or assigned to a pointer will be converted to the null
pointer value by the compiler, that's why doing !ptr is equivalent to
ptr == NULL, even if ptr points to address 0xffffffff virtual in
reality. Still NULL is set to (void *) 0, or alternatively (void *) -1UL
(thought the latter I'm not 100% sure but I think it'll work in such a
case).

It's mostly theory though, I've never seen an arch with a compiler with
a null pointer not actually meaning virtual address 0UL (that's why we
used a C-breaking #define NULL ((void*)-1UL) once we needed it).

  parent reply	other threads:[~2004-07-10  7:10 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-07 19:25 [PATCH] Use NULL instead of integer 0 in security/selinux/ Chris Wright
2004-07-08  3:12 ` Herbert Xu
2004-07-08  3:27   ` David S. Miller
2004-07-08  3:43     ` Miles Bader
2004-07-08  5:22       ` Linus Torvalds
2004-07-08  5:35         ` Miles Bader
2004-07-08 15:58           ` Linus Torvalds
2004-07-08 16:23             ` Dave Jones
2004-07-08 17:57               ` Geert Uytterhoeven
2004-07-09 11:23             ` Roman Zippel
2004-07-10 19:41               ` Geert Uytterhoeven
2004-07-11 10:29                 ` Geert Uytterhoeven
2004-07-11 10:54                   ` viro
2004-07-11 16:14                   ` Linus Torvalds
2004-07-11 20:05                 ` H. Peter Anvin
2004-07-12 15:58                   ` Florian Weimer
2004-07-12 16:34                     ` H. Peter Anvin
2004-07-08 11:18         ` Herbert Xu
2004-07-08 13:10           ` Andreas Schwab
2004-07-08 13:56             ` Herbert Xu
2004-07-08 14:13               ` Andreas Schwab
2004-07-08  5:19   ` Linus Torvalds
2004-07-08 16:09     ` Timothy Miller
2004-07-08 16:21       ` Linus Torvalds
2004-07-08 16:27         ` Linus Torvalds
2004-07-08 16:52         ` Timothy Miller
     [not found]           ` <200407090056.51084.vda@port.imtp.ilyichevsk.odessa.ua>
2004-07-12 15:17             ` Timothy Miller
2004-07-12 16:12               ` Andreas Schwab
2004-07-12 16:51                 ` Andrew Pimlott
2004-07-15 16:15                 ` Timothy Miller
2004-07-09 20:36     ` Eric W. Biederman
2004-07-09 23:49       ` Paul Jackson
2004-07-10  1:43         ` Kyle Moffett
2004-07-10  1:47           ` Herbert Xu
2004-07-10 21:53             ` Alexandre Oliva
2004-07-10  6:18       ` Linus Torvalds
2004-07-10  6:23         ` Linus Torvalds
2004-07-10  6:58           ` Andrea Arcangeli
2004-07-10  9:48             ` Eric W. Biederman
2004-07-10 15:39           ` Roland Dreier
2004-07-11  2:45             ` Eyal Lebedinsky
2004-07-11 21:19             ` Olaf Titz
2004-07-10  9:39         ` Eric W. Biederman
2004-07-10  9:56           ` Herbert Xu
2004-07-11 21:47           ` Olaf Titz
2004-07-13  8:43             ` Geert Uytterhoeven
2004-07-14  3:12               ` Alexandre Oliva
2004-07-13 18:53             ` Elladan
2004-07-14  3:15             ` Alexandre Oliva
2004-07-10 12:11         ` Roman Zippel
2004-07-10 21:59         ` Alexandre Oliva
2004-07-11  4:40           ` Linus Torvalds
2004-07-10  9:31       ` Eyal Lebedinsky
2004-07-10 22:07         ` Alexandre Oliva
2004-07-10 23:52         ` Paul Jackson
2004-07-11  0:12           ` Tim Wright
2004-07-12 22:03       ` Bill Davidsen
2004-07-10  8:18     ` Florian Weimer
2004-07-08 11:10   ` Richard B. Johnson
2004-07-08 11:28     ` Michael Buesch
2004-07-08 11:44       ` Martin Zwickel
2004-07-08 12:06         ` Michael Buesch
2004-07-08 12:38           ` [OT] NULL versus 0 (Re: [PATCH] Use NULL instead of integer 0 in security/selinux/) Kari Hurtta
2004-07-08 12:42             ` Michael Buesch
2004-07-08 12:57               ` Kari Hurtta
2004-07-08 15:25                 ` Herbert Xu
2004-07-10  8:22           ` [PATCH] Use NULL instead of integer 0 in security/selinux/ Florian Weimer
2004-07-08 11:43     ` P. Benie
2004-07-08 14:32       ` Richard B. Johnson
2004-07-08 15:00         ` Michael Poole
2004-07-08 15:30           ` P. Benie
2004-07-08 15:55           ` Andreas Schwab
2004-07-10  7:09         ` Andrea Arcangeli [this message]
2004-07-10  7:02       ` Andrea Arcangeli
2004-07-10  6:59     ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040710070958.GH20947@dualathlon.random \
    --to=andrea@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pjb1008@eng.cam.ac.uk \
    --cc=root@chaos.analogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.