[cryptodev:master 49/61] drivers/block/drbd/drbd_worker.c:304:1: warning: 'drbd_csum_ee' uses dynamic stack allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
head:   2f313e029020f1fa5f58f38f48ff6988d67fc3c1
commit: 9534d67195118c39edf2ec0bb74e59993c4c0677 [49/61] drbd: Use shash and ahash
config: s390-allyesconfig (attached as .config)
reproduce:
        wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout 9534d67195118c39edf2ec0bb74e59993c4c0677
        # save the attached .config to linux build tree
        make.cross ARCH=s390 

All warnings (new ones prefixed by >>):

   drivers/block/drbd/drbd_worker.c: In function 'drbd_csum_ee':
>> drivers/block/drbd/drbd_worker.c:304:1: warning: 'drbd_csum_ee' uses dynamic stack allocation
    }
    ^
   drivers/block/drbd/drbd_worker.c: In function 'drbd_csum_bio':
>> drivers/block/drbd/drbd_worker.c:327:1: warning: 'drbd_csum_bio' uses dynamic stack allocation
    }
    ^
--
   drivers/block/drbd/drbd_receiver.c: In function 'drbd_do_auth':
>> drivers/block/drbd/drbd_receiver.c:5092:1: warning: 'drbd_do_auth' uses dynamic stack allocation
    }
    ^

vim +/drbd_csum_ee +304 drivers/block/drbd/drbd_worker.c

45bb912b Lars Ellenberg      2010-05-14  298  	/* and now the last, possibly only partially used page */
db830c46 Andreas Gruenbacher 2011-02-04  299  	len = peer_req->i.size & (PAGE_SIZE - 1);
45bb912b Lars Ellenberg      2010-05-14  300  	sg_set_page(&sg, page, len ?: PAGE_SIZE, 0);
9534d671 Herbert Xu          2016-01-24  301  	ahash_request_set_crypt(req, &sg, digest, sg.length);
9534d671 Herbert Xu          2016-01-24  302  	crypto_ahash_finup(req);
9534d671 Herbert Xu          2016-01-24  303  	ahash_request_zero(req);
45bb912b Lars Ellenberg      2010-05-14 @304  }
45bb912b Lars Ellenberg      2010-05-14  305  
9534d671 Herbert Xu          2016-01-24  306  void drbd_csum_bio(struct crypto_ahash *tfm, struct bio *bio, void *digest)
b411b363 Philipp Reisner     2009-09-25  307  {
9534d671 Herbert Xu          2016-01-24  308  	AHASH_REQUEST_ON_STACK(req, tfm);
b411b363 Philipp Reisner     2009-09-25  309  	struct scatterlist sg;
7988613b Kent Overstreet     2013-11-23  310  	struct bio_vec bvec;
7988613b Kent Overstreet     2013-11-23  311  	struct bvec_iter iter;
b411b363 Philipp Reisner     2009-09-25  312  
9534d671 Herbert Xu          2016-01-24  313  	ahash_request_set_tfm(req, tfm);
9534d671 Herbert Xu          2016-01-24  314  	ahash_request_set_callback(req, 0, NULL, NULL);
b411b363 Philipp Reisner     2009-09-25  315  
b411b363 Philipp Reisner     2009-09-25  316  	sg_init_table(&sg, 1);
9534d671 Herbert Xu          2016-01-24  317  	crypto_ahash_init(req);
b411b363 Philipp Reisner     2009-09-25  318  
7988613b Kent Overstreet     2013-11-23  319  	bio_for_each_segment(bvec, bio, iter) {
7988613b Kent Overstreet     2013-11-23  320  		sg_set_page(&sg, bvec.bv_page, bvec.bv_len, bvec.bv_offset);
9534d671 Herbert Xu          2016-01-24  321  		ahash_request_set_crypt(req, &sg, NULL, sg.length);
9534d671 Herbert Xu          2016-01-24  322  		crypto_ahash_update(req);
b411b363 Philipp Reisner     2009-09-25  323  	}
9534d671 Herbert Xu          2016-01-24  324  	ahash_request_set_crypt(req, NULL, digest, 0);
9534d671 Herbert Xu          2016-01-24  325  	crypto_ahash_final(req);
9534d671 Herbert Xu          2016-01-24  326  	ahash_request_zero(req);
b411b363 Philipp Reisner     2009-09-25 @327  }
b411b363 Philipp Reisner     2009-09-25  328  
9676c760 Lars Ellenberg      2011-02-22  329  /* MAYBE merge common code with w_e_end_ov_req */
99920dc5 Andreas Gruenbacher 2011-03-16  330  static int w_e_send_csum(struct drbd_work *w, int cancel)

:::::: The code at line 304 was first introduced by commit
:::::: 45bb912bd5ea4d2b3a270a93cbdf767a0e2df6f5 drbd: Allow drbd_epoch_entries to use multiple bios. This should allow for better performance if the lower level IO stack of the peers differs in limits exposed either via the queue, or via some merge_bvec_fn.

:::::: TO: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx>
:::::: CC: Philipp Reisner <philipp.reisner@xxxxxxxxxx>

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

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux