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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202108241212.WjGD62D6-lkp@intel.com>
Date:   Tue, 24 Aug 2021 12:13:17 +0800
From:   kernel test robot <lkp@...el.com>
To:     Jens Axboe <axboe@...nel.dk>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Kees Cook <keescook@...omium.org>
Subject: [linux-stable-rc:linux-4.4.y 9951/9999]
 drivers/ata/libata-scsi.c:1662:7: error: implicit declaration of function
 'blk_rq_is_passthrough'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y
head:   48a16935fdcdb0926ed5e743a9d8d238bbc9c243
commit: 5d784a2d4a0e302f51f6d96f44f5c21de47d6f19 [9951/9999] libata: have ata_scsi_rw_xlat() fail invalid passthrough requests
config: powerpc-buildonly-randconfig-r002-20210822 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 7.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
        # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/commit/?id=5d784a2d4a0e302f51f6d96f44f5c21de47d6f19
        git remote add linux-stable-rc https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
        git fetch --no-tags linux-stable-rc linux-4.4.y
        git checkout 5d784a2d4a0e302f51f6d96f44f5c21de47d6f19
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=powerpc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

     ^~~~~~~~~~~~~~~
   include/linux/blk-mq.h: In function 'blk_mq_rq_from_pdu':
   include/linux/blk-mq.h:247: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:251:12: error: invalid use of undefined type 'struct request'
     return rq + 1;
               ^
   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, evaluates to 0 [-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_cmd_to_driver':
   include/scsi/scsi_cmnd.h:155:45: error: dereferencing pointer to incomplete type 'struct request'
     return *(struct scsi_driver **)cmd->request->rq_disk->private_data;
                                                ^~
   include/scsi/scsi_cmnd.h: In function 'scsi_bidi_cmnd':
   include/scsi/scsi_cmnd.h:201: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:294: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:41:24: error: 'BLK_MAX_CDB' undeclared here (not in a function); did you mean 'BLK_MQ_H'?
     unsigned char eh_cmnd[BLK_MAX_CDB];
                           ^~~~~~~~~~~
                           BLK_MQ_H
   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:950: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:267: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:699:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if (val != ata_ioc32(ap))
               ^~
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/powerpc/include/asm/bug.h:127,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    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:1124: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:181:40: note: in definition of macro 'likely'
    # define likely(x) __builtin_expect(!!(x), 1)
                                           ^
   drivers/ata/libata-scsi.c:1124: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:181:40: note: in definition of macro 'likely'
    # define likely(x) __builtin_expect(!!(x), 1)
                                           ^
   drivers/ata/libata-scsi.c:1127:7: error: implicit declaration of function 'blk_rq_bytes'; did you mean 'clear_bits'? [-Werror=implicit-function-declaration]
     if (!blk_rq_bytes(rq) || (rq->cmd_flags & REQ_WRITE))
          ^~~~~~~~~~~~
          clear_bits
   drivers/ata/libata-scsi.c: In function 'ata_scsi_dev_config':
   drivers/ata/libata-scsi.c:1142: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:1150: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:1153: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:1159: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:1177:2: error: implicit declaration of function 'blk_queue_update_dma_alignment'; did you mean '__assume_page_alignment'? [-Werror=implicit-function-declaration]
     blk_queue_update_dma_alignment(q, sdev->sector_size - 1);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     __assume_page_alignment
   drivers/ata/libata-scsi.c:1190:2: error: implicit declaration of function 'blk_queue_flush_queueable'; did you mean 'blk_needs_flush_plug'? [-Werror=implicit-function-declaration]
     blk_queue_flush_queueable(q, false);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
     blk_needs_flush_plug
   drivers/ata/libata-scsi.c: In function 'ata_check_nblocks':
>> drivers/ata/libata-scsi.c:1662: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:3306: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:3312:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (len < hdr_len)
             ^
   drivers/ata/libata-scsi.c:3322:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (len < bd_len)
             ^
   drivers/ata/libata-scsi.c:3358:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (pg_len > len)
                ^
   drivers/ata/libata-scsi.c:3375:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (len > pg_len)
             ^
   In file included from include/asm-generic/bug.h:4:0,
                    from arch/powerpc/include/asm/bug.h:127,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/gfp.h:4,
                    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:3497:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             len > dev->cdb_len ||
                 ^
   include/linux/compiler.h:182: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:3695: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:4027:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (lun != SCAN_WILD_CARD && lun)
             ^~
   drivers/ata/libata-scsi.c:4031:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      if (channel != SCAN_WILD_CARD && channel)
                  ^~
   drivers/ata/libata-scsi.c:4035: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:1131:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors


vim +/blk_rq_is_passthrough +1662 drivers/ata/libata-scsi.c

  1656	
  1657	static bool ata_check_nblocks(struct scsi_cmnd *scmd, u32 n_blocks)
  1658	{
  1659		struct request *rq = scmd->request;
  1660		u32 req_blocks;
  1661	
> 1662		if (!blk_rq_is_passthrough(rq))
  1663			return true;
  1664	
  1665		req_blocks = blk_rq_bytes(rq) / scmd->device->sector_size;
  1666		if (n_blocks > req_blocks)
  1667			return false;
  1668	
  1669		return true;
  1670	}
  1671	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (23902 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ