linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Roman Pen <roman.penyaev@profitbricks.com>
Cc: kbuild-all@01.org, linux-block@vger.kernel.org,
	linux-rdma@vger.kernel.org, Jens Axboe <axboe@kernel.dk>,
	Christoph Hellwig <hch@infradead.org>,
	Sagi Grimberg <sagi@grimberg.me>,
	Bart Van Assche <bart.vanassche@sandisk.com>,
	Or Gerlitz <ogerlitz@mellanox.com>,
	Doug Ledford <dledford@redhat.com>,
	Swapnil Ingle <swapnil.ingle@profitbricks.com>,
	Danil Kipnis <danil.kipnis@profitbricks.com>,
	Jack Wang <jinpu.wang@profitbricks.com>,
	Roman Pen <roman.penyaev@profitbricks.com>
Subject: Re: [PATCH v2 24/26] ibnbd: include client and server modules into kernel compilation
Date: Mon, 21 May 2018 13:33:32 +0800	[thread overview]
Message-ID: <201805211118.RXWb3Rqd%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180518130413.16997-25-roman.penyaev@profitbricks.com>

[-- Attachment #1: Type: text/plain, Size: 10593 bytes --]

Hi Roman,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.17-rc6 next-20180517]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Roman-Pen/InfiniBand-Transport-IBTRS-and-Network-Block-Device-IBNBD/20180520-222445
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/block/ibnbd/ibnbd-clt-sysfs.c: In function 'ibnbd_clt_parse_map_options':
>> drivers/block/ibnbd/ibnbd-clt-sysfs.c:139:12: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t {aka unsigned int}' [-Wformat=]
        pr_err("map_device: too many (> %lu) paths "
               ^~~~~~
   drivers/block/ibnbd/ibnbd-clt-sysfs.c: In function 'ibnbd_clt_map_device_store':
   drivers/block/ibnbd/ibnbd-clt-sysfs.c:613:1: warning: the frame size of 1612 bytes is larger than 1024 bytes [-Wframe-larger-than=]
    }
    ^

vim +139 drivers/block/ibnbd/ibnbd-clt-sysfs.c

ea541da7d Roman Pen 2018-05-18   88  
ea541da7d Roman Pen 2018-05-18   89  static int ibnbd_clt_parse_map_options(const char *buf,
ea541da7d Roman Pen 2018-05-18   90  				       char *sessname,
ea541da7d Roman Pen 2018-05-18   91  				       struct ibtrs_addr *paths,
ea541da7d Roman Pen 2018-05-18   92  				       size_t *path_cnt,
ea541da7d Roman Pen 2018-05-18   93  				       size_t max_path_cnt,
ea541da7d Roman Pen 2018-05-18   94  				       char *pathname,
ea541da7d Roman Pen 2018-05-18   95  				       enum ibnbd_access_mode *access_mode,
ea541da7d Roman Pen 2018-05-18   96  				       enum ibnbd_io_mode *io_mode)
ea541da7d Roman Pen 2018-05-18   97  {
ea541da7d Roman Pen 2018-05-18   98  	char *options, *sep_opt;
ea541da7d Roman Pen 2018-05-18   99  	char *p;
ea541da7d Roman Pen 2018-05-18  100  	substring_t args[MAX_OPT_ARGS];
ea541da7d Roman Pen 2018-05-18  101  	int opt_mask = 0;
ea541da7d Roman Pen 2018-05-18  102  	int token;
ea541da7d Roman Pen 2018-05-18  103  	int ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  104  	int i;
ea541da7d Roman Pen 2018-05-18  105  	int p_cnt = 0;
ea541da7d Roman Pen 2018-05-18  106  
ea541da7d Roman Pen 2018-05-18  107  	options = kstrdup(buf, GFP_KERNEL);
ea541da7d Roman Pen 2018-05-18  108  	if (!options)
ea541da7d Roman Pen 2018-05-18  109  		return -ENOMEM;
ea541da7d Roman Pen 2018-05-18  110  
ea541da7d Roman Pen 2018-05-18  111  	sep_opt = strstrip(options);
ea541da7d Roman Pen 2018-05-18  112  	strip(sep_opt);
ea541da7d Roman Pen 2018-05-18  113  	while ((p = strsep(&sep_opt, " ")) != NULL) {
ea541da7d Roman Pen 2018-05-18  114  		if (!*p)
ea541da7d Roman Pen 2018-05-18  115  			continue;
ea541da7d Roman Pen 2018-05-18  116  
ea541da7d Roman Pen 2018-05-18  117  		token = match_token(p, ibnbd_opt_tokens, args);
ea541da7d Roman Pen 2018-05-18  118  		opt_mask |= token;
ea541da7d Roman Pen 2018-05-18  119  
ea541da7d Roman Pen 2018-05-18  120  		switch (token) {
ea541da7d Roman Pen 2018-05-18  121  		case IBNBD_OPT_SESSNAME:
ea541da7d Roman Pen 2018-05-18  122  			p = match_strdup(args);
ea541da7d Roman Pen 2018-05-18  123  			if (!p) {
ea541da7d Roman Pen 2018-05-18  124  				ret = -ENOMEM;
ea541da7d Roman Pen 2018-05-18  125  				goto out;
ea541da7d Roman Pen 2018-05-18  126  			}
ea541da7d Roman Pen 2018-05-18  127  			if (strlen(p) > NAME_MAX) {
ea541da7d Roman Pen 2018-05-18  128  				pr_err("map_device: sessname too long\n");
ea541da7d Roman Pen 2018-05-18  129  				ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  130  				kfree(p);
ea541da7d Roman Pen 2018-05-18  131  				goto out;
ea541da7d Roman Pen 2018-05-18  132  			}
ea541da7d Roman Pen 2018-05-18  133  			strlcpy(sessname, p, NAME_MAX);
ea541da7d Roman Pen 2018-05-18  134  			kfree(p);
ea541da7d Roman Pen 2018-05-18  135  			break;
ea541da7d Roman Pen 2018-05-18  136  
ea541da7d Roman Pen 2018-05-18  137  		case IBNBD_OPT_PATH:
ea541da7d Roman Pen 2018-05-18  138  			if (p_cnt >= max_path_cnt) {
ea541da7d Roman Pen 2018-05-18 @139  				pr_err("map_device: too many (> %lu) paths "
ea541da7d Roman Pen 2018-05-18  140  				       "provided\n", max_path_cnt);
ea541da7d Roman Pen 2018-05-18  141  				ret = -ENOMEM;
ea541da7d Roman Pen 2018-05-18  142  				goto out;
ea541da7d Roman Pen 2018-05-18  143  			}
ea541da7d Roman Pen 2018-05-18  144  			p = match_strdup(args);
ea541da7d Roman Pen 2018-05-18  145  			if (!p) {
ea541da7d Roman Pen 2018-05-18  146  				ret = -ENOMEM;
ea541da7d Roman Pen 2018-05-18  147  				goto out;
ea541da7d Roman Pen 2018-05-18  148  			}
ea541da7d Roman Pen 2018-05-18  149  
ea541da7d Roman Pen 2018-05-18  150  			ret = ibtrs_addr_to_sockaddr(p, strlen(p), IBTRS_PORT,
ea541da7d Roman Pen 2018-05-18  151  						     &paths[p_cnt]);
ea541da7d Roman Pen 2018-05-18  152  			if (ret) {
ea541da7d Roman Pen 2018-05-18  153  				pr_err("Can't parse path %s: %d\n", p, ret);
ea541da7d Roman Pen 2018-05-18  154  				kfree(p);
ea541da7d Roman Pen 2018-05-18  155  				goto out;
ea541da7d Roman Pen 2018-05-18  156  			}
ea541da7d Roman Pen 2018-05-18  157  
ea541da7d Roman Pen 2018-05-18  158  			p_cnt++;
ea541da7d Roman Pen 2018-05-18  159  
ea541da7d Roman Pen 2018-05-18  160  			kfree(p);
ea541da7d Roman Pen 2018-05-18  161  			break;
ea541da7d Roman Pen 2018-05-18  162  
ea541da7d Roman Pen 2018-05-18  163  		case IBNBD_OPT_DEV_PATH:
ea541da7d Roman Pen 2018-05-18  164  			p = match_strdup(args);
ea541da7d Roman Pen 2018-05-18  165  			if (!p) {
ea541da7d Roman Pen 2018-05-18  166  				ret = -ENOMEM;
ea541da7d Roman Pen 2018-05-18  167  				goto out;
ea541da7d Roman Pen 2018-05-18  168  			}
ea541da7d Roman Pen 2018-05-18  169  			if (strlen(p) > NAME_MAX) {
ea541da7d Roman Pen 2018-05-18  170  				pr_err("map_device: Device path too long\n");
ea541da7d Roman Pen 2018-05-18  171  				ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  172  				kfree(p);
ea541da7d Roman Pen 2018-05-18  173  				goto out;
ea541da7d Roman Pen 2018-05-18  174  			}
ea541da7d Roman Pen 2018-05-18  175  			strlcpy(pathname, p, NAME_MAX);
ea541da7d Roman Pen 2018-05-18  176  			kfree(p);
ea541da7d Roman Pen 2018-05-18  177  			break;
ea541da7d Roman Pen 2018-05-18  178  
ea541da7d Roman Pen 2018-05-18  179  		case IBNBD_OPT_ACCESS_MODE:
ea541da7d Roman Pen 2018-05-18  180  			p = match_strdup(args);
ea541da7d Roman Pen 2018-05-18  181  			if (!p) {
ea541da7d Roman Pen 2018-05-18  182  				ret = -ENOMEM;
ea541da7d Roman Pen 2018-05-18  183  				goto out;
ea541da7d Roman Pen 2018-05-18  184  			}
ea541da7d Roman Pen 2018-05-18  185  
ea541da7d Roman Pen 2018-05-18  186  			if (!strcmp(p, "ro")) {
ea541da7d Roman Pen 2018-05-18  187  				*access_mode = IBNBD_ACCESS_RO;
ea541da7d Roman Pen 2018-05-18  188  			} else if (!strcmp(p, "rw")) {
ea541da7d Roman Pen 2018-05-18  189  				*access_mode = IBNBD_ACCESS_RW;
ea541da7d Roman Pen 2018-05-18  190  			} else if (!strcmp(p, "migration")) {
ea541da7d Roman Pen 2018-05-18  191  				*access_mode = IBNBD_ACCESS_MIGRATION;
ea541da7d Roman Pen 2018-05-18  192  			} else {
ea541da7d Roman Pen 2018-05-18  193  				pr_err("map_device: Invalid access_mode:"
ea541da7d Roman Pen 2018-05-18  194  				       " '%s'\n", p);
ea541da7d Roman Pen 2018-05-18  195  				ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  196  				kfree(p);
ea541da7d Roman Pen 2018-05-18  197  				goto out;
ea541da7d Roman Pen 2018-05-18  198  			}
ea541da7d Roman Pen 2018-05-18  199  
ea541da7d Roman Pen 2018-05-18  200  			kfree(p);
ea541da7d Roman Pen 2018-05-18  201  			break;
ea541da7d Roman Pen 2018-05-18  202  
ea541da7d Roman Pen 2018-05-18  203  		case IBNBD_OPT_IO_MODE:
ea541da7d Roman Pen 2018-05-18  204  			p = match_strdup(args);
ea541da7d Roman Pen 2018-05-18  205  			if (!p) {
ea541da7d Roman Pen 2018-05-18  206  				ret = -ENOMEM;
ea541da7d Roman Pen 2018-05-18  207  				goto out;
ea541da7d Roman Pen 2018-05-18  208  			}
ea541da7d Roman Pen 2018-05-18  209  			if (!strcmp(p, "blockio")) {
ea541da7d Roman Pen 2018-05-18  210  				*io_mode = IBNBD_BLOCKIO;
ea541da7d Roman Pen 2018-05-18  211  			} else if (!strcmp(p, "fileio")) {
ea541da7d Roman Pen 2018-05-18  212  				*io_mode = IBNBD_FILEIO;
ea541da7d Roman Pen 2018-05-18  213  			} else {
ea541da7d Roman Pen 2018-05-18  214  				pr_err("map_device: Invalid io_mode: '%s'.\n",
ea541da7d Roman Pen 2018-05-18  215  				       p);
ea541da7d Roman Pen 2018-05-18  216  				ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  217  				kfree(p);
ea541da7d Roman Pen 2018-05-18  218  				goto out;
ea541da7d Roman Pen 2018-05-18  219  			}
ea541da7d Roman Pen 2018-05-18  220  			kfree(p);
ea541da7d Roman Pen 2018-05-18  221  			break;
ea541da7d Roman Pen 2018-05-18  222  
ea541da7d Roman Pen 2018-05-18  223  		default:
ea541da7d Roman Pen 2018-05-18  224  			pr_err("map_device: Unknown parameter or missing value"
ea541da7d Roman Pen 2018-05-18  225  			       " '%s'\n", p);
ea541da7d Roman Pen 2018-05-18  226  			ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  227  			goto out;
ea541da7d Roman Pen 2018-05-18  228  		}
ea541da7d Roman Pen 2018-05-18  229  	}
ea541da7d Roman Pen 2018-05-18  230  
ea541da7d Roman Pen 2018-05-18  231  	for (i = 0; i < ARRAY_SIZE(ibnbd_opt_mandatory); i++) {
ea541da7d Roman Pen 2018-05-18  232  		if ((opt_mask & ibnbd_opt_mandatory[i])) {
ea541da7d Roman Pen 2018-05-18  233  			ret = 0;
ea541da7d Roman Pen 2018-05-18  234  		} else {
ea541da7d Roman Pen 2018-05-18  235  			pr_err("map_device: Parameters missing\n");
ea541da7d Roman Pen 2018-05-18  236  			ret = -EINVAL;
ea541da7d Roman Pen 2018-05-18  237  			break;
ea541da7d Roman Pen 2018-05-18  238  		}
ea541da7d Roman Pen 2018-05-18  239  	}
ea541da7d Roman Pen 2018-05-18  240  
ea541da7d Roman Pen 2018-05-18  241  out:
ea541da7d Roman Pen 2018-05-18  242  	*path_cnt = p_cnt;
ea541da7d Roman Pen 2018-05-18  243  	kfree(options);
ea541da7d Roman Pen 2018-05-18  244  	return ret;
ea541da7d Roman Pen 2018-05-18  245  }
ea541da7d Roman Pen 2018-05-18  246  

:::::: The code at line 139 was first introduced by commit
:::::: ea541da7d8b2518d2b1d68d23d19bb13cca1119b ibnbd: client: sysfs interface functions

:::::: TO: Roman Pen <roman.penyaev@profitbricks.com>
:::::: CC: 0day robot <lkp@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 62305 bytes --]

  parent reply	other threads:[~2018-05-21  5:33 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-18 13:03 [PATCH v2 00/26] InfiniBand Transport (IBTRS) and Network Block Device (IBNBD) Roman Pen
2018-05-18 13:03 ` [PATCH v2 01/26] rculist: introduce list_next_or_null_rr_rcu() Roman Pen
2018-05-18 16:56   ` Linus Torvalds
2018-05-19 20:25     ` Roman Penyaev
2018-05-19 21:04       ` Linus Torvalds
2018-05-19 16:37   ` Paul E. McKenney
2018-05-19 20:20     ` Roman Penyaev
2018-05-19 20:56       ` Linus Torvalds
2018-05-20  0:43       ` Paul E. McKenney
2018-05-21 13:50         ` Roman Penyaev
2018-05-21 15:16           ` Linus Torvalds
2018-05-21 15:33             ` Paul E. McKenney
2018-05-22  9:09               ` Roman Penyaev
2018-05-22 16:36                 ` Paul E. McKenney
2018-05-22 16:38                 ` Linus Torvalds
2018-05-22 17:04                   ` Paul E. McKenney
2018-05-21 15:31           ` Paul E. McKenney
2018-05-22  9:09             ` Roman Penyaev
2018-05-22 17:03               ` Paul E. McKenney
2018-05-18 13:03 ` [PATCH v2 02/26] sysfs: export sysfs_remove_file_self() Roman Pen
2018-05-18 15:08   ` Tejun Heo
2018-05-18 13:03 ` [PATCH v2 03/26] ibtrs: public interface header to establish RDMA connections Roman Pen
2018-05-18 13:03 ` [PATCH v2 04/26] ibtrs: private headers with IBTRS protocol structs and helpers Roman Pen
2018-05-18 13:03 ` [PATCH v2 05/26] ibtrs: core: lib functions shared between client and server modules Roman Pen
2018-05-18 13:03 ` [PATCH v2 06/26] ibtrs: client: private header with client structs and functions Roman Pen
2018-05-18 13:03 ` [PATCH v2 07/26] ibtrs: client: main functionality Roman Pen
2018-05-18 13:03 ` [PATCH v2 08/26] ibtrs: client: statistics functions Roman Pen
2018-05-18 13:03 ` [PATCH v2 09/26] ibtrs: client: sysfs interface functions Roman Pen
2018-05-18 13:03 ` [PATCH v2 10/26] ibtrs: server: private header with server structs and functions Roman Pen
2018-05-18 13:03 ` [PATCH v2 11/26] ibtrs: server: main functionality Roman Pen
2018-05-18 13:03 ` [PATCH v2 12/26] ibtrs: server: statistics functions Roman Pen
2018-05-18 13:04 ` [PATCH v2 13/26] ibtrs: server: sysfs interface functions Roman Pen
2018-05-18 13:04 ` [PATCH v2 14/26] ibtrs: include client and server modules into kernel compilation Roman Pen
2018-05-20 22:14   ` kbuild test robot
2018-05-21  6:36   ` kbuild test robot
2018-05-22  5:05   ` Leon Romanovsky
2018-05-22  9:27     ` Roman Penyaev
2018-05-22 13:18       ` Leon Romanovsky
2018-05-22 16:12         ` Roman Penyaev
2018-05-18 13:04 ` [PATCH v2 15/26] ibtrs: a bit of documentation Roman Pen
2018-05-18 13:04 ` [PATCH v2 16/26] ibnbd: private headers with IBNBD protocol structs and helpers Roman Pen
2018-05-18 13:04 ` [PATCH v2 17/26] ibnbd: client: private header with client structs and functions Roman Pen
2018-05-18 13:04 ` [PATCH v2 18/26] ibnbd: client: main functionality Roman Pen
2018-05-18 13:04 ` [PATCH v2 19/26] ibnbd: client: sysfs interface functions Roman Pen
2018-05-18 13:04 ` [PATCH v2 20/26] ibnbd: server: private header with server structs and functions Roman Pen
2018-05-18 13:04 ` [PATCH v2 21/26] ibnbd: server: main functionality Roman Pen
2018-05-18 13:04 ` [PATCH v2 22/26] ibnbd: server: functionality for IO submission to file or block dev Roman Pen
2018-05-18 13:04 ` [PATCH v2 23/26] ibnbd: server: sysfs interface functions Roman Pen
2018-05-18 13:04 ` [PATCH v2 24/26] ibnbd: include client and server modules into kernel compilation Roman Pen
2018-05-20 17:21   ` kbuild test robot
2018-05-20 22:14   ` kbuild test robot
2018-05-21  5:33   ` kbuild test robot [this message]
2018-05-18 13:04 ` [PATCH v2 25/26] ibnbd: a bit of documentation Roman Pen
2018-05-18 13:04 ` [PATCH v2 26/26] MAINTAINERS: Add maintainer for IBNBD/IBTRS modules Roman Pen
2018-05-22 16:45 ` [PATCH v2 00/26] InfiniBand Transport (IBTRS) and Network Block Device (IBNBD) Jason Gunthorpe

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=201805211118.RXWb3Rqd%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=axboe@kernel.dk \
    --cc=bart.vanassche@sandisk.com \
    --cc=danil.kipnis@profitbricks.com \
    --cc=dledford@redhat.com \
    --cc=hch@infradead.org \
    --cc=jinpu.wang@profitbricks.com \
    --cc=kbuild-all@01.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=roman.penyaev@profitbricks.com \
    --cc=sagi@grimberg.me \
    --cc=swapnil.ingle@profitbricks.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).