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 for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20131101150153.cc4b855937372d1670f2f4f8@canb.auug.org.au>
Date:	Fri, 1 Nov 2013 15:01:53 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Jens Axboe <axboe@...nel.dk>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: linux-next: build failure after merge of the block tree

Hi Jens,

After merging the block tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

drivers/block/loop.c: In function 'lo_rw_aio':
drivers/block/loop.c:243:28: error: 'struct bio' has no member named 'bi_sector'
  loff_t pos = ((loff_t) bio->bi_sector << 9) + lo->lo_offset;
                            ^
drivers/block/loop.c:254:2: error: implicit declaration of function 'bio_iovec_idx' [-Werror=implicit-function-declaration]
  bvec = bio_iovec_idx(bio, bio->bi_idx);
  ^
drivers/block/loop.c:254:31: error: 'struct bio' has no member named 'bi_idx'
  bvec = bio_iovec_idx(bio, bio->bi_idx);
                               ^
drivers/block/loop.c: In function 'lo_discard':
drivers/block/loop.c:476:28: error: 'struct bio' has no member named 'bi_sector'
  loff_t pos = ((loff_t) bio->bi_sector << 9) + lo->lo_offset;
                            ^
drivers/block/loop.c:489:50: error: 'struct bio' has no member named 'bi_size'
  ret = file->f_op->fallocate(file, mode, pos, bio->bi_size);
                                                  ^

Basically caused by in incomplete merge between the block tree and the
aio-direct tree (see my previous email).

I was going to apply a merge fix patch, but I also got these:

In file included from include/linux/blkdev.h:18:0,
                 from drivers/block/ps3disk.c:22:
drivers/block/ps3disk.c: In function 'ps3disk_scatter_gather':
include/linux/bio.h:239:9: error: incompatible types when assigning to type 'struct bio_vec *' from type 'struct bio_vec'
   ((bvl = bio_iter_iovec((bio), (iter))), 1);  \
         ^
include/linux/bio.h:243:2: note: in expansion of macro '__bio_for_each_segment'
  __bio_for_each_segment(bvl, bio, iter, (bio)->bi_iter)
  ^
include/linux/blkdev.h:748:3: note: in expansion of macro 'bio_for_each_segment'
   bio_for_each_segment(bvl, _iter.bio, _iter.iter)
   ^
drivers/block/ps3disk.c:102:2: note: in expansion of macro 'rq_for_each_segment'
  rq_for_each_segment(bvec, req, iter) {
  ^
include/linux/bio.h:239:41: warning: left-hand operand of comma expression has no effect [-Wunused-value]
   ((bvl = bio_iter_iovec((bio), (iter))), 1);  \
                                         ^
include/linux/bio.h:243:2: note: in expansion of macro '__bio_for_each_segment'
  __bio_for_each_segment(bvl, bio, iter, (bio)->bi_iter)
  ^
include/linux/blkdev.h:748:3: note: in expansion of macro 'bio_for_each_segment'
   bio_for_each_segment(bvl, _iter.bio, _iter.iter)
   ^
drivers/block/ps3disk.c:102:2: note: in expansion of macro 'rq_for_each_segment'
  rq_for_each_segment(bvec, req, iter) {
  ^
include/linux/bio.h:240:45: error: request for member 'bv_len' in something not a structure or union
       bio_advance_iter((bio), &(iter), (bvl).bv_len))
                                             ^
include/linux/bio.h:243:2: note: in expansion of macro '__bio_for_each_segment'
  __bio_for_each_segment(bvl, bio, iter, (bio)->bi_iter)
  ^
include/linux/blkdev.h:748:3: note: in expansion of macro 'bio_for_each_segment'
   bio_for_each_segment(bvl, _iter.bio, _iter.iter)
   ^
drivers/block/ps3disk.c:102:2: note: in expansion of macro 'rq_for_each_segment'
  rq_for_each_segment(bvec, req, iter) {
  ^
In file included from block/blk-merge.c:6:0:
block/blk-merge.c: In function '__blk_recalc_rq_segments':
include/linux/bio.h:174:25: warning: 'bvprv.bv_len' may be used uninitialized in this function [-Wmaybe-uninitialized]
  ((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2)))
                         ^
block/blk-merge.c:15:21: note: 'bvprv.bv_len' was declared here
  struct bio_vec bv, bvprv;
                     ^
In file included from block/blk-merge.c:6:0:
include/linux/bio.h:154:55: warning: 'bvprv.bv_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
 #define bvec_to_phys(bv) (page_to_phys((bv)->bv_page) + (unsigned long) (bv)->bv_offset)
                                                       ^
block/blk-merge.c:15:21: note: 'bvprv.bv_offset' was declared here
  struct bio_vec bv, bvprv;
                     ^
In file included from arch/powerpc/include/asm/page.h:412:0,
                 from arch/powerpc/include/asm/thread_info.h:34,
                 from include/linux/thread_info.h:54,
                 from include/linux/preempt.h:9,
                 from include/linux/spinlock.h:50,
                 from include/linux/seqlock.h:35,
                 from include/linux/time.h:5,
                 from include/linux/stat.h:18,
                 from include/linux/module.h:10,
                 from block/blk-merge.c:5:
include/asm-generic/memory_model.h:52:52: warning: 'bvprv.bv_page' may be used uninitialized in this function [-Wmaybe-uninitialized]
 #define __page_to_pfn(page) (unsigned long)((page) - vmemmap)
                                                    ^
block/blk-merge.c:15:21: note: 'bvprv.bv_page' was declared here
  struct bio_vec bv, bvprv;
                     ^

Some of this may be incomplete merge resolution on my part (help would
be appreciated), but some seems to maybe need more work.

I have used the block tree from next-20131031 for today.

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ