Linux-Integrity Archive on lore.kernel.org
 help / Atom feed
From: Nick Desaulniers <ndesaulniers@google.com>
To: denkenz@gmail.com
Cc: jejb@linux.ibm.com, dhowells@redhat.com,
	Nathan Chancellor <natechancellor@gmail.com>,
	Eric Biggers <ebiggers@google.com>,
	zohar@linux.vnet.ibm.com, jmorris@namei.org, serge@hallyn.com,
	linux-integrity@vger.kernel.org, keyrings@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] KEYS: trusted: fix -Wvarags warning
Date: Fri, 12 Oct 2018 10:05:48 -0700
Message-ID: <CAKwvOdmStDm3Lz=W7XjmB7f7ihe4hLOmaBRLOrStbkBMRKwdjA@mail.gmail.com> (raw)
In-Reply-To: <fc23168b-7275-bae0-6039-04e261b3cbad@gmail.com>

On Fri, Oct 12, 2018 at 8:14 AM Denis Kenzior <denkenz@gmail.com> wrote:
>
> Hi James,
>
> >> So can't we simply use 'bool' or uint32 as the type for h3 instead
> >> of re-ordering everything
> >
> > The problem is the standard is ambiguious.  The only thing that's
> > guaranteed to work for all time is a char *.  If you want to keep the
> > order, what I'd suggest is inserting a dummy pointer argument which is
> > always expected to be NULL between the h3 and the varargs.
>
> So maybe I'm misunderstanding something, but the issue seems to be that
> unsigned char is promoted to 'unsigned char *' by Clang and probably
> unsigned int or int by gcc.

No. This is extremely well defined behavior in C.  In C, integral
types are NEVER promoted to pointer to integer types, only to larger
integral types through rules more complicated than the correct flags
to pass to `tar`.
https://xkcd.com/1168/

>
> So instead of having unsigned char h3, can't we simply have bool h3 or
> unsigned int h3?

int is the default argument promotion. Proposed:
https://github.com/ClangBuiltLinux/linux/issues/41#issuecomment-428365339

>
> Regards,
> -Denis
>


-- 
Thanks,
~Nick Desaulniers

  parent reply index

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-09 22:11 undefined behavior (-Wvarargs) in security/keys/trusted.c#TSS_authhmac() Nick Desaulniers
2018-10-11 16:02 ` Arnd Bergmann
2018-10-11 16:10   ` James Bottomley
2018-10-11 20:31     ` [PATCH] KEYS: trusted: fix -Wvarags warning ndesaulniers
2018-10-12  1:50       ` Nathan Chancellor
2018-10-12 16:55         ` Nick Desaulniers
2018-10-12 17:03           ` Nathan Chancellor
2018-10-12 12:29       ` Denis Kenzior
2018-10-12 15:05         ` James Bottomley
2018-10-12 15:13           ` Denis Kenzior
2018-10-12 15:22             ` James Bottomley
2018-10-12 15:44               ` Denis Kenzior
2018-10-12 15:46                 ` James Bottomley
2018-10-12 15:53                   ` Denis Kenzior
2018-10-12 16:01                     ` James Bottomley
2018-10-12 17:14                       ` Nick Desaulniers
2018-10-12 15:25             ` James Bottomley
2018-10-12 17:05             ` Nick Desaulniers [this message]
2018-10-12 17:17               ` Nick Desaulniers
2018-10-12 17:27               ` Denis Kenzior
2018-10-12 18:39                 ` Nick Desaulniers
2018-10-12 17:02         ` Nick Desaulniers
2018-10-12 17:15           ` Denis Kenzior
2018-10-15  9:26       ` David Laight
2018-10-15  9:26         ` David Laight
2018-10-15 21:53         ` Nick Desaulniers
2018-10-16  8:13           ` David Laight
2018-10-16  8:13             ` David Laight
2018-10-22 23:43             ` [PATCH v2] " ndesaulniers
2018-10-23  0:00               ` Nathan Chancellor
2018-10-24  8:36               ` Jarkko Sakkinen
2018-10-29 17:54                 ` Nick Desaulniers
2019-02-11 18:36                   ` Nick Desaulniers
2019-02-12 23:12                     ` Jarkko Sakkinen
2019-02-14 10:52                       ` Jarkko Sakkinen

Reply instructions:

You may reply publically 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='CAKwvOdmStDm3Lz=W7XjmB7f7ihe4hLOmaBRLOrStbkBMRKwdjA@mail.gmail.com' \
    --to=ndesaulniers@google.com \
    --cc=denkenz@gmail.com \
    --cc=dhowells@redhat.com \
    --cc=ebiggers@google.com \
    --cc=jejb@linux.ibm.com \
    --cc=jmorris@namei.org \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=natechancellor@gmail.com \
    --cc=serge@hallyn.com \
    --cc=zohar@linux.vnet.ibm.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

Linux-Integrity Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-integrity/0 linux-integrity/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-integrity linux-integrity/ https://lore.kernel.org/linux-integrity \
		linux-integrity@vger.kernel.org linux-integrity@archiver.kernel.org
	public-inbox-index linux-integrity


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-integrity


AGPL code for this site: git clone https://public-inbox.org/ public-inbox