public inbox for linux-next@vger.kernel.org 
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb•auug.org.au>
To: Andrew Morton <akpm@linux-foundation•org>, Theodore Ts'o <tytso@mit•edu>
Cc: Linux-Next Mailing List <linux-next@vger•kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger•kernel.org>,
	"Jason A. Donenfeld" <Jason@zx2c4•com>,
	Rik van Riel <riel@redhat•com>
Subject: Re: linux-next: manual merge of the akpm-current tree with the random tree
Date: Wed, 28 Jun 2017 16:03:48 +1000	[thread overview]
Message-ID: <20170628160348.16d15d02@canb.auug.org.au> (raw)
In-Reply-To: <20170608162812.640fb3ab@canb.auug.org.au>

Hi Andrew,

[Yes, top posting :-)]

With the merge window approaching, just a reminder that this conflict
still exists.

On Thu, 8 Jun 2017 16:28:12 +1000 Stephen Rothwell <sfr@canb•auug.org.au> wrote:
>
> Today's linux-next merge of the akpm-current tree got a conflict in:
> 
>   include/linux/random.h
> 
> between commit:
> 
>   60473a13020f ("random: add get_random_{bytes,u32,u64,int,long,once}_wait family")
> 
> from the random tree and commit:
> 
>   d7802aa82f66 ("random,stackprotect: introduce get_random_canary function")
> 
> from the akpm-current tree.
> 
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging.  You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
> 
> -- 
> Cheers,
> Stephen Rothwell
> 
> diff --cc include/linux/random.h
> index 4aecc339558d,1fa0dc880bd7..000000000000
> --- a/include/linux/random.h
> +++ b/include/linux/random.h
> @@@ -58,31 -57,27 +58,52 @@@ static inline unsigned long get_random_
>   #endif
>   }
>   
>  +/* Calls wait_for_random_bytes() and then calls get_random_bytes(buf, nbytes).
>  + * Returns the result of the call to wait_for_random_bytes. */
>  +static inline int get_random_bytes_wait(void *buf, int nbytes)
>  +{
>  +	int ret = wait_for_random_bytes();
>  +	if (unlikely(ret))
>  +		return ret;
>  +	get_random_bytes(buf, nbytes);
>  +	return 0;
>  +}
>  +
>  +#define declare_get_random_var_wait(var) \
>  +	static inline int get_random_ ## var ## _wait(var *out) { \
>  +		int ret = wait_for_random_bytes(); \
>  +		if (unlikely(ret)) \
>  +			return ret; \
>  +		*out = get_random_ ## var(); \
>  +		return 0; \
>  +	}
>  +declare_get_random_var_wait(u32)
>  +declare_get_random_var_wait(u64)
>  +declare_get_random_var_wait(int)
>  +declare_get_random_var_wait(long)
>  +#undef declare_get_random_var
>  +
> + /*
> +  * On 64-bit architectures, protect against non-terminated C string overflows
> +  * by zeroing out the first byte of the canary; this leaves 56 bits of entropy.
> +  */
> + #ifdef CONFIG_64BIT
> + # ifdef __LITTLE_ENDIAN
> + #  define CANARY_MASK 0xffffffffffffff00UL
> + # else /* big endian, 64 bits: */
> + #  define CANARY_MASK 0x00ffffffffffffffUL
> + # endif
> + #else /* 32 bits: */
> + # define CANARY_MASK 0xffffffffUL
> + #endif
> + 
> + static inline unsigned long get_random_canary(void)
> + {
> + 	unsigned long val = get_random_long();
> + 
> + 	return val & CANARY_MASK;
> + }
> + 
>   unsigned long randomize_page(unsigned long start, unsigned long range);
>   
>   u32 prandom_u32(void);

-- 
Cheers,
Stephen Rothwell

  reply	other threads:[~2017-06-28  6:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-08  6:28 linux-next: manual merge of the akpm-current tree with the random tree Stephen Rothwell
2017-06-28  6:03 ` Stephen Rothwell [this message]
2017-06-29 21:04   ` Andrew Morton
  -- strict thread matches above, loose matches on Subject: below --
2014-07-18  7:44 Stephen Rothwell

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=20170628160348.16d15d02@canb.auug.org.au \
    --to=sfr@canb$(echo .)auug.org.au \
    --cc=Jason@zx2c4$(echo .)com \
    --cc=akpm@linux-foundation$(echo .)org \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-next@vger$(echo .)kernel.org \
    --cc=riel@redhat$(echo .)com \
    --cc=tytso@mit$(echo .)edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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