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: <202008102319.C6y9RXDG%lkp@intel.com>
Date:   Mon, 10 Aug 2020 23:14:20 +0800
From:   kernel test robot <lkp@...el.com>
To:     Oded Gabbay <oded.gabbay@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/misc/habanalabs/gaudi/gaudi.c:902 _gaudi_init_tpc_mem()
 warn: should 'cb->id << (12)' be a 64 bit

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   fc80c51fd4b23ec007e88d4c688f2cac1b8648e7
commit: ac0ae6a96aa58eeba4aed97b12ef1dea8c5bf399 habanalabs: add gaudi asic-dependent code
date:   3 months ago
config: riscv-randconfig-m031-20200810 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 9.3.0

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

smatch warnings:
drivers/misc/habanalabs/gaudi/gaudi.c:902 _gaudi_init_tpc_mem() warn: should 'cb->id << (12)' be a 64 bit type?
drivers/misc/habanalabs/gaudi/gaudi.c:4612 gaudi_memset_device_memory() warn: should 'cb->id << (12)' be a 64 bit type?

vim +902 drivers/misc/habanalabs/gaudi/gaudi.c

   829	
   830	static int _gaudi_init_tpc_mem(struct hl_device *hdev,
   831			dma_addr_t tpc_kernel_src_addr, u32 tpc_kernel_size)
   832	{
   833		struct asic_fixed_properties *prop = &hdev->asic_prop;
   834		struct packet_lin_dma *init_tpc_mem_pkt;
   835		struct hl_cs_job *job;
   836		struct hl_cb *cb;
   837		u64 dst_addr;
   838		u32 cb_size, ctl;
   839		u8 tpc_id;
   840		int rc;
   841	
   842		cb = hl_cb_kernel_create(hdev, PAGE_SIZE);
   843		if (!cb)
   844			return -EFAULT;
   845	
   846		init_tpc_mem_pkt = (struct packet_lin_dma *) (uintptr_t)
   847						cb->kernel_address;
   848		cb_size = sizeof(*init_tpc_mem_pkt);
   849		memset(init_tpc_mem_pkt, 0, cb_size);
   850	
   851		init_tpc_mem_pkt->tsize = cpu_to_le32(tpc_kernel_size);
   852	
   853		ctl = ((PACKET_LIN_DMA << GAUDI_PKT_CTL_OPCODE_SHIFT) |
   854				(1 << GAUDI_PKT_LIN_DMA_CTL_LIN_SHIFT) |
   855				(1 << GAUDI_PKT_CTL_RB_SHIFT) |
   856				(1 << GAUDI_PKT_CTL_MB_SHIFT));
   857	
   858		init_tpc_mem_pkt->ctl = cpu_to_le32(ctl);
   859	
   860		init_tpc_mem_pkt->src_addr = cpu_to_le64(tpc_kernel_src_addr);
   861		dst_addr = (prop->sram_user_base_address &
   862				GAUDI_PKT_LIN_DMA_DST_ADDR_MASK) >>
   863				GAUDI_PKT_LIN_DMA_DST_ADDR_SHIFT;
   864		init_tpc_mem_pkt->dst_addr |= cpu_to_le64(dst_addr);
   865	
   866		job = hl_cs_allocate_job(hdev, QUEUE_TYPE_EXT, true);
   867		if (!job) {
   868			dev_err(hdev->dev, "Failed to allocate a new job\n");
   869			rc = -ENOMEM;
   870			goto release_cb;
   871		}
   872	
   873		job->id = 0;
   874		job->user_cb = cb;
   875		job->user_cb->cs_cnt++;
   876		job->user_cb_size = cb_size;
   877		job->hw_queue_id = GAUDI_QUEUE_ID_DMA_0_0;
   878		job->patched_cb = job->user_cb;
   879		job->job_cb_size = job->user_cb_size + sizeof(struct packet_msg_prot);
   880	
   881		hl_debugfs_add_job(hdev, job);
   882	
   883		rc = gaudi_send_job_on_qman0(hdev, job);
   884	
   885		if (rc)
   886			goto free_job;
   887	
   888		for (tpc_id = 0 ; tpc_id < TPC_NUMBER_OF_ENGINES ; tpc_id++) {
   889			rc = gaudi_run_tpc_kernel(hdev, dst_addr, tpc_id);
   890			if (rc)
   891				break;
   892		}
   893	
   894	free_job:
   895		hl_userptr_delete_list(hdev, &job->userptr_list);
   896		hl_debugfs_remove_job(hdev, job);
   897		kfree(job);
   898		cb->cs_cnt--;
   899	
   900	release_cb:
   901		hl_cb_put(cb);
 > 902		hl_cb_destroy(hdev, &hdev->kernel_cb_mgr, cb->id << PAGE_SHIFT);
   903	
   904		return rc;
   905	}
   906	

---
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" (28476 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ