All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@ftp.linux.org.uk>
To: Mitchell Blank Jr <mitch@sfgoth.com>
Cc: Linus Torvalds <torvalds@osdl.org>,
	Eric Sandeen <sandeen@redhat.com>, Andrew Morton <akpm@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: [UPDATED PATCH] fix memory corruption from misinterpreted bad_inode_ops return values
Date: Thu, 4 Jan 2007 23:52:26 +0000	[thread overview]
Message-ID: <20070104235226.GA17561@ftp.linux.org.uk> (raw)
In-Reply-To: <20070104232106.GK35756@gaz.sfgoth.com>

On Thu, Jan 04, 2007 at 03:21:06PM -0800, Mitchell Blank Jr wrote:
> Linus Torvalds wrote:
> > Well, that probably would work, but it's also true that returning a 64-bit 
> > value on a 32-bit platform really _does_ depend on more than the size.
> 
> Yeah, obviously this is restricted to the signed-integer case.  My point
> was just that you could have the compiler figure out which variant to pick
> for loff_t automatically.
> 
> > "let's not play tricks with function types at all".
> 
> I think I agree.  The real (but harder) fix for the wasted space issue
> would be to get the toolchain to automatically combine functions that
> end up compiling into identical assembly.

Can't do.

int f(void)
{
	return 0;
}

int g(void)
{
	return 0;
}

int is_f(int (*p)(void))
{
	return p == f;
}

main()
{
	printf("%d %d\n", is_f(f), is_f(g));
}

would better produce
1 0
for anything resembling a sane C compiler.  Comparing pointers to
functions for equality is a well-defined operation and it's not
to be messed with.

You _can_ compile g into jump to f, but that's it.  And that, AFAICS,
is what gcc does.

  reply	other threads:[~2007-01-04 23:52 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-03 23:46 [UPDATED PATCH] fix memory corruption from misinterpreted bad_inode_ops return values Eric Sandeen
2007-01-04  0:26 ` Andrew Morton
2007-01-04 17:51   ` Eric Sandeen
2007-01-04 18:26     ` Andrew Morton
2007-01-04 18:33       ` Eric Sandeen
2007-01-04 18:54         ` Andrew Morton
2007-01-04 19:09           ` Linus Torvalds
2007-01-04 19:14             ` Al Viro
2007-01-04 19:22               ` Al Viro
2007-01-04 19:32                 ` Linus Torvalds
2007-01-07  2:14                 ` Roman Zippel
2007-01-04 19:30               ` Linus Torvalds
2007-01-04 20:24                 ` Al Viro
2007-01-04 21:00                   ` Andrew Morton
2007-01-04 21:04                     ` Eric Sandeen
2007-01-04 21:10                       ` Andrew Morton
2007-01-04 21:18                         ` Eric Sandeen
2007-01-04 21:30                           ` Linus Torvalds
2007-01-04 21:50                             ` Eric Sandeen
2007-01-04 21:52                             ` Al Viro
2007-01-04 22:38                               ` Mitchell Blank Jr
2007-01-04 22:35                                 ` Linus Torvalds
2007-01-04 22:48                                   ` Eric Sandeen
2007-01-04 23:06                                   ` Andrew Morton
2007-01-04 23:17                                     ` Linus Torvalds
2007-01-04 23:28                                       ` Eric Sandeen
2007-01-04 23:21                                   ` Mitchell Blank Jr
2007-01-04 23:52                                     ` Al Viro [this message]
2007-01-05  5:59                                       ` Duplicated functions (was: fix memory corruption from misinterpreted bad_inode_ops return values) Mitchell Blank Jr
2007-01-05 15:40                                       ` [UPDATED PATCH] fix memory corruption from misinterpreted bad_inode_ops return values Arjan van de Ven
     [not found] <7zo1U-ht-9@gated-at.bofh.it>
     [not found] ` <7zoEG-1kW-19@gated-at.bofh.it>
     [not found]   ` <7zF2R-1wJ-33@gated-at.bofh.it>
     [not found]     ` <7zFvU-2p5-21@gated-at.bofh.it>
     [not found]       ` <7zFFr-2AP-1@gated-at.bofh.it>
     [not found]         ` <7zFYY-31i-19@gated-at.bofh.it>
     [not found]           ` <7zGie-3Ji-17@gated-at.bofh.it>
     [not found]             ` <7zGif-3Ji-21@gated-at.bofh.it>
     [not found]               ` <7zGBC-49g-39@gated-at.bofh.it>
     [not found]                 ` <7zHnX-5rJ-25@gated-at.bofh.it>
     [not found]                   ` <7zI0B-6x2-5@gated-at.bofh.it>
     [not found]                     ` <7zI0B-6x2-3@gated-at.bofh.it>
     [not found]                       ` <7zIak-6JF-15@gated-at.bofh.it>
     [not found]                         ` <7zIak-6JF-13@gated-at.bofh.it>
2007-01-05 16:33                           ` Bodo Eggert
  -- strict thread matches above, loose matches on Subject: below --
2007-01-04 19:23 Mikael Pettersson
2007-01-03 23:37 Eric Sandeen
2007-01-03 23:46 ` Eric Sandeen
2007-01-05 14:37 ` Phillip Lougher
2007-01-05 15:11   ` phillip

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=20070104235226.GA17561@ftp.linux.org.uk \
    --to=viro@ftp.linux.org.uk \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mitch@sfgoth.com \
    --cc=sandeen@redhat.com \
    --cc=torvalds@osdl.org \
    --cc=viro@zeniv.linux.org.uk \
    /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.