lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202008311731.jEh3WzsT%lkp@intel.com>
Date:   Mon, 31 Aug 2020 17:24:47 +0800
From:   kernel test robot <lkp@...el.com>
To:     Stephan Müller <smueller@...onox.de>,
        Arnd Bergmann <arnd@...db.de>
Cc:     kbuild-all@...ts.01.org,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-crypto@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
        linux-api@...r.kernel.org,
        "Eric W. Biederman" <ebiederm@...ssion.com>,
        "Alexander E. Patrakov" <patrakov@...il.com>,
        "Ahmed S. Darwish" <darwish.07@...il.com>,
        "Theodore Y. Ts'o" <tytso@....edu>, Willy Tarreau <w@....eu>
Subject: Re: [PATCH v34 01/12] Linux Random Number Generator

Hi "Stephan,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on char-misc/char-misc-testing]
[also build test ERROR on cryptodev/master crypto/master v5.9-rc3 next-20200828]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Stephan-M-ller/dev-random-a-new-approach-with-full-SP800-90B-compliance/20200825-153914
base:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git d162219c655c8cf8003128a13840d6c1e183fb80
config: riscv-allmodconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   In file included from drivers/char/lrng/lrng_pool.c:18:
>> drivers/char/lrng/lrng_lfsr.h:44:4: error: 'latent_entropy' attribute only applies to functions and variables
      44 |    atomic_t pool[LRNG_POOL_SIZE] __latent_entropy;
         |    ^~~~~~~~
--
   In file included from drivers/char/lrng/lrng_chacha20.c:17:
>> drivers/char/lrng/lrng_chacha20.h:17:2: error: 'latent_entropy' attribute only applies to functions and variables
      17 |  } key __latent_entropy;
         |  ^
   drivers/char/lrng/lrng_chacha20.h:19:2: error: 'latent_entropy' attribute only applies to functions and variables
      19 |  u32 nonce[3] __latent_entropy;
         |  ^~~

# https://github.com/0day-ci/linux/commit/b5cc1c486b8491ab0a3817a48964bfd4797484c8
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Stephan-M-ller/dev-random-a-new-approach-with-full-SP800-90B-compliance/20200825-153914
git checkout b5cc1c486b8491ab0a3817a48964bfd4797484c8
vim +/latent_entropy +44 drivers/char/lrng/lrng_lfsr.h

    16	
    17	/*
    18	 * This is the entropy pool used by the slow noise source. Its size should
    19	 * be at least as large as LRNG_DRNG_SECURITY_STRENGTH_BITS.
    20	 *
    21	 * The pool array is aligned to 8 bytes to comfort the kernel crypto API cipher
    22	 * implementations of the hash functions used to read the pool: for some
    23	 * accelerated implementations, we need an alignment to avoid a realignment
    24	 * which involves memcpy(). The alignment to 8 bytes should satisfy all crypto
    25	 * implementations.
    26	 *
    27	 * LRNG_POOL_SIZE is allowed to be changed only if the taps of the polynomial
    28	 * used for the LFSR are changed as well. The size must be in powers of 2 due
    29	 * to the mask handling in lrng_pool_lfsr_u32 which uses AND instead of modulo.
    30	 */
    31	struct lrng_pool {
    32		union {
    33			struct {
    34				/*
    35				 * hash_df implementation: counter, requested_bits and
    36				 * pool form a linear buffer that is used in the
    37				 * hash_df function specified in SP800-90A section
    38				 * 10.3.1
    39				 */
    40				unsigned char counter;
    41				__be32 requested_bits;
    42	
    43				/* Pool */
  > 44				atomic_t pool[LRNG_POOL_SIZE] __latent_entropy;
    45				/* Ptr into pool for next IRQ word injection */
    46				atomic_t pool_ptr;
    47				/* rotate for LFSR */
    48				atomic_t input_rotate;
    49				/* All NUMA DRNGs seeded? */
    50				bool all_online_numa_node_seeded;
    51				/* IRQ noise source status info */
    52				struct lrng_irq_info irq_info;
    53				/* Serialize read of entropy pool */
    54				spinlock_t lock;
    55			};
    56			/*
    57			 * Static SHA-1 implementation in lrng_cc20_hash_buffer
    58			 * processes data 64-byte-wise. Hence, ensure proper size
    59			 * of LRNG entropy pool data structure.
    60			 */
    61			u8 hash_input_buf[LRNG_POOL_SIZE_BYTES + 64];
    62		};
    63	};
    64	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (65991 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ