tree:
https://android.googlesource.com/kernel/goldfish android-3.18
head: e57956d9b06ef68154e596d853a08dbb24654a07
commit: 14b7e7aed01fb11261d841ea622a31342d6a57ad [13244/17780] libata: have
ata_scsi_rw_xlat() fail invalid passthrough requests
config: powerpc-randconfig-r016-20210213 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 5.5.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
git remote add android-goldfish
https://android.googlesource.com/kernel/goldfish
git fetch --no-tags android-goldfish android-3.18
git checkout 14b7e7aed01fb11261d841ea622a31342d6a57ad
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-5.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
include/linux/blk-mq.h:111:2: error: unknown type name 'softirq_done_fn'
softirq_done_fn *complete;
^
include/linux/blk-mq.h:162:35: warning: 'struct request' declared inside
parameter list
void blk_mq_insert_request(struct request *, bool, bool, bool);
^
include/linux/blk-mq.h:164:33: warning: 'struct request' declared inside
parameter list
void blk_mq_free_request(struct request *rq);
^
include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
include/linux/blk-mq.h:197:22: error: invalid application of 'sizeof' to
incomplete type 'struct request'
return pdu - sizeof(struct request);
^
include/linux/blk-mq.h: In function 'blk_mq_rq_to_pdu':
include/linux/blk-mq.h:201:30: error: dereferencing pointer to incomplete type
'struct request'
return (void *) rq + sizeof(*rq);
^
In file included from drivers/ata/libata-scsi.c:43:0:
include/scsi/scsi_cmnd.h: At top level:
include/scsi/scsi_cmnd.h:30:25: warning: "BLK_MAX_CDB" is not defined
[-Wundef]
#if (MAX_COMMAND_SIZE > BLK_MAX_CDB)
^
include/scsi/scsi_cmnd.h:31:3: error: #error MAX_COMMAND_SIZE can not be bigger than
BLK_MAX_CDB
# error MAX_COMMAND_SIZE can not be bigger than BLK_MAX_CDB
^
include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd':
include/scsi/scsi_cmnd.h:197:9: error: implicit declaration of function
'blk_bidi_rq' [-Werror=implicit-function-declaration]
return blk_bidi_rq(cmd->request) &&
^
include/scsi/scsi_cmnd.h: In function 'scsi_get_lba':
include/scsi/scsi_cmnd.h:290:9: error: implicit declaration of function
'blk_rq_pos' [-Werror=implicit-function-declaration]
return blk_rq_pos(scmd->request);
^
In file included from drivers/ata/libata-scsi.c:44:0:
include/scsi/scsi_eh.h: At top level:
include/scsi/scsi_eh.h:84:24: error: 'BLK_MAX_CDB' undeclared here (not in a
function)
unsigned char eh_cmnd[BLK_MAX_CDB];
^
In file included from include/linux/libata.h:35:0,
from drivers/ata/libata-scsi.c:48:
include/linux/ata.h: In function 'ata_id_is_lba_capacity_ok':
include/linux/ata.h:930:17: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
(lba_sects >= 16383 * 63 * id[ATA_ID_HEADS]))
^
In file included from drivers/ata/libata-scsi.c:48:0:
include/linux/libata.h: In function 'ata_msg_init':
include/linux/libata.h:112:23: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
if (dval < 0 || dval >= (sizeof(u32) * 8))
^
drivers/ata/libata-scsi.c: In function 'ata_scsi_park_store':
drivers/ata/libata-scsi.c:266:17: warning: signed and unsigned type in conditional
expression [-Wsign-compare]
return rc ? rc : len;
^
drivers/ata/libata-scsi.c: In function 'ata_sas_scsi_ioctl':
drivers/ata/libata-scsi.c:698:12: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (val != ata_ioc32(ap))
^
In file included from include/linux/linkage.h:4:0,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/slab.h:14,
from drivers/ata/libata-scsi.c:36:
drivers/ata/libata-scsi.c: In function 'atapi_drain_needed':
drivers/ata/libata-scsi.c:1103:29: error: 'REQ_TYPE_BLOCK_PC' undeclared (first
use in this function)
if (likely(rq->cmd_type != REQ_TYPE_BLOCK_PC))
^
include/linux/compiler.h:159:40: note: in definition of macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
drivers/ata/libata-scsi.c:1103:29: note: each undeclared identifier is reported only
once for each function it appears in
if (likely(rq->cmd_type != REQ_TYPE_BLOCK_PC))
^
include/linux/compiler.h:159:40: note: in definition of macro 'likely'
# define likely(x) __builtin_expect(!!(x), 1)
^
drivers/ata/libata-scsi.c:1106:7: error: implicit declaration of function
'blk_rq_bytes' [-Werror=implicit-function-declaration]
if (!blk_rq_bytes(rq) || (rq->cmd_flags & REQ_WRITE))
^
drivers/ata/libata-scsi.c: In function 'ata_scsi_dev_config':
drivers/ata/libata-scsi.c:1121:2: error: implicit declaration of function
'blk_queue_max_hw_sectors' [-Werror=implicit-function-declaration]
blk_queue_max_hw_sectors(q, dev->max_sectors);
^
drivers/ata/libata-scsi.c:1129:3: error: implicit declaration of function
'blk_queue_update_dma_pad' [-Werror=implicit-function-declaration]
blk_queue_update_dma_pad(q, ATA_DMA_PAD_SZ - 1);
^
drivers/ata/libata-scsi.c:1132:35: error: dereferencing pointer to incomplete type
'struct request_queue'
buf = kmalloc(ATAPI_MAX_DRAIN, q->bounce_gfp | GFP_KERNEL);
^
drivers/ata/libata-scsi.c:1138:3: error: implicit declaration of function
'blk_queue_dma_drain' [-Werror=implicit-function-declaration]
blk_queue_dma_drain(q, atapi_drain_needed, buf, ATAPI_MAX_DRAIN);
^
drivers/ata/libata-scsi.c:1156:2: error: implicit declaration of function
'blk_queue_update_dma_alignment' [-Werror=implicit-function-declaration]
blk_queue_update_dma_alignment(q, sdev->sector_size - 1);
^
drivers/ata/libata-scsi.c:1169:2: error: implicit declaration of function
'blk_queue_flush_queueable' [-Werror=implicit-function-declaration]
blk_queue_flush_queueable(q, false);
^
drivers/ata/libata-scsi.c: In function 'ata_check_nblocks':
> drivers/ata/libata-scsi.c:1648:7: error: implicit declaration of
function 'blk_rq_is_passthrough' [-Werror=implicit-function-declaration]
if (!blk_rq_is_passthrough(rq))
^
drivers/ata/libata-scsi.c: In function 'ata_scsi_mode_select_xlat':
drivers/ata/libata-scsi.c:3263:56: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (!scsi_sg_count(scmd) || scsi_sglist(scmd)->length < len)
^
drivers/ata/libata-scsi.c:3269:10: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (len < hdr_len)
^
drivers/ata/libata-scsi.c:3279:10: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (len < bd_len)
^
drivers/ata/libata-scsi.c:3315:13: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (pg_len > len)
^
drivers/ata/libata-scsi.c:3332:10: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (len > pg_len)
^
In file included from include/linux/linkage.h:4:0,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/slab.h:14,
from drivers/ata/libata-scsi.c:36:
drivers/ata/libata-scsi.c: In function '__ata_scsi_queuecmd':
drivers/ata/libata-scsi.c:3454:14: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
len > dev->cdb_len ||
^
include/linux/compiler.h:160:42: note: in definition of macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
drivers/ata/libata-scsi.c: In function 'ata_scsi_add_hosts':
drivers/ata/libata-scsi.c:3652:16: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
for (i = 0; i < host->n_ports; i++) {
^
drivers/ata/libata-scsi.c: In function 'ata_scsi_user_scan':
drivers/ata/libata-scsi.c:3984:10: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (lun != SCAN_WILD_CARD && lun)
^
drivers/ata/libata-scsi.c:3988:15: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (channel != SCAN_WILD_CARD && channel)
^
drivers/ata/libata-scsi.c:3992:10: warning: comparison between signed and unsigned
integer expressions [-Wsign-compare]
if (id != SCAN_WILD_CARD && id)
^
drivers/ata/libata-scsi.c: In function 'atapi_drain_needed':
drivers/ata/libata-scsi.c:1110:1: warning: control reaches end of non-void function
[-Wreturn-type]
}
^
cc1: some warnings being treated as errors
vim +/blk_rq_is_passthrough +1648 drivers/ata/libata-scsi.c
1642
1643 static bool ata_check_nblocks(struct scsi_cmnd *scmd, u32 n_blocks)
1644 {
1645 struct request *rq = scmd->request;
1646 u32 req_blocks;
1647
1648 if (!blk_rq_is_passthrough(rq))
1649 return true;
1650
1651 req_blocks = blk_rq_bytes(rq) / scmd->device->sector_size;
1652 if (n_blocks > req_blocks)
1653 return false;
1654
1655 return true;
1656 }
1657
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org