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>] [day] [month] [year] [list]
Message-ID: <202204070930.v6UQvVXJ-lkp@intel.com>
Date:   Thu, 7 Apr 2022 09:25:10 +0800
From:   kernel test robot <lkp@...el.com>
To:     David Howells <dhowells@...hat.com>
Cc:     kbuild-all@...ts.01.org,
        GNU/Weeb Mailing List <gwml@...r.gnuweeb.org>,
        linux-kernel@...r.kernel.org
Subject: [ammarfaizi2-block:dhowells/linux-fs/netfs-maple 26/40]
 fs/netfs/crypto.c:208:1: warning: the frame size of 1040 bytes is larger
 than 1024 bytes

tree:   https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/netfs-maple
head:   674eea41fc70a740ff83ec590f9833f805852464
commit: fc693b2e39df6567a0312f21bb9004e1d7983286 [26/40] netfs: Perform content encryption
config: powerpc-buildonly-randconfig-r004-20220406 (https://download.01.org/0day-ci/archive/20220407/202204070930.v6UQvVXJ-lkp@intel.com/config)
compiler: powerpc-linux-gcc (GCC) 11.2.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
        # https://github.com/ammarfaizi2/linux-block/commit/fc693b2e39df6567a0312f21bb9004e1d7983286
        git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
        git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/netfs-maple
        git checkout fc693b2e39df6567a0312f21bb9004e1d7983286
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash fs/netfs/

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

All warnings (new ones prefixed by >>):

   In file included from include/linux/kernel.h:26,
                    from arch/powerpc/include/asm/page.h:11,
                    from arch/powerpc/include/asm/thread_info.h:13,
                    from include/linux/thread_info.h:60,
                    from include/asm-generic/preempt.h:5,
                    from ./arch/powerpc/include/generated/asm/preempt.h:1,
                    from include/linux/preempt.h:78,
                    from include/linux/spinlock.h:55,
                    from include/linux/wait.h:9,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/netfs/crypto.c:8:
   fs/netfs/crypto.c: In function 'netfs_xarray_to_sglist':
   include/linux/minmax.h:20:35: warning: comparison of distinct pointer types lacks a cast
      20 |         (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
         |                                   ^~
   include/linux/minmax.h:26:18: note: in expansion of macro '__typecheck'
      26 |                 (__typecheck(x, y) && __no_side_effects(x, y))
         |                  ^~~~~~~~~~~
   include/linux/minmax.h:36:31: note: in expansion of macro '__safe_cmp'
      36 |         __builtin_choose_expr(__safe_cmp(x, y), \
         |                               ^~~~~~~~~~
   include/linux/minmax.h:45:25: note: in expansion of macro '__careful_cmp'
      45 | #define min(x, y)       __careful_cmp(x, y, <)
         |                         ^~~~~~~~~~~~~
   fs/netfs/crypto.c:76:31: note: in expansion of macro 'min'
      76 |                         seg = min(len, PAGE_SIZE - offset);
         |                               ^~~
   fs/netfs/crypto.c: In function 'netfs_encrypt':
>> fs/netfs/crypto.c:208:1: warning: the frame size of 1040 bytes is larger than 1024 bytes [-Wframe-larger-than=]
     208 | }
         | ^


vim +208 fs/netfs/crypto.c

   133	
   134	/*
   135	 * Prepare a write request for writing.  We encrypt from wreq->buffer to
   136	 * wreq->buffer2.
   137	 */
   138	bool netfs_encrypt(struct netfs_io_request *wreq)
   139	{
   140		struct netfs_i_context *ctx = netfs_i_context(wreq->inode);
   141		struct scatterlist source_sg[16], dest_sg[16];
   142		unsigned int n_source, n_dest;
   143		size_t n, chunk, bsize = 1UL << ctx->crypto_bshift;
   144		loff_t pos;
   145		int ret;
   146	
   147		_enter("");
   148	
   149		trace_netfs_rreq(wreq, netfs_rreq_trace_encrypt);
   150	
   151		pos = wreq->start;
   152		n = wreq->len;
   153		_debug("ENCRYPT %llx-%llx", pos, pos + n - 1);
   154	
   155		for (; n > 0; n -= chunk, pos += chunk) {
   156			chunk = min(n, bsize);
   157	
   158			switch (wreq->buffering) {
   159			case NETFS_ENC_BUFFER_TO_BOUNCE:
   160				ret = netfs_xarray_to_sglist(&wreq->buffer, pos, chunk,
   161							     source_sg, ARRAY_SIZE(source_sg));
   162				break;
   163			case NETFS_ENC_DIRECT_TO_BOUNCE:
   164				ret = netfs_iter_to_sglist(&wreq->direct_iter, chunk,
   165							   dest_sg, ARRAY_SIZE(dest_sg));
   166				break;
   167			case NETFS_COPY_ENC_BOUNCE:
   168				ret = netfs_xarray_to_sglist(&wreq->bounce, pos, chunk,
   169							     source_sg, ARRAY_SIZE(source_sg));
   170				break;
   171			default:
   172				BUG();
   173			}
   174			if (ret < 0)
   175				goto error;
   176			n_source = ret;
   177	
   178			switch (wreq->buffering) {
   179			case NETFS_ENC_BUFFER_TO_BOUNCE:
   180			case NETFS_ENC_DIRECT_TO_BOUNCE:
   181				ret = netfs_xarray_to_sglist(&wreq->bounce, pos, chunk,
   182							     dest_sg, ARRAY_SIZE(dest_sg));
   183				break;
   184			case NETFS_COPY_ENC_BOUNCE:
   185				memcpy(dest_sg, source_sg, sizeof(dest_sg));
   186				ret = n_source;
   187				break;
   188			default:
   189				BUG();
   190			}
   191			if (ret < 0)
   192				goto error;
   193			n_dest = ret;
   194	
   195			ret = ctx->ops->encrypt_block(wreq, pos, chunk,
   196						      source_sg, n_source, dest_sg, n_dest);
   197			if (ret < 0)
   198				goto error_failed;
   199		}
   200	
   201		return true;
   202	
   203	error_failed:
   204		trace_netfs_failure(wreq, NULL, ret, netfs_fail_encryption);
   205	error:
   206		wreq->error = ret;
   207		return false;
 > 208	}

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ