Question about madvise(DONTNEED) in glibc malloc

Rich Felker dalias@aerifal.cx
Mon Apr 15 15:22:00 GMT 2013


On Mon, Apr 15, 2013 at 02:35:04PM +0200, Ondřej Bílka wrote:
> > > > > A SIGBUS makes using vrange out of question. We simply cannot ignore user generated SIGBUS.
> > > > 
> > > > Such SIGBUS would not happen unless the user accesses some freed memory,
> > > > which he shouldn't be doing anyway.
> > > 
> > > When kill -BUS pid became illegal?
> > 
> > I don't understand how that relates to what we are talking about.  I've
> > never said sending -BUS was illegal.  I've said that accessing freed
> > memory is illegal.
> 
> Accessing freed memory is illegal but not only way how that SIGBUS could
> happen. It could be SIGBUS from kill which is perfectly legal.

You misunderstand. glibc/malloc would not be _catching_ SIGBUS, so the
fact that it's delivered when freed memory is accessed is irrelevant
to applications unless they access freed memory (and then it's their
fault they get it!). So I don't see what the problem is. This does not
interfere with an application's use of SIGBUS whatsoever.

Rich



More information about the Libc-alpha mailing list