comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: C's trikery semantic opens up backdoor in new Linux kernel
Date: Fri, 14 Nov 2003 10:47:47 -0500
Date: 2003-11-14T10:47:47-05:00	[thread overview]
Message-ID: <iPmdnYL7tN64ZCmiRVn-jw@comcast.com> (raw)
In-Reply-To: <botf2c$1i2eq5$1@ID-175126.news.uni-berlin.de>

Vinzent 'Gadget' Hoefler wrote:

>>>For instance considering the simple rule that in a comparison with a
>>>
>>>constant value you should always state the constant first:
>>>|if ((__WCLONE|__WALL) == options) && (0 = current->uid))
>>>
>>>wouldn't compile, either.
>>
>>No, but do you really think such a style could be enforced in the linux
>>kernel community?

> No. And you? Do you really think that the linux kernel community would
> like the idea of using a *function* to get/set a plain simple integer
> variable? I already hear them scream: "It would be too inefficient.
> Especially in a *kernel*!" ;-)

Bad example here.  GCC will print a warning message about assignment in 
condition clauses unless the assignment is enclosed in parentheses. So:

if (options == (__WCLONE|__WALL) && current->uid = 0)

would generate a compiler warning message about the assignment to 
current -> uid.  The Linux kernel coding standards make "redundant" 
parentheses in conditions illegal for exactly that reason, and one of 
the things that made it clear that this was an intentional attempt to 
get root was the "extra" parentheses.

-- 
                                           Robert I. Eachus

100% Ada, no bugs--the only way to create software.




  parent reply	other threads:[~2003-11-14 15:47 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-12  3:17 C's trikery semantic opens up backdoor in new Linux kernel Adrian Hoe
2003-11-12  4:26 ` Stephane Richard
2003-11-12  5:13   ` J Cusick
2003-11-12  7:18     ` Vinzent 'Gadget' Hoefler
2003-11-12  7:50       ` Duncan Sands
2003-11-12 12:08         ` Vinzent 'Gadget' Hoefler
2003-11-12 13:38           ` Duncan Sands
2003-11-12 14:09             ` Vinzent 'Gadget' Hoefler
2003-11-13 21:04               ` Craig Carey
2003-11-14  6:45                 ` Freejack
2003-11-14  8:33                 ` Erlo Haugen
2003-11-14  9:44                   ` Vinzent 'Gadget' Hoefler
2003-11-14 10:16                     ` Dmitry A. Kazakov
2003-11-25 10:06                       ` Craig Carey
2003-11-25 11:20                         ` Dmitry A. Kazakov
2003-11-14 15:31                 ` Robert I. Eachus
2003-11-14 13:12               ` Georg Bauhaus
2003-11-14 13:31                 ` Duncan Sands
2003-11-14 14:56                 ` Vinzent 'Gadget' Hoefler
2003-11-14 15:08                   ` Georg Bauhaus
2003-11-14 15:38                     ` Duncan Sands
2003-11-14 17:57                       ` Georg Bauhaus
2003-11-14 15:47               ` Robert I. Eachus [this message]
2003-11-14 16:38                 ` Vinzent 'Gadget' Hoefler
2003-11-19  4:13             ` Dave Thompson
2003-11-21 15:34               ` Martin Krischik
2003-11-23  2:20                 ` Hyman Rosen
2003-11-27  4:22                 ` Dave Thompson
2003-11-28 14:01                   ` Hyman Rosen
2003-11-12 17:37       ` tmoran
2003-11-12 18:03       ` Warren W. Gay VE3WWG
2003-11-12  8:51     ` Adrian Hoe
2003-11-12 12:32       ` Preben Randhol
2003-11-13  5:50         ` Chad R. Meiners
2003-11-12 22:59       ` Wes Groleau
2003-11-14  3:31         ` Adrian Hoe
2003-11-14 11:00           ` Dmytry Lavrov
2003-11-15  5:00             ` Adrian Hoe
2003-11-15  5:02             ` Adrian Hoe
2003-11-16 11:29               ` Dmytry Lavrov
2003-11-17 17:07                 ` Warren W. Gay VE3WWG
2003-11-16 11:35             ` Dmytry Lavrov
2003-11-15 19:30           ` Wes Groleau
2003-11-12  8:52   ` Adrian Hoe
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox