Tillbaka till svenska Fidonet
English   Information   Debug  
OS2BBS   0/787
OS2DOSBBS   0/580
OS2HW   0/42
OS2INET   0/37
OS2LAN   0/134
OS2PROG   0/36
OS2REXX   0/113
OS2USER-L   207
OS2   0/4786
OSDEBATE   5100/18996
PASCAL   0/490
PERL   0/457
PHP   0/45
POINTS   0/405
POLITICS   0/29554
POL_INC   0/14731
PSION   103
R20_ADMIN   1121
R20_AMATORRADIO   0/2
R20_BEST_OF_FIDONET   13
R20_CHAT   0/893
R20_DEPP   0/3
R20_DEV   399
R20_ECHO2   1379
R20_ECHOPRES   0/35
R20_ESTAT   0/719
R20_FIDONETPROG...
...RAM.MYPOINT
  0/2
R20_FIDONETPROGRAM   0/22
R20_FIDONET   0/248
R20_FILEFIND   0/24
R20_FILEFOUND   0/22
R20_HIFI   0/3
R20_INFO2   3218
R20_INTERNET   0/12940
R20_INTRESSE   0/60
R20_INTR_KOM   0/99
R20_KANDIDAT.CHAT   42
R20_KANDIDAT   28
R20_KOM_DEV   112
R20_KONTROLL   0/13270
R20_KORSET   0/18
R20_LOKALTRAFIK   0/24
R20_MODERATOR   0/1852
R20_NC   76
R20_NET200   245
R20_NETWORK.OTH...
...ERNETS
  0/13
R20_OPERATIVSYS...
...TEM.LINUX
  0/44
R20_PROGRAMVAROR   0/1
R20_REC2NEC   534
R20_SFOSM   0/340
R20_SF   0/108
R20_SPRAK.ENGLISH   0/1
R20_SQUISH   107
R20_TEST   2
R20_WORST_OF_FIDONET   12
RAR   0/9
RA_MULTI   106
RA_UTIL   0/162
REGCON.EUR   0/2056
REGCON   0/13
SCIENCE   0/1206
SF   0/239
SHAREWARE_SUPPORT   0/5146
SHAREWRE   0/14
SIMPSONS   0/169
STATS_OLD1   0/2539.065
STATS_OLD2   0/2530
STATS_OLD3   0/2395.095
STATS_OLD4   0/1692.25
SURVIVOR   0/495
SYSOPS_CORNER   0/3
SYSOP   0/84
TAGLINES   0/112
TEAMOS2   0/4530
TECH   0/2617
TEST.444   0/105
TRAPDOOR   0/19
TREK   0/755
TUB   0/290
UFO   0/40
UNIX   0/1316
USA_EURLINK   0/102
USR_MODEMS   0/1
VATICAN   0/2740
VIETNAM_VETS   0/14
VIRUS   0/378
VIRUS_INFO   0/201
VISUAL_BASIC   0/473
WHITEHOUSE   0/5187
WIN2000   0/101
WIN32   0/30
WIN95   0/4288
WIN95_OLD1   0/70272
WINDOWS   0/1517
WWB_SYSOP   0/419
WWB_TECH   0/810
ZCC-PUBLIC   0/1
ZEC   4

 
4DOS   0/134
ABORTION   0/7
ALASKA_CHAT   0/506
ALLFIX_FILE   0/1313
ALLFIX_FILE_OLD1   0/7997
ALT_DOS   0/152
AMATEUR_RADIO   0/1039
AMIGASALE   0/14
AMIGA   0/331
AMIGA_INT   0/1
AMIGA_PROG   0/20
AMIGA_SYSOP   0/26
ANIME   0/15
ARGUS   0/924
ASCII_ART   0/340
ASIAN_LINK   0/651
ASTRONOMY   0/417
AUDIO   0/92
AUTOMOBILE_RACING   0/105
BABYLON5   0/17862
BAG   135
BATPOWER   0/361
BBBS.ENGLISH   0/382
BBSLAW   0/109
BBS_ADS   0/5290
BBS_INTERNET   0/507
BIBLE   0/3563
BINKD   0/1119
BINKLEY   0/215
BLUEWAVE   0/2173
CABLE_MODEMS   0/25
CBM   0/46
CDRECORD   0/66
CDROM   0/20
CLASSIC_COMPUTER   0/378
COMICS   0/15
CONSPRCY   0/899
COOKING   32896
COOKING_OLD1   0/24719
COOKING_OLD2   0/40862
COOKING_OLD3   0/37489
COOKING_OLD4   0/35496
COOKING_OLD5   9370
C_ECHO   0/189
C_PLUSPLUS   0/31
DIRTY_DOZEN   0/201
DOORGAMES   0/2056
DOS_INTERNET   0/196
duplikat   6002
ECHOLIST   0/18295
EC_SUPPORT   0/318
ELECTRONICS   0/359
ELEKTRONIK.GER   1534
ENET.LINGUISTIC   0/13
ENET.POLITICS   0/4
ENET.SOFT   0/11701
ENET.SYSOP   33903
ENET.TALKS   0/32
ENGLISH_TUTOR   0/2000
EVOLUTION   0/1335
FDECHO   0/217
FDN_ANNOUNCE   0/7068
FIDONEWS   24126
FIDONEWS_OLD1   0/49742
FIDONEWS_OLD2   0/35949
FIDONEWS_OLD3   0/30874
FIDONEWS_OLD4   0/37224
FIDO_SYSOP   12852
FIDO_UTIL   0/180
FILEFIND   0/209
FILEGATE   0/212
FILM   0/18
FNEWS_PUBLISH   4408
FN_SYSOP   41678
FN_SYSOP_OLD1   71952
FTP_FIDO   0/2
FTSC_PUBLIC   0/13599
FUNNY   0/4886
GENEALOGY.EUR   0/71
GET_INFO   105
GOLDED   0/408
HAM   0/16070
HOLYSMOKE   0/6791
HOT_SITES   0/1
HTMLEDIT   0/71
HUB203   466
HUB_100   264
HUB_400   39
HUMOR   0/29
IC   0/2851
INTERNET   0/424
INTERUSER   0/3
IP_CONNECT   719
JAMNNTPD   0/233
JAMTLAND   0/47
KATTY_KORNER   0/41
LAN   0/16
LINUX-USER   0/19
LINUXHELP   0/1155
LINUX   0/22092
LINUX_BBS   0/957
mail   18.68
mail_fore_ok   249
MENSA   0/341
MODERATOR   0/102
MONTE   0/992
MOSCOW_OKLAHOMA   0/1245
MUFFIN   0/783
MUSIC   0/321
N203_STAT   926
N203_SYSCHAT   313
NET203   321
NET204   69
NET_DEV   0/10
NORD.ADMIN   0/101
NORD.CHAT   0/2572
NORD.FIDONET   189
NORD.HARDWARE   0/28
NORD.KULTUR   0/114
NORD.PROG   0/32
NORD.SOFTWARE   0/88
NORD.TEKNIK   0/58
NORD   0/453
OCCULT_CHAT   0/93
Möte OSDEBATE, 18996 texter
 lista första sista föregående nästa
Text 6767, 133 rader
Skriven 2005-08-28 01:39:38 av Ellen K. (1:379/45)
   Kommentar till text 6732 av Mike '/m' (1:379/45)
Ärende: Re: malloc() and free() redux
=====================================
From: Ellen K. <72322.1016@compuserve.com>

The "guard page" idea sounds like what Tony keeps talking about.

On Fri, 26 Aug 2005 20:44:52 -0400, Mike '/m' <mike@barkto.com> wrote in
message <5ldvg1tlt8qietjcqrt0jakcnukm5sp7it@4ax.com>:

>
>http://marc.theaimsgroup.com/?l=openbsd-misc&m=112475373731469&w=2
>
>====
>List:       openbsd-misc
>Subject:    3.8 beta requests
>From:       Theo de Raadt <deraadt () cvs ! openbsd ! org>
>Date:       2005-08-22 23:33:40
>Message-ID: 200508222333.j7MNXepH022873 () cvs ! openbsd ! org
>...
>
>We are heading towards making the real 3.8 release soonish.  I would
>like to ask the community to do lots of testing over the next week if
>they can.
>
>This release will bring a lot of new ideas from us.  One of them in
>particular is somewhat risky.  I think it is time to talk about that
>one, and let people know what is ahead on our road.
>
>Traditionally, Unix malloc(3) has always just "extended the brk",
>which means extending the traditional Unix process data segment to
>allocate more memory.  malloc(3) would simply extend the data segment,
>and then calve off little pieces to requesting callers as needed.  It
>also remembered which pieces were which, so that free(3) could do it's
>job.
>
>The way this was always done in Unix has had a number of consequences,
>some of which we wanted to get rid of.  In particular, malloc & free
>have not been able to provide strong protection against overflows or
>other corruption.
>
>Our malloc implementation is a lot more resistant (than Linux) to
>"heap overflows in the malloc arena", but we wanted to improve things
>even more.
>
>Starting a few months ago, the following changes were made:
>
>- We made the mmap(2) system call return random memory addresses.  As
>well the kernel ensures that two objects are not mapped next to each
>  other; in effect, this creates unallocated memory which we call a
>  "guard page".
>
>- We have changed malloc(3) to use mmap(2) instead of extending the data
>  segment via brk()
>
>- We also changed free(3) to return memory to the kernel, un-allocating
>  them out of the process.
>
>- As before, objects smaller than a page are allocated within shared
>  pages that malloc(3) maintains.  But their allocation is now somewhat
>  randomized as well.
>
>- A number of other similar changes which are too dangerous for normal
>  software or cause too much of a slowdown are available as malloc
>  options as described in the manual page.  These are very powerful for
>debugging buggy applications.
>
>Other results:
>
>- When you free an object that is >= 1 page in size, it is actually
>  returned to the system.  Attempting to read or write to it after
>  you free is no longer acceptable.  That memory is unmapped.  You get
>  a SIGSEGV.
>
>- For a decade and a bit, we have been fixing software for buffer
>  overflows.  Now we are finding a lot of software that reads before the
>start of the buffer, or reads too far off the end of the buffer.  You
>get a SIGSEGV.
>
>To some of you, this will sound like what the Electric Fence toolkit
>used to be for.  But these features are enabled by default.  Electric
>Fence was also very slow.  It took nearly 3 years to write these
>OpenBSD changes since performance was a serious consideration.  (Early
>versions caused a nearly 50% slowdown).
>
>Our changes have tremendous benefits, but until some bugs in external
>packages are found and fixed, there are some risks as well.  Some
>software making incorrect assumptions will be running into these new
>security technologies.
>
>I discussed this in talks I have given before: I said that we were
>afraid to go ahead with guard pages, because a lot of software is just
>written to such low standards.  Applications over-read memory all the
>time, go 1 byte too far, read 1 byte too early, access memory after
>free, etc etc etc.
>
>Oh well -- we've decided that we will try to ship with this protection
>mechanism in any case, and try to solve the problems as we run into
>them.
>
>Two examples:
>
>Over the last two months, some OpenBSD users noticed that the X server
>was crashing occasionally.  Two bugs have been diagnosed and fixed by
>us.  One was a use-after-free bug in the X shared library linker.  The
>other was a buffer-over-read bug deep down in the very lowest level
>fb* pixmap compositing routines.  The latter bug in particular was
>very difficult to diagnose and fix, and is about 10 years old.  We
>have found other bugs like this in other external software, and even a
>few in the base OpenBSD tree (though those were found a while back,
>even as we started experimenting with the new malloc code).
>
>I would bet money that the X fb* bug has crashed Linux (and other) X
>servers before.  It is just that it was very rare, and noone ever
>chased it.  The new malloc we have just makes code get lucky less
>often, which lets us get to the source of a bug easier.  As a
>programmer, I appreciate anything which makes bugs easier to
>reproduce.
>
>We expect that our malloc will find more bugs in software, and this
>might hurt our user community in the short term.  We know that what
>this new malloc is doing is perfectly legal, but that realistically
>some open source software is of such low quality that it is just not
>ready for these things to happen.
>
>We ask our users to help us uncover and fix more of these bugs in
>applications.  Some will even be exploitable.  Instead of saying that
>OpenBSD is busted in this regard, please realize that the software
>which is crashing is showing how shoddily it was written.  Then help
>us fix it.  For everyone.. not just OpenBSD users.
>===
>
>  /m

--- BBBS/NT v4.01 Flag-5
 * Origin: Barktopia BBS Site http://HarborWebs.com:8081 (1:379/45)