selinux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicolas Iooss <nicolas.iooss@m4x.org>
To: SElinux list <selinux@vger.kernel.org>,
	William Roberts <bill.c.roberts@gmail.com>
Cc: William Roberts <william.c.roberts@intel.com>
Subject: Re: [PATCH v3 13/19] avc: create internal avc_init interface
Date: Sun, 26 Apr 2020 15:33:58 +0200	[thread overview]
Message-ID: <CAJfZ7=nueDv_WihZu9oV9Qx+kq+cwK=ovD9jSm9rhMvDJS+01g@mail.gmail.com> (raw)
In-Reply-To: <20200420154537.30879-14-william.c.roberts@intel.com>

On Mon, Apr 20, 2020 at 5:46 PM <bill.c.roberts@gmail.com> wrote:
>
> From: William Roberts <william.c.roberts@intel.com>
>
> Now that avc_init is marked deprecated, create an avc_init2 interface
> for internal users.
>
> Signed-off-by: William Roberts <william.c.roberts@intel.com>
> ---
>  libselinux/src/avc.c          | 11 ++++++++++-
>  libselinux/src/avc_internal.h |  5 +++++
>  2 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/libselinux/src/avc.c b/libselinux/src/avc.c
> index ab10b0f9f1cb..505641406995 100644
> --- a/libselinux/src/avc.c
> +++ b/libselinux/src/avc.c
> @@ -157,7 +157,7 @@ int avc_open(struct selinux_opt *opts, unsigned nopts)
>                         break;
>                 }
>
> -       return avc_init("avc", NULL, NULL, NULL, NULL);
> +       return avc_init2("avc", NULL, NULL, NULL, NULL);
>  }
>
>  int avc_init(const char *prefix,
> @@ -165,6 +165,15 @@ int avc_init(const char *prefix,
>              const struct avc_log_callback *log_cb,
>              const struct avc_thread_callback *thread_cb,
>              const struct avc_lock_callback *lock_cb)
> +{
> +       return avc_init2(prefix, mem_cb, log_cb, thread_cb, lock_cb);
> +}
> +
> +int avc_init2(const char *prefix,
> +            const struct avc_memory_callback *mem_cb,
> +            const struct avc_log_callback *log_cb,
> +            const struct avc_thread_callback *thread_cb,
> +            const struct avc_lock_callback *lock_cb)
>  {
>         struct avc_node *new;
>         int i, rc = 0;
> diff --git a/libselinux/src/avc_internal.h b/libselinux/src/avc_internal.h
> index 3f8a6bb1cf84..c8d26a8ae254 100644
> --- a/libselinux/src/avc_internal.h
> +++ b/libselinux/src/avc_internal.h
> @@ -173,4 +173,9 @@ int avc_ss_set_auditdeny(security_id_t ssid, security_id_t tsid,
>  /* netlink kernel message code */
>  extern int avc_netlink_trouble ;
>
> +extern int avc_init2(const char *msgprefix,
> +                   const struct avc_memory_callback *mem_callbacks,
> +                   const struct avc_log_callback *log_callbacks,
> +                   const struct avc_thread_callback *thread_callbacks,
> +                   const struct avc_lock_callback *lock_callbacks);
>  #endif                         /* _SELINUX_AVC_INTERNAL_H_ */
> --
> 2.17.1

Hello,
I do not see the point of having a new avc_init2() "internal
interface". I get that avc_init() is deprecated, that avc_open()
should be used, and that internally a new function (named avc_init2)
is created to make the transition easier. But why is adding
avc_init2() to avc_internal.h necessary? Which internal code is
expected to use it?
If none, I would prefer to make avc_init2() static (changing this
patch to "static init avc_init2(const char*msgprefix,", with a
declaration before avc_open() if you do not want to move the function
in the file).

I have the same question for matchpathcon_fini2(), matchpathcon2(), etc.

Moreover, I do not really like the "...2" naming (this is my own point
of view and I won't block the patch because of it), because it seems
to carry the meaning of "please now use this inferface", which is
untrue. I suggest using avc_init_internal(),
matchpathcon_fini_internal()... that do not carry such a meaning.

Thanks,
Nicolas


  reply	other threads:[~2020-04-26 13:34 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-25 20:02 Annotate Deprecated Functions in libselinux bill.c.roberts
2020-02-25 20:02 ` [PATCH 01/17] security_load_booleans: update return comment bill.c.roberts
2020-02-25 20:02 ` [PATCH 02/17] selinux_booleans_path: annotate deprecated bill.c.roberts
2020-02-25 20:02 ` [PATCH 03/17] " bill.c.roberts
2020-02-25 20:02 ` [PATCH 04/17] selinux_users_path: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 05/17] rpm_execcon: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 06/17] sidget: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 07/17] sidput: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 08/17] checkPasswdAccess: " bill.c.roberts
2020-02-25 20:58   ` Stephen Smalley
2020-02-25 20:02 ` [PATCH 09/17] matchpathcon_init: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 10/17] matchpathcon_fini: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 11/17] matchpathcon: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 12/17] avc_init: " bill.c.roberts
2020-02-25 20:02 ` [PATCH 13/17] src/selinux_internal.h: fix hidden_proto indents bill.c.roberts
2020-02-25 20:02 ` [PATCH 14/17] selinux_internal.h: disable warnings on deprecated bill.c.roberts
2020-02-25 20:02 ` [PATCH 15/17] avc_open: mark allowed use of avc_init bill.c.roberts
2020-02-25 20:02 ` [PATCH 16/17] src/matchpathcon: allow use of deprecated funcs bill.c.roberts
2020-02-25 20:02 ` [PATCH 17/17] utils/matchpathcon: " bill.c.roberts
2020-02-25 20:51 ` Annotate Deprecated Functions in libselinux Stephen Smalley
2020-02-25 21:06   ` William Roberts
2020-02-27 18:41     ` William Roberts
2020-02-27 19:48       ` Stephen Smalley
2020-02-27 20:03         ` Ondrej Mosnacek
2020-02-27 20:10           ` William Roberts
2020-02-27 20:24             ` Stephen Smalley
2020-02-27 20:43           ` Ulrich Drepper
2020-02-27 21:05             ` William Roberts
2020-02-27 21:13               ` Stephen Smalley
2020-02-27 21:18                 ` William Roberts
2020-02-27 21:32                   ` Stephen Smalley
2020-02-27 21:34                     ` William Roberts
2020-02-27 21:19               ` Ulrich Drepper
2020-02-27 21:31                 ` William Roberts
2020-04-16 15:43 ` bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 01/18] security_load_booleans: update return comment bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 02/18] security_load_booleans: annotate deprecated bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 03/18] selinux_booleans_path: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 04/18] selinux_users_path: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 05/18] rpm_execcon: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 06/18] sidget: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 07/18] sidput: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 08/18] checkPasswdAccess: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 09/18] matchpathcon_init: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 10/18] matchpathcon_fini: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 11/18] matchpathcon: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 12/18] avc_init: " bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 13/18] avc: create internal avc_init interface bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 14/18] matchpathcon: create internal matchpathcon_fini interface bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 15/18] matchpathcon: create internal matchpathcon interface bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 16/18] selinux_check_passwd_access: annotate deprecated bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 17/18] utils: matchpathcon to use interal interfaces bill.c.roberts
2020-04-16 15:43   ` [PATCH v2 18/18] utils: matchpathcon add deprecated warning bill.c.roberts
2020-04-19 13:46   ` Annotate Deprecated Functions in libselinux Nicolas Iooss
2020-04-20 14:34     ` Roberts, William C
2020-04-20 15:45     ` [v3] " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 01/19] security_load_booleans: update return comment bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 02/19] security_load_booleans: annotate deprecated bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 03/19] selinux_booleans_path: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 04/19] selinux_users_path: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 05/19] rpm_execcon: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 06/19] sidget: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 07/19] sidput: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 08/19] checkPasswdAccess: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 09/19] matchpathcon_init: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 10/19] matchpathcon_fini: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 11/19] matchpathcon: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 12/19] avc_init: " bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 13/19] avc: create internal avc_init interface bill.c.roberts
2020-04-26 13:33         ` Nicolas Iooss [this message]
2020-04-26 15:53           ` William Roberts
2020-04-20 15:45       ` [PATCH v3 14/19] matchpathcon: create internal matchpathcon_fini interface bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 15/19] matchpathcon: create internal matchpathcon interface bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 16/19] selinux_check_passwd_access: annotate deprecated bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 17/19] matchpathcon: allow use of deprecated routines bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 18/19] utils: matchpathcon add deprecated warning bill.c.roberts
2020-04-20 15:45       ` [PATCH v3 19/19] Makefile: swig build allow deprecated functions bill.c.roberts
2020-04-27 20:22 ` [v4] Annotate Deprecated Functions in libselinux bill.c.roberts
2020-04-27 20:22   ` [PATCH v4 01/18] security_load_booleans: update return comment bill.c.roberts
2020-04-27 20:22   ` [PATCH v4 02/18] security_load_booleans: annotate deprecated bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 03/18] selinux_booleans_path: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 04/18] selinux_users_path: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 05/18] rpm_execcon: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 06/18] sidget: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 07/18] sidput: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 08/18] checkPasswdAccess: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 09/18] matchpathcon_init: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 10/18] matchpathcon_fini: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 11/18] matchpathcon: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 12/18] avc_init: " bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 13/18] avc: create internal avc_init interface bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 14/18] matchpathcon: create internal matchpathcon_fini interface bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 15/18] selinux_check_passwd_access: annotate deprecated bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 16/18] matchpathcon: allow use of deprecated routines bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 17/18] utils: matchpathcon add deprecated warning bill.c.roberts
2020-04-27 20:23   ` [PATCH v4 18/18] Makefile: swig build allow deprecated functions bill.c.roberts
2020-04-28 21:25   ` [v4] Annotate Deprecated Functions in libselinux Nicolas Iooss

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='CAJfZ7=nueDv_WihZu9oV9Qx+kq+cwK=ovD9jSm9rhMvDJS+01g@mail.gmail.com' \
    --to=nicolas.iooss@m4x.org \
    --cc=bill.c.roberts@gmail.com \
    --cc=selinux@vger.kernel.org \
    --cc=william.c.roberts@intel.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;
as well as URLs for NNTP newsgroup(s).