fs/crypto/crypto.c:360:6: error: dereferencing pointer to incomplete type

From: kbuild test robot
Date: Sun Dec 25 2016 - 20:47:01 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 7ce7d89f48834cefece7804d38fc5d85382edf77
commit: d475a507457b5cafa428871a473d0dcc828c5f68 ubifs: Add skeleton for fscrypto
date: 13 days ago
config: x86_64-randconfig-n0-12260905 (attached as .config)
compiler: gcc-4.8 (Debian 4.8.4-1) 4.8.4
reproduce:
git checkout d475a507457b5cafa428871a473d0dcc828c5f68
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

fs/crypto/crypto.c: In function 'fscrypt_zeroout_range':
fs/crypto/crypto.c:355:3: error: implicit declaration of function 'bio_alloc' [-Werror=implicit-function-declaration]
bio = bio_alloc(GFP_NOWAIT, 1);
^
fs/crypto/crypto.c:355:7: warning: assignment makes pointer from integer without a cast [enabled by default]
bio = bio_alloc(GFP_NOWAIT, 1);
^
>> fs/crypto/crypto.c:360:6: error: dereferencing pointer to incomplete type
bio->bi_bdev = inode->i_sb->s_bdev;
^
fs/crypto/crypto.c:361:6: error: dereferencing pointer to incomplete type
bio->bi_iter.bi_sector =
^
fs/crypto/crypto.c:363:3: error: implicit declaration of function 'bio_set_op_attrs' [-Werror=implicit-function-declaration]
bio_set_op_attrs(bio, REQ_OP_WRITE, 0);
^
fs/crypto/crypto.c:364:3: error: implicit declaration of function 'bio_add_page' [-Werror=implicit-function-declaration]
ret = bio_add_page(bio, ciphertext_page,
^
fs/crypto/crypto.c:369:4: error: implicit declaration of function 'bio_put' [-Werror=implicit-function-declaration]
bio_put(bio);
^
fs/crypto/crypto.c:373:3: error: implicit declaration of function 'submit_bio_wait' [-Werror=implicit-function-declaration]
err = submit_bio_wait(bio);
^
fs/crypto/crypto.c:374:24: error: dereferencing pointer to incomplete type
if ((err == 0) && bio->bi_error)
^
fs/crypto/crypto.c: In function 'completion_pages':
fs/crypto/crypto.c:457:2: error: implicit declaration of function 'bio_for_each_segment_all' [-Werror=implicit-function-declaration]
bio_for_each_segment_all(bv, bio, i) {
^
fs/crypto/crypto.c:457:39: error: expected ';' before '{' token
bio_for_each_segment_all(bv, bio, i) {
^
cc1: some warnings being treated as errors

vim +360 fs/crypto/crypto.c

0b81d077 Jaegeuk Kim 2015-05-15 349 err = do_page_crypto(inode, FS_ENCRYPT, lblk,
b32e4482 Jaegeuk Kim 2016-04-11 350 ZERO_PAGE(0), ciphertext_page,
7821d4dd David Gstir 2016-11-13 351 PAGE_SIZE, 0, GFP_NOFS);
0b81d077 Jaegeuk Kim 2015-05-15 352 if (err)
0b81d077 Jaegeuk Kim 2015-05-15 353 goto errout;
0b81d077 Jaegeuk Kim 2015-05-15 354
b32e4482 Jaegeuk Kim 2016-04-11 @355 bio = bio_alloc(GFP_NOWAIT, 1);
0b81d077 Jaegeuk Kim 2015-05-15 356 if (!bio) {
0b81d077 Jaegeuk Kim 2015-05-15 357 err = -ENOMEM;
0b81d077 Jaegeuk Kim 2015-05-15 358 goto errout;
0b81d077 Jaegeuk Kim 2015-05-15 359 }
0b81d077 Jaegeuk Kim 2015-05-15 @360 bio->bi_bdev = inode->i_sb->s_bdev;
0b81d077 Jaegeuk Kim 2015-05-15 361 bio->bi_iter.bi_sector =
0b81d077 Jaegeuk Kim 2015-05-15 362 pblk << (inode->i_sb->s_blocksize_bits - 9);
95fe6c1a Mike Christie 2016-06-05 363 bio_set_op_attrs(bio, REQ_OP_WRITE, 0);

:::::: The code at line 360 was first introduced by commit
:::::: 0b81d0779072696371822e5ed9e7c6292e547024 fs crypto: move per-file encryption from f2fs tree to fs/crypto

:::::: TO: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
:::::: CC: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip