public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: "Jiri Olsa" <jolsa@kernel.org>,
	lkml <linux-kernel@vger.kernel.org>,
	"David Ahern" <dsahern@gmail.com>,
	"Ingo Molnar" <mingo@kernel.org>,
	"Namhyung Kim" <namhyung@kernel.org>,
	"Peter Zijlstra" <a.p.zijlstra@chello.nl>,
	"Matt Fleming" <matt@codeblueprint.co.uk>,
	"Raphaël Beamonte" <raphael.beamonte@gmail.com>
Subject: Re: [PATCH 01/11] tools: Add err.h with ERR_PTR PTR_ERR interface
Date: Mon, 31 Aug 2015 09:37:18 +0200	[thread overview]
Message-ID: <20150831073718.GF1787@krava.brq.redhat.com> (raw)
In-Reply-To: <20150828162139.GE11407@kernel.org>

On Fri, Aug 28, 2015 at 01:21:39PM -0300, Arnaldo Carvalho de Melo wrote:
> Em Wed, Aug 26, 2015 at 03:46:43PM +0200, Jiri Olsa escreveu:
> > Adding part of the kernel's <linux/err.h> interface:
> >   inline void * __must_check ERR_PTR(long error);
> >   inline long   __must_check PTR_ERR(__force const void *ptr);
> >   inline bool   __must_check IS_ERR(__force const void *ptr);
> > 
> > it will be used to propagate error through pointers
> > in following patches.
> > 
> > Link: http://lkml.kernel.org/n/tip-ufgnyf683uab69anmmrabgdf@git.kernel.org
> > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > ---
> >  tools/include/linux/err.h | 28 ++++++++++++++++++++++++++++
> >  1 file changed, 28 insertions(+)
> >  create mode 100644 tools/include/linux/err.h
> > 
> > diff --git a/tools/include/linux/err.h b/tools/include/linux/err.h
> > new file mode 100644
> > index 000000000000..2df92df55cfe
> > --- /dev/null
> > +++ b/tools/include/linux/err.h
> > @@ -0,0 +1,28 @@
> > +#ifndef __TOOLS_LINUX_ERR_H
> > +#define __TOOLS_LINUX_ERR_H
> > +
> > +#include <linux/compiler.h>
> > +#include <linux/types.h>
> > +
> > +#include <asm/errno.h>
> > +
> 
> You deleted the comment in the kernel sources at this point:

right.. I did not want to bring too much attention :-))

> 
> /*
>  * Kernel pointers have redundant information, so we can use a
>  * scheme where we can return either an error code or a normal
>  * pointer with the same return value.
>  *
>  * This should be a per-architecture thing, to allow different
>  * error and pointer decisions.
>  */
> 
> > +#define MAX_ERRNO	4095
> 
> Now we're dealing with user pointers, are we completely sure we can use
> this trick here?

it's safe for user as well, because 'error' pointers
fall down to the unused hole:

Documentation/x86/x86_64/mm.txt:
ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole

haven't checked for other archs, but since it's used
within generic code, it should be ok

I'll put the comment back with additional explanation
wrt user space in v2

jirka

  reply	other threads:[~2015-08-31  7:37 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-26 13:46 [RFC 00/11] perf tools: Enhance parsing events tracepoint error output Jiri Olsa
2015-08-26 13:46 ` [PATCH 01/11] tools: Add err.h with ERR_PTR PTR_ERR interface Jiri Olsa
2015-08-28 16:21   ` Arnaldo Carvalho de Melo
2015-08-31  7:37     ` Jiri Olsa [this message]
2015-08-31 15:27       ` Arnaldo Carvalho de Melo
2015-08-26 13:46 ` [PATCH 02/11] perf tools: Add tracing_path and remove unneeded functions Jiri Olsa
2015-08-27 22:47   ` Matt Fleming
2015-08-28 16:27     ` Arnaldo Carvalho de Melo
2015-08-29 10:25       ` Jiri Olsa
2015-08-31  8:32   ` [tip:perf/core] " tip-bot for Jiri Olsa
2015-08-26 13:46 ` [PATCH 03/11] perf tools: Do not change lib/api/fs/debugfs directly Jiri Olsa
     [not found]   ` <CAE_Gge2cn8LpuETTTkf2nP8JLj=9RDiuW3M8BXzv7ZTJpY9x7w@mail.gmail.com>
2015-08-26 14:17     ` Jiri Olsa
2015-08-26 14:27     ` Arnaldo Carvalho de Melo
2015-08-28 12:26       ` Matt Fleming
2015-08-28 12:19   ` Matt Fleming
2015-08-31  8:33   ` [tip:perf/core] perf tools: Do not change lib/api/fs/ debugfs directly tip-bot for Jiri Olsa
2015-08-26 13:46 ` [PATCH 04/11] perf tools: Move debugfs__strerror_open into util.c object Jiri Olsa
2015-08-26 13:52   ` Arnaldo Carvalho de Melo
2015-08-26 14:16     ` Jiri Olsa
2015-08-28 12:59   ` Matt Fleming
2015-08-26 13:46 ` [PATCH 05/11] perf tools: Move tracing_path stuff under same namespace Jiri Olsa
2015-08-26 14:42   ` Arnaldo Carvalho de Melo
2015-08-26 14:48     ` Jiri Olsa
2015-08-26 14:58       ` Arnaldo Carvalho de Melo
2015-08-26 15:06         ` Jiri Olsa
2015-08-28 13:06           ` Matt Fleming
2015-08-31  7:43             ` Jiri Olsa
2015-08-26 13:46 ` [PATCH 06/11] perf tools: Move tracing_path interface into trace-event-path.c Jiri Olsa
2015-08-26 13:46 ` [PATCH 07/11] perf tools: Make tracing_path_strerror_open message generic Jiri Olsa
2015-08-26 13:46 ` [PATCH 08/11] perf tools: Do not export debugfs_mountpoint and tracefs_mountpoint Jiri Olsa
2015-08-26 13:46 ` [PATCH 09/11] perf tools: Propagate error info for the tracepoint parsing Jiri Olsa
2015-08-28 13:20   ` Matt Fleming
2015-08-28 13:32     ` Jiri Olsa
2015-08-26 13:46 ` [PATCH 10/11] perf tools: Propagate error info from tp_format Jiri Olsa
2015-08-26 13:46 ` [PATCH 11/11] perf tools: Enhance parsing events tracepoint error output Jiri Olsa

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=20150831073718.GF1787@krava.brq.redhat.com \
    --to=jolsa@redhat.com \
    --cc=a.p.zijlstra@chello.nl \
    --cc=acme@kernel.org \
    --cc=dsahern@gmail.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt@codeblueprint.co.uk \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=raphael.beamonte@gmail.com \
    /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