9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: smiley@zenzebra.mv.com
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] RESOLVED: recoving important header file rudely
Date: Tue,  1 Feb 2011 17:51:23 +0000	[thread overview]
Message-ID: <86ei7ry76s.fsf@cmarib.ramside> (raw)
In-Reply-To: <AANLkTi=-HGocKSwQpBVg2TfygYUk5khG8dsWvmnoOc9y@mail.gmail.com> (ron minnich's message of "Mon, 31 Jan 2011 22:45:49 -0800")

ron minnich <rminnich@gmail.com> writes:

>> term% cp abc* abc* x
>> # watch the cp executable suicide
>> # now, make SURE there's nothing in this rio window that you want to keep...
>> term% rm abc*
>> # watch the rio window go bye bye!
>>
>
> it's not cp and it's not rio. I think you need to diagnose this a bit
> better. If you look a bit more at it I think you'll see what's going
> on.

I know the cp suicide is a problem in cp, because I designed the test
case to exercise a buffer overflow I found at /sys/src/cmd/cp.c:77,93

    void
    copy(char *from, char *to, int todir)
    {
            Dir *dirb, dirt;
            char name[256];
            int fdf, fdt, mode;

            if(todir){
                    char *s, *elem;
                    elem=s=from;
                    while(*s++)
                            if(s[-1]=='/')
                                    elem=s;
                    sprint(name, "%s/%s", to, elem);
                    to=name;
            }


The bug in rc's globbing was just a fun "bonus" I discovered while
trying to clean up after the cp test.  :)

> but I have to wonder if you've been inside glibc lately. I don't think

Agreed.  glibc has become quite ugly.

> There are other, very good paradigms that the code does use, such as
> lock-free threads.

Threads are one great paradigm that Plan 9 adopted.  Native UTF-8 is
another.  However, the Plan 9 code (at last that under /sys/src/cmd)
doesn't seem to make use of iterators, string objects (or even
object-orientation), modern string parsing routines, etc.  All of these
programming techniques can free the programmer from having to think
about byte-level boundary conditions and focus on the higher-level
operation of the code.  Having to tend to such details over and over
again leads to lots of missed boundary conditions (like in cp.c and
plan9.c), application instability, and security vulnerabilities
(remember the factotum exploit?)

It's probably worth noting that higher-level code abstractions are
probably more useful in userspace code than in the kernel.  This is
partly for reasons of performance, and partly because the kernel is so
much closer to the hardware.  The Linux kernel, for example, is still
largely written in old UNIX-style C.  It wasn't even until series 2.5 or
so that the Linux kernel became palpably object-oriented.

> The common problem is that people come to Plan 9 and view it through
> the prism of their experiences with other systems such as Linux.

Yes, I am familiar with the notion that the Plan 9 way is very different
from other ways, such as the Linux way.  One of the things that I enjoy
about Plan 9 is that it makes me feel naive again.  :)

--
+---------------------------------------------------------------+
|E-Mail: smiley@zenzebra.mv.com             PGP key ID: BC549F8B|
|Fingerprint: 9329 DB4A 30F5 6EDA D2BA  3489 DAB7 555A BC54 9F8B|
+---------------------------------------------------------------+



  reply	other threads:[~2011-02-01 17:51 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-29 22:47 [9fans] HELP: recoving important header file rudely clobbered by mk smiley
2011-01-29 22:54 ` erik quanstrom
2011-01-29 22:58 ` Steve Simon
2011-01-30  1:16   ` smiley
2011-01-30  4:07     ` John Floren
2011-01-30  4:49       ` erik quanstrom
2011-01-30  4:56         ` John Floren
2011-02-01  6:22       ` smiley
2011-02-01  6:47         ` Federico G. Benavento
2011-02-01  6:54           ` John Floren
2011-01-29 23:24 ` [9fans] RESOLVED: " smiley
2011-01-29 23:41   ` Steve Simon
2011-01-30 14:19     ` [9fans] RESOLVED: recoving important header file rudely Richard Miller
2011-01-30 14:28       ` erik quanstrom
2011-01-31 18:02       ` smiley
2011-01-31 22:12         ` Steve Simon
2011-02-01  6:02           ` smiley
2011-02-01  6:26             ` Lucio De Re
2011-02-01  7:07               ` smiley
2011-02-01  7:22                 ` Lucio De Re
2011-02-01 13:45                 ` erik quanstrom
2011-02-01 16:24                 ` Charles Forsyth
2011-02-01  6:45             ` ron minnich
2011-02-01 17:51               ` smiley [this message]
2011-02-01 18:33                 ` ron minnich
2011-02-01 19:16                   ` jimmy frasche
2011-02-02  0:28                   ` smiley
2011-02-02  0:42                     ` erik quanstrom
2011-02-02  0:47                     ` ron minnich
2011-02-02  5:14                       ` [9fans] Modern development language for Plan 9, WAS: " smiley
2011-02-02  5:37                         ` Scott Sullivan
2011-02-02  5:38                         ` EBo
2011-02-02 15:54                           ` Anthony Sorace
2011-02-02 12:54                         ` erik quanstrom
2011-02-02 13:48                           ` Devon H. O'Dell
2011-02-02 17:47                           ` David Leimbach
2011-02-02 17:53                             ` erik quanstrom
2011-02-02 18:07                             ` tlaronde
2011-02-02 18:26                               ` David Leimbach
2011-02-02 18:48                                 ` tlaronde
2011-02-02 19:26                                   ` Nick LaForge
2011-02-03  0:39                                 ` Charles Forsyth
2011-02-02 17:44                         ` David Leimbach
2011-02-02 17:50                           ` erik quanstrom
2011-02-02 18:15                             ` Jonathan Cast
2011-02-02 18:21                               ` erik quanstrom
2011-02-02 18:36                                 ` David Leimbach
2011-02-02 18:38                                   ` erik quanstrom
2011-02-02 18:46                                     ` David Leimbach
2011-02-02 19:15                                 ` Jonathan Cast
2011-02-02 19:31                                   ` erik quanstrom
2011-02-02 19:48                                     ` Jeff Sickel
2011-02-02 20:07                                     ` Jonathan Cast
2011-02-02 20:11                                       ` erik quanstrom
2011-02-02 20:22                                         ` Jonathan Cast
2011-02-02 18:21                             ` David Leimbach
2011-02-03 10:00                             ` [9fans] Modern development language for Plan 9, Greg Comeau
2011-02-02 18:03                           ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely erik quanstrom
2011-02-02 18:30                             ` David Leimbach
2011-02-18  5:23                         ` ron minnich
2011-02-18  5:34                           ` Paul Lalonde
2011-02-18 13:29                             ` erik quanstrom
2011-02-18 13:45                               ` dexen deVries
2011-02-18 14:54                                 ` David Leimbach
2011-02-18 15:15                                 ` Devon H. O'Dell
2011-02-18 16:11                                   ` erik quanstrom
2011-02-18 16:28                                     ` Devon H. O'Dell
2011-02-18 16:49                                       ` erik quanstrom
2011-02-18 17:10                                         ` Devon H. O'Dell
2011-02-18 17:32                                           ` erik quanstrom
2011-02-18 17:44                                             ` ron minnich
2011-02-18 19:28                                               ` Devon H. O'Dell
2011-02-18 19:33                                                 ` erik quanstrom
2011-02-18 19:49                                                   ` Devon H. O'Dell
2011-02-18 18:43                                         ` Joseph Stewart
2011-02-18 17:05                                       ` andrey mirtchovski
2011-02-18 17:12                                         ` Devon H. O'Dell
2011-02-18 16:53                                   ` dexen deVries
2011-02-18 16:59                                     ` Devon H. O'Dell
2011-02-18 17:07                                       ` erik quanstrom
2011-02-18 17:11                                         ` Devon H. O'Dell
2011-02-18 17:21                                           ` erik quanstrom
2011-02-18 17:52                                             ` John Floren
2011-02-18 18:46                                               ` Rob Pike
2011-02-18 19:15                                                 ` Bakul Shah
2011-02-18 19:26                                                   ` erik quanstrom
2011-02-18 19:46                                                     ` Bakul Shah
2011-02-18 20:15                                                       ` erik quanstrom
2011-02-18 21:06                                                         ` John Floren
2011-02-18 22:21                                                           ` Bakul Shah
2011-02-18 23:39                                                             ` [9fans] Modern development language for Plan 9, Lyndon Nerenberg (VE6BBM/VE7TFX)
2011-02-19 10:26                                                             ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Steve Simon
2011-02-19 15:09                                                             ` erik quanstrom
2011-02-19 20:09                                                               ` Bakul Shah
2011-02-19 21:15                                                                 ` erik quanstrom
2011-02-20 23:49                                                                   ` Bakul Shah
2011-02-21 14:47                                                                     ` erik quanstrom
2011-02-19 16:57                                                             ` Skip Tavakkolian
2011-02-19 15:36                                                           ` erik quanstrom
2011-02-24 10:09                                                       ` [9fans] Modern development language for Plan 9, Greg Comeau
2011-02-18 19:35                                                   ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely David Leimbach
2011-02-18 20:10                                                     ` Bakul Shah
2011-02-18 21:03                                                       ` ron minnich
2011-02-18 23:55                                                     ` Federico G. Benavento
2011-02-24 10:09                                                       ` [9fans] Modern development language for Plan 9, Greg Comeau
2011-02-18 19:15                                                 ` [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Devon H. O'Dell
2011-02-21  5:08                                                   ` smiley
2011-02-18 17:16                                         ` Russ Cox
2011-02-18 17:12                                       ` andrey mirtchovski
2011-02-19 10:34                                   ` Steve Simon
2011-02-19 17:25                                     ` dexen deVries
2011-02-02  4:19                 ` [9fans] " Federico G. Benavento
2011-02-02 19:15                   ` smiley
2011-02-02 21:47                     ` ron minnich
2011-02-03  3:35                       ` smiley
2011-02-03  4:32                         ` andrey mirtchovski
2011-02-03  6:15                         ` Lucio De Re
2011-02-03  7:54                         ` dexen deVries
2011-02-03  9:48                           ` Charles Forsyth
2011-02-03 13:01                             ` erik quanstrom
2011-02-03 13:40                               ` roger peppe
2011-02-03 13:59                                 ` erik quanstrom
2011-02-03 14:16                                   ` roger peppe
2011-02-03 14:17                                     ` erik quanstrom
2011-02-03 14:24                                       ` roger peppe
2011-02-03 14:38                                     ` Charles Forsyth
2011-02-03 18:45                         ` Skip Tavakkolian
2011-02-03 16:23                     ` Noah Evans
2011-02-01  8:25             ` Federico G. Benavento
2011-02-01  8:37             ` Akshat Kumar
2011-02-01  9:02               ` Federico G. Benavento
2011-02-01 14:11             ` erik quanstrom
     [not found]             ` <AANLkTimYW2wofCNn1WB09cTVrQ69QxjPMZqY=Qrri5Xi@mail.gmail.com>
     [not found]               ` <AANLkTikM+LcEzaHMjWoSGubNnzXx-5h_bprQcJsrGnnG@mail.gmail.com>
     [not found]                 ` <AANLkTim4mPBHv8R=2XwdWaBc_aPHyRjj_CbdkgC8KZbd@mail.gmail.com>
     [not found]                   ` <AANLkTi=9HkdLfNLFWxddDkHWC8w_uWKPEnWQ4r2gD7an@mail.gmail.com>
     [not found]                     ` <AANLkTikjYkyW75PLm8z65=1+gTLUZLxG-xcN9wkQVuPr@mail.gmail.com>
     [not found]                       ` <AANLkTimLMLsWWQtVPZwGb0qwFxjbpy05qVZHDv92LfYY@mail.gmail.com>
     [not found]                         ` <AANLkTimoXQLMpciQh_tLRfS5ht8ONFvqz2QXEC0td2G4@mail.gmail.com>
     [not found]                           ` <AANLkTimDXcriCuejuYZ2OixXVjoYckB-hcy9+FkMsjcS@mail.gmail.com>
     [not found]                             ` <AANLkTikmQuhyXh6qhgM4hgWK2N-EhebLkWtpf9OnUkx1@mail.gmail.com>
2011-02-01 17:20                               ` Jacob Todd
2011-02-01  6:54 ` [9fans] HELP: recoving important header file rudely clobbered by mk ron minnich
2011-02-01 14:49   ` erik quanstrom
2011-02-01 14:58     ` Eric Van Hensbergen
2011-02-01 15:18       ` erik quanstrom
2011-02-01 15:37         ` Eric Van Hensbergen
2011-02-01 15:45           ` erik quanstrom
2011-02-01 16:31             ` Eric Van Hensbergen
2011-02-01 16:45               ` erik quanstrom
2011-02-01 16:59                 ` ron minnich
2011-02-02  3:46                   ` Federico G. Benavento
2011-02-01 16:41     ` ron minnich
2011-02-01 16:25   ` Charles Forsyth
2011-02-01  7:01 ` Federico G. Benavento
2011-02-02 19:05   ` smiley
2011-02-03 10:16     ` [9fans] HELP: recoving important header file rudely clobbered Richard Miller
2011-02-03 10:24       ` dexen deVries
2011-02-03 10:27       ` dexen deVries
2011-02-03 10:23     ` Richard Miller
2011-02-03 10:37       ` roger peppe
2011-02-03 10:48         ` Lucio De Re

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=86ei7ry76s.fsf@cmarib.ramside \
    --to=smiley@zenzebra.mv.com \
    --cc=9fans@9fans.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).