Re: [PATCH] clk: add sys node to disable unused clk
by kernel test robot
Hi Zhipeng,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on clk/clk-next]
[also build test WARNING on v5.14-rc6 next-20210816]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Zhipeng-Wang/clk-add-sys-node-to...
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: arc-randconfig-r011-20210812 (attached as .config)
compiler: arc-elf-gcc (GCC) 10.3.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://github.com/0day-ci/linux/commit/166d814a2157788c7f7c7224b08ccdca8...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Zhipeng-Wang/clk-add-sys-node-to-disable-unused-clk/20210813-094034
git checkout 166d814a2157788c7f7c7224b08ccdca8aaed7a0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/clk/clk.c: In function 'creat_sys_clk_unused':
>> drivers/clk/clk.c:1382:2: warning: ignoring return value of 'sysfs_create_groups' declared with attribute 'warn_unused_result' [-Wunused-result]
1382 | sysfs_create_groups(clk_ctrl_kobj, clk_ctrl_attr_groups);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:21,
from include/trace/define_trace.h:102,
from include/trace/events/clk.h:270,
from drivers/clk/clk.c:96:
At top level:
arch/arc/include/asm/perf_event.h:126:23: warning: 'arc_pmu_cache_map' defined but not used [-Wunused-const-variable=]
126 | static const unsigned arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/perf_event.h:91:27: warning: 'arc_pmu_ev_hw_map' defined but not used [-Wunused-const-variable=]
91 | static const char * const arc_pmu_ev_hw_map[] = {
| ^~~~~~~~~~~~~~~~~
vim +1382 drivers/clk/clk.c
1377
1378 static int __init creat_sys_clk_unused(void)
1379 {
1380 struct kobject *clk_ctrl_kobj = kobject_create_and_add("clk_ctrl", NULL);
1381
> 1382 sysfs_create_groups(clk_ctrl_kobj, clk_ctrl_attr_groups);
1383
1384 return 0;
1385 }
1386 late_initcall_sync(creat_sys_clk_unused);
1387
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[chrome-os:chromeos-5.10 18969/18980] cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.10
head: 2d5f80d863ca74b9b8aa51bff70760bf8fe37969
commit: 091c39ecb4a279d5ecdcfc2442d2a9306fcb0344 [18969/18980] CHROMIUM: MALI: import midgard gpu driver from v4.19
config: arm64-randconfig-r021-20210817 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.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 chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.10
git checkout 091c39ecb4a279d5ecdcfc2442d2a9306fcb0344
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
In file included from drivers/gpu/arm/midgard/mali_kbase_defs.h:35,
from drivers/gpu/arm/midgard/mali_kbase.h:57,
from drivers/gpu/arm/midgard/mali_kbase_device.c:36:
drivers/gpu/arm/midgard/mali_kbase_config.h:35:10: fatal error: mali_kbase_backend_config.h: No such file or directory
35 | #include <mali_kbase_backend_config.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
In file included from drivers/gpu/arm/midgard/mali_kbase_dma_fence.c:27:
drivers/gpu/arm/midgard/mali_kbase_dma_fence.h:29:10: fatal error: linux/reservation.h: No such file or directory
29 | #include <linux/reservation.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_device.c:36:10: fatal error: mali_kbase.h: No such file or directory
36 | #include <mali_kbase.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
In file included from drivers/gpu/arm/midgard/mali_kbase_cache_policy.h:32,
from drivers/gpu/arm/midgard/mali_kbase_cache_policy.c:29:
drivers/gpu/arm/midgard/mali_kbase.h:28:10: fatal error: mali_malisw.h: No such file or directory
28 | #include <mali_malisw.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_mem.c:38:10: fatal error: mali_kbase_config.h: No such file or directory
38 | #include <mali_kbase_config.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_mmu.c:33:10: fatal error: mali_kbase.h: No such file or directory
33 | #include <mali_kbase.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_ctx_sched.c:23:10: fatal error: mali_kbase.h: No such file or directory
23 | #include <mali_kbase.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_jd.c:31:10: fatal error: mali_kbase.h: No such file or directory
31 | #include <mali_kbase.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_jd_debugfs.c:26:10: fatal error: mali_kbase.h: No such file or directory
26 | #include <mali_kbase.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
>> cc1: warning: -Idrivers/gpu/arm/midgard/../../../base: No such file or directory [-Wmissing-include-dirs]
cc1: warning: drivers/gpu/arm/midgard/platform_dummy: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/arm/midgard/mali_kbase_jm.c:28:10: fatal error: mali_kbase.h: No such file or directory
28 | #include <mali_kbase.h>
| ^~~~~~~~~~~~~~
compilation terminated.
..
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[mcgrof:20210816-add-disk-error-handling 44/64] drivers/memstick/core/ms_block.c:2166:29: error: passing argument 1 of 'blk_cleanup_disk' from incompatible pointer type
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git 20210816-add-disk-error-handling
head: e1e79332ea1bba0e751529b114ef9d301bf962a5
commit: e3939d1f567d414dd705aa8c5015396cde7f3306 [44/64] ms_block: add error handling support for add_disk()
config: arc-randconfig-r043-20210816 (attached as .config)
compiler: arc-elf-gcc (GCC) 11.2.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/mcgrof/linux.git/commit/?...
git remote add mcgrof https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
git fetch --no-tags mcgrof 20210816-add-disk-error-handling
git checkout e3939d1f567d414dd705aa8c5015396cde7f3306
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc
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 >>):
drivers/memstick/core/ms_block.c: In function 'msb_init_disk':
>> drivers/memstick/core/ms_block.c:2166:29: error: passing argument 1 of 'blk_cleanup_disk' from incompatible pointer type [-Werror=incompatible-pointer-types]
2166 | blk_cleanup_disk(msb->queue);
| ~~~^~~~~~~
| |
| struct request_queue *
In file included from include/linux/blkdev.h:8,
from include/linux/blk-mq.h:5,
from drivers/memstick/core/ms_block.c:14:
include/linux/genhd.h:281:39: note: expected 'struct gendisk *' but argument is of type 'struct request_queue *'
281 | void blk_cleanup_disk(struct gendisk *disk);
| ~~~~~~~~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +/blk_cleanup_disk +2166 drivers/memstick/core/ms_block.c
2108
2109 /* Registers the block device */
2110 static int msb_init_disk(struct memstick_dev *card)
2111 {
2112 struct msb_data *msb = memstick_get_drvdata(card);
2113 int rc;
2114 unsigned long capacity;
2115
2116 mutex_lock(&msb_disk_lock);
2117 msb->disk_id = idr_alloc(&msb_disk_idr, card, 0, 256, GFP_KERNEL);
2118 mutex_unlock(&msb_disk_lock);
2119
2120 if (msb->disk_id < 0)
2121 return msb->disk_id;
2122
2123 rc = blk_mq_alloc_sq_tag_set(&msb->tag_set, &msb_mq_ops, 2,
2124 BLK_MQ_F_SHOULD_MERGE);
2125 if (rc)
2126 goto out_release_id;
2127
2128 msb->disk = blk_mq_alloc_disk(&msb->tag_set, card);
2129 if (IS_ERR(msb->disk)) {
2130 rc = PTR_ERR(msb->disk);
2131 goto out_free_tag_set;
2132 }
2133 msb->queue = msb->disk->queue;
2134
2135 blk_queue_max_hw_sectors(msb->queue, MS_BLOCK_MAX_PAGES);
2136 blk_queue_max_segments(msb->queue, MS_BLOCK_MAX_SEGS);
2137 blk_queue_max_segment_size(msb->queue,
2138 MS_BLOCK_MAX_PAGES * msb->page_size);
2139 blk_queue_logical_block_size(msb->queue, msb->page_size);
2140
2141 sprintf(msb->disk->disk_name, "msblk%d", msb->disk_id);
2142 msb->disk->fops = &msb_bdops;
2143 msb->disk->private_data = msb;
2144
2145 capacity = msb->pages_in_block * msb->logical_block_count;
2146 capacity *= (msb->page_size / 512);
2147 set_capacity(msb->disk, capacity);
2148 dbg("Set total disk size to %lu sectors", capacity);
2149
2150 msb->usage_count = 1;
2151 msb->io_queue = alloc_ordered_workqueue("ms_block", WQ_MEM_RECLAIM);
2152 INIT_WORK(&msb->io_work, msb_io_work);
2153 sg_init_table(msb->prealloc_sg, MS_BLOCK_MAX_SEGS+1);
2154
2155 if (msb->read_only)
2156 set_disk_ro(msb->disk, 1);
2157
2158 msb_start(card);
2159 rc = device_add_disk(&card->dev, msb->disk, NULL);
2160 if (rc)
2161 goto out_cleanup_disk;
2162 dbg("Disk added");
2163 return 0;
2164
2165 out_cleanup_disk:
> 2166 blk_cleanup_disk(msb->queue);
2167 out_free_tag_set:
2168 blk_mq_free_tag_set(&msb->tag_set);
2169 out_release_id:
2170 mutex_lock(&msb_disk_lock);
2171 idr_remove(&msb_disk_idr, msb->disk_id);
2172 mutex_unlock(&msb_disk_lock);
2173 return rc;
2174 }
2175
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[mcgrof:20210816-add-disk-error-handling 44/64] drivers/memstick/core/ms_block.c:2166:19: error: incompatible pointer types passing 'struct request_queue *' to parameter of type 'struct gendisk *'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git 20210816-add-disk-error-handling
head: e1e79332ea1bba0e751529b114ef9d301bf962a5
commit: e3939d1f567d414dd705aa8c5015396cde7f3306 [44/64] ms_block: add error handling support for add_disk()
config: arm-randconfig-r026-20210817 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 2c6448cdc2f68f8c28fd0bd9404182b81306e6e6)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?...
git remote add mcgrof https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
git fetch --no-tags mcgrof 20210816-add-disk-error-handling
git checkout e3939d1f567d414dd705aa8c5015396cde7f3306
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
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 >>):
>> drivers/memstick/core/ms_block.c:2166:19: error: incompatible pointer types passing 'struct request_queue *' to parameter of type 'struct gendisk *' [-Werror,-Wincompatible-pointer-types]
blk_cleanup_disk(msb->queue);
^~~~~~~~~~
include/linux/genhd.h:281:39: note: passing argument to parameter 'disk' here
void blk_cleanup_disk(struct gendisk *disk);
^
1 error generated.
vim +2166 drivers/memstick/core/ms_block.c
2108
2109 /* Registers the block device */
2110 static int msb_init_disk(struct memstick_dev *card)
2111 {
2112 struct msb_data *msb = memstick_get_drvdata(card);
2113 int rc;
2114 unsigned long capacity;
2115
2116 mutex_lock(&msb_disk_lock);
2117 msb->disk_id = idr_alloc(&msb_disk_idr, card, 0, 256, GFP_KERNEL);
2118 mutex_unlock(&msb_disk_lock);
2119
2120 if (msb->disk_id < 0)
2121 return msb->disk_id;
2122
2123 rc = blk_mq_alloc_sq_tag_set(&msb->tag_set, &msb_mq_ops, 2,
2124 BLK_MQ_F_SHOULD_MERGE);
2125 if (rc)
2126 goto out_release_id;
2127
2128 msb->disk = blk_mq_alloc_disk(&msb->tag_set, card);
2129 if (IS_ERR(msb->disk)) {
2130 rc = PTR_ERR(msb->disk);
2131 goto out_free_tag_set;
2132 }
2133 msb->queue = msb->disk->queue;
2134
2135 blk_queue_max_hw_sectors(msb->queue, MS_BLOCK_MAX_PAGES);
2136 blk_queue_max_segments(msb->queue, MS_BLOCK_MAX_SEGS);
2137 blk_queue_max_segment_size(msb->queue,
2138 MS_BLOCK_MAX_PAGES * msb->page_size);
2139 blk_queue_logical_block_size(msb->queue, msb->page_size);
2140
2141 sprintf(msb->disk->disk_name, "msblk%d", msb->disk_id);
2142 msb->disk->fops = &msb_bdops;
2143 msb->disk->private_data = msb;
2144
2145 capacity = msb->pages_in_block * msb->logical_block_count;
2146 capacity *= (msb->page_size / 512);
2147 set_capacity(msb->disk, capacity);
2148 dbg("Set total disk size to %lu sectors", capacity);
2149
2150 msb->usage_count = 1;
2151 msb->io_queue = alloc_ordered_workqueue("ms_block", WQ_MEM_RECLAIM);
2152 INIT_WORK(&msb->io_work, msb_io_work);
2153 sg_init_table(msb->prealloc_sg, MS_BLOCK_MAX_SEGS+1);
2154
2155 if (msb->read_only)
2156 set_disk_ro(msb->disk, 1);
2157
2158 msb_start(card);
2159 rc = device_add_disk(&card->dev, msb->disk, NULL);
2160 if (rc)
2161 goto out_cleanup_disk;
2162 dbg("Disk added");
2163 return 0;
2164
2165 out_cleanup_disk:
> 2166 blk_cleanup_disk(msb->queue);
2167 out_free_tag_set:
2168 blk_mq_free_tag_set(&msb->tag_set);
2169 out_release_id:
2170 mutex_lock(&msb_disk_lock);
2171 idr_remove(&msb_disk_idr, msb->disk_id);
2172 mutex_unlock(&msb_disk_lock);
2173 return rc;
2174 }
2175
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[android-common:android-5.4 1/1] security/selinux/ss/services.c:2316:17: warning: variable 'sidtab' set but not used
by kernel test robot
tree: https://android.googlesource.com/kernel/common android-5.4
head: 20810a2469745210a7b2b8e0f9f3b60a28305f43
commit: 20810a2469745210a7b2b8e0f9f3b60a28305f43 [1/1] UPSTREAM: selinux: sidtab reverse lookup hash table
config: x86_64-randconfig-a013-20210816 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 2c6448cdc2f68f8c28fd0bd9404182b81306e6e6)
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-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-5.4
git checkout 20810a2469745210a7b2b8e0f9f3b60a28305f43
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> security/selinux/ss/services.c:2316:17: warning: variable 'sidtab' set but not used [-Wunused-but-set-variable]
struct sidtab *sidtab;
^
security/selinux/ss/services.c:2405:17: warning: variable 'sidtab' set but not used [-Wunused-but-set-variable]
struct sidtab *sidtab;
^
security/selinux/ss/services.c:2450:17: warning: variable 'sidtab' set but not used [-Wunused-but-set-variable]
struct sidtab *sidtab;
^
security/selinux/ss/services.c:2801:17: warning: variable 'sidtab' set but not used [-Wunused-but-set-variable]
struct sidtab *sidtab;
^
4 warnings generated.
vim +/sidtab +2316 security/selinux/ss/services.c
cee74f47a6baba Eric Paris 2010-10-13 2305
^1da177e4c3f41 Linus Torvalds 2005-04-16 2306 /**
^1da177e4c3f41 Linus Torvalds 2005-04-16 2307 * security_port_sid - Obtain the SID for a port.
^1da177e4c3f41 Linus Torvalds 2005-04-16 2308 * @protocol: protocol number
^1da177e4c3f41 Linus Torvalds 2005-04-16 2309 * @port: port number
^1da177e4c3f41 Linus Torvalds 2005-04-16 2310 * @out_sid: security identifier
^1da177e4c3f41 Linus Torvalds 2005-04-16 2311 */
aa8e712cee93d5 Stephen Smalley 2018-03-01 2312 int security_port_sid(struct selinux_state *state,
aa8e712cee93d5 Stephen Smalley 2018-03-01 2313 u8 protocol, u16 port, u32 *out_sid)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2314 {
aa8e712cee93d5 Stephen Smalley 2018-03-01 2315 struct policydb *policydb;
aa8e712cee93d5 Stephen Smalley 2018-03-01 @2316 struct sidtab *sidtab;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2317 struct ocontext *c;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2318 int rc = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2319
aa8e712cee93d5 Stephen Smalley 2018-03-01 2320 read_lock(&state->ss->policy_rwlock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2321
aa8e712cee93d5 Stephen Smalley 2018-03-01 2322 policydb = &state->ss->policydb;
24ed7fdae669fe Ondrej Mosnacek 2018-11-30 2323 sidtab = state->ss->sidtab;
aa8e712cee93d5 Stephen Smalley 2018-03-01 2324
aa8e712cee93d5 Stephen Smalley 2018-03-01 2325 c = policydb->ocontexts[OCON_PORT];
^1da177e4c3f41 Linus Torvalds 2005-04-16 2326 while (c) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2327 if (c->u.port.protocol == protocol &&
^1da177e4c3f41 Linus Torvalds 2005-04-16 2328 c->u.port.low_port <= port &&
^1da177e4c3f41 Linus Torvalds 2005-04-16 2329 c->u.port.high_port >= port)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2330 break;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2331 c = c->next;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2332 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2333
^1da177e4c3f41 Linus Torvalds 2005-04-16 2334 if (c) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2335 if (!c->sid[0]) {
20810a24697452 Jeff Vander Stoep 2019-11-22 2336 rc = context_struct_to_sid(state, &c->context[0],
^1da177e4c3f41 Linus Torvalds 2005-04-16 2337 &c->sid[0]);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2338 if (rc)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2339 goto out;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2340 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2341 *out_sid = c->sid[0];
^1da177e4c3f41 Linus Torvalds 2005-04-16 2342 } else {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2343 *out_sid = SECINITSID_PORT;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2344 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2345
^1da177e4c3f41 Linus Torvalds 2005-04-16 2346 out:
aa8e712cee93d5 Stephen Smalley 2018-03-01 2347 read_unlock(&state->ss->policy_rwlock);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2348 return rc;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2349 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2350
:::::: The code at line 2316 was first introduced by commit
:::::: aa8e712cee93d520e96a2ca8e3a20f807c937e3f selinux: wrap global selinux state
:::::: TO: Stephen Smalley <sds(a)tycho.nsa.gov>
:::::: CC: Paul Moore <paul(a)paul-moore.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[ti:ti-rt-linux-5.10.y 6815/6833] drivers/gpu/drm/drm_atomic_helper.c:3311:28: warning: variable 'new_priv_state' set but not used
by kernel test robot
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.10.y
head: ac3657d2050406e974383b1490184f42a06b73cc
commit: e172fed2d657ef79c65241251ff26161a8b3f1c4 [6815/6833] drm/atomic: integrate private objects with suspend/resume helpers
config: i386-randconfig-r024-20210817 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-rt-linux-5.10.y
git checkout e172fed2d657ef79c65241251ff26161a8b3f1c4
# save the attached .config to linux build tree
make W=1 ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/gpu/drm/drm_atomic_helper.c: In function 'drm_atomic_helper_commit_duplicated_state':
>> drivers/gpu/drm/drm_atomic_helper.c:3311:28: warning: variable 'new_priv_state' set but not used [-Wunused-but-set-variable]
3311 | struct drm_private_state *new_priv_state;
| ^~~~~~~~~~~~~~
vim +/new_priv_state +3311 drivers/gpu/drm/drm_atomic_helper.c
3284
3285 /**
3286 * drm_atomic_helper_commit_duplicated_state - commit duplicated state
3287 * @state: duplicated atomic state to commit
3288 * @ctx: pointer to acquire_ctx to use for commit.
3289 *
3290 * The state returned by drm_atomic_helper_duplicate_state() and
3291 * drm_atomic_helper_suspend() is partially invalid, and needs to
3292 * be fixed up before commit.
3293 *
3294 * Returns:
3295 * 0 on success or a negative error code on failure.
3296 *
3297 * See also:
3298 * drm_atomic_helper_suspend()
3299 */
3300 int drm_atomic_helper_commit_duplicated_state(struct drm_atomic_state *state,
3301 struct drm_modeset_acquire_ctx *ctx)
3302 {
3303 int i, ret;
3304 struct drm_plane *plane;
3305 struct drm_plane_state *new_plane_state;
3306 struct drm_connector *connector;
3307 struct drm_connector_state *new_conn_state;
3308 struct drm_crtc *crtc;
3309 struct drm_crtc_state *new_crtc_state;
3310 struct drm_private_obj *privobj;
> 3311 struct drm_private_state *new_priv_state;
3312
3313 state->acquire_ctx = ctx;
3314
3315 for_each_new_plane_in_state(state, plane, new_plane_state, i)
3316 state->planes[i].old_state = plane->state;
3317
3318 for_each_new_private_obj_in_state(state, privobj, new_priv_state, i)
3319 state->private_objs[i].old_state = privobj->state;
3320
3321 for_each_new_crtc_in_state(state, crtc, new_crtc_state, i)
3322 state->crtcs[i].old_state = crtc->state;
3323
3324 for_each_new_connector_in_state(state, connector, new_conn_state, i)
3325 state->connectors[i].old_state = connector->state;
3326
3327 ret = drm_atomic_commit(state);
3328
3329 state->acquire_ctx = NULL;
3330
3331 return ret;
3332 }
3333 EXPORT_SYMBOL(drm_atomic_helper_commit_duplicated_state);
3334
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[mcgrof:20210816-add-disk-error-handling 64/64] drivers/nvdimm/pmem.c:495:2: warning: ignoring return value of 'device_add_disk', declared with attribute warn_unused_result
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git 20210816-add-disk-error-handling
head: e1e79332ea1bba0e751529b114ef9d301bf962a5
commit: e1e79332ea1bba0e751529b114ef9d301bf962a5 [64/64] block: add __must_check for *add_disk*() callers
config: x86_64-randconfig-a003-20210816 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?...
git remote add mcgrof https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
git fetch --no-tags mcgrof 20210816-add-disk-error-handling
git checkout e1e79332ea1bba0e751529b114ef9d301bf962a5
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/nvdimm/pmem.c: In function 'pmem_attach_disk':
>> drivers/nvdimm/pmem.c:495:2: warning: ignoring return value of 'device_add_disk', declared with attribute warn_unused_result [-Wunused-result]
495 | device_add_disk(dev, disk, NULL);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/device_add_disk +495 drivers/nvdimm/pmem.c
1e240e8d4a7d92 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26 369
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 370 static int pmem_attach_disk(struct device *dev,
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 371 struct nd_namespace_common *ndns)
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 372 {
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 373 struct nd_namespace_io *nsio = to_nd_namespace_io(&ndns->dev);
f284a4f23752d0 drivers/nvdimm/pmem.c Dan Williams 2016-07-07 374 struct nd_region *nd_region = to_nd_region(dev->parent);
ce7f11a230d5b7 drivers/nvdimm/pmem.c Ross Zwisler 2018-06-06 375 int nid = dev_to_node(dev), fua;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 376 struct resource *res = &nsio->res;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 377 struct range bb_range;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 378 struct nd_pfn *nd_pfn = NULL;
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams 2017-01-24 379 struct dax_device *dax_dev;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 380 struct nd_pfn_sb *pfn_sb;
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 381 struct pmem_device *pmem;
468ded03c07e0f drivers/nvdimm/pmem.c Dan Williams 2016-01-15 382 struct request_queue *q;
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams 2017-06-26 383 struct device *gendev;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 384 struct gendisk *disk;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 385 void *addr;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 386 int rc;
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta 2019-07-05 387 unsigned long flags = 0UL;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 388
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 389 pmem = devm_kzalloc(dev, sizeof(*pmem), GFP_KERNEL);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 390 if (!pmem)
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 391 return -ENOMEM;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 392
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V 2019-10-31 393 rc = devm_namespace_enable(dev, ndns, nd_info_block_reserve());
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V 2019-10-31 394 if (rc)
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V 2019-10-31 395 return rc;
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V 2019-10-31 396
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 397 /* while nsio_rw_bytes is active, parse a pfn info block if present */
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 398 if (is_nd_pfn(dev)) {
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 399 nd_pfn = to_nd_pfn(dev);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 400 rc = nvdimm_setup_pfn(nd_pfn, &pmem->pgmap);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 401 if (rc)
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 402 return rc;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 403 }
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 404
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 405 /* we're attaching a block device, disable raw namespace access */
8f4b01fcded2dc drivers/nvdimm/pmem.c Aneesh Kumar K.V 2019-10-31 406 devm_namespace_disable(dev, ndns);
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 407
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 408 dev_set_drvdata(dev, pmem);
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 409 pmem->phys_addr = res->start;
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 410 pmem->size = resource_size(res);
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams 2017-06-09 411 fua = nvdimm_has_flush(nd_region);
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams 2017-06-09 412 if (!IS_ENABLED(CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE) || fua < 0) {
61031952f4c89d drivers/nvdimm/pmem.c Ross Zwisler 2015-06-25 413 dev_warn(dev, "unable to guarantee persistence of writes\n");
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams 2017-06-09 414 fua = 0;
0b277961f4484f drivers/nvdimm/pmem.c Dan Williams 2017-06-09 415 }
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 416
947df02d255a6a drivers/nvdimm/pmem.c Dan Williams 2016-03-21 417 if (!devm_request_mem_region(dev, res->start, resource_size(res),
450c6633e874c4 drivers/nvdimm/pmem.c Dan Williams 2016-11-28 418 dev_name(&ndns->dev))) {
947df02d255a6a drivers/nvdimm/pmem.c Dan Williams 2016-03-21 419 dev_warn(dev, "could not reserve region %pR\n", res);
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 420 return -EBUSY;
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 421 }
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 422
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21 423 disk = blk_alloc_disk(nid);
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21 424 if (!disk)
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 425 return -ENOMEM;
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21 426 q = disk->queue;
468ded03c07e0f drivers/nvdimm/pmem.c Dan Williams 2016-01-15 427
87eb73b2ca7c1b drivers/nvdimm/pmem.c Christoph Hellwig 2021-05-21 428 pmem->disk = disk;
a624eb520390ce drivers/nvdimm/pmem.c Dan Williams 2021-06-07 429 pmem->pgmap.owner = pmem;
34c0fd540e79fb drivers/nvdimm/pmem.c Dan Williams 2016-01-15 430 pmem->pfn_flags = PFN_DEV;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 431 pmem->pgmap.ref = &q->q_usage_counter;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 432 if (is_nd_pfn(dev)) {
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26 433 pmem->pgmap.type = MEMORY_DEVICE_FS_DAX;
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26 434 pmem->pgmap.ops = &fsdax_pagemap_ops;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 435 addr = devm_memremap_pages(dev, &pmem->pgmap);
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 436 pfn_sb = nd_pfn->pfn_sb;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 437 pmem->data_offset = le64_to_cpu(pfn_sb->dataoff);
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 438 pmem->pfn_pad = resource_size(res) -
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 439 range_len(&pmem->pgmap.range);
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 440 pmem->pfn_flags |= PFN_MAP;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 441 bb_range = pmem->pgmap.range;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 442 bb_range.start += pmem->data_offset;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 443 } else if (pmem_should_map_pages(dev)) {
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 444 pmem->pgmap.range.start = res->start;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 445 pmem->pgmap.range.end = res->end;
b7b3c01b191596 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 446 pmem->pgmap.nr_range = 1;
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26 447 pmem->pgmap.type = MEMORY_DEVICE_FS_DAX;
f6a55e1a3fe6b3 drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26 448 pmem->pgmap.ops = &fsdax_pagemap_ops;
e8d5134833006a drivers/nvdimm/pmem.c Christoph Hellwig 2017-12-29 449 addr = devm_memremap_pages(dev, &pmem->pgmap);
34c0fd540e79fb drivers/nvdimm/pmem.c Dan Williams 2016-01-15 450 pmem->pfn_flags |= PFN_MAP;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 451 bb_range = pmem->pgmap.range;
91ed7ac444ef74 drivers/nvdimm/pmem.c Dan Williams 2018-10-04 452 } else {
50f44ee7248ad2 drivers/nvdimm/pmem.c Dan Williams 2019-06-13 453 if (devm_add_action_or_reset(dev, pmem_release_queue,
d8668bb0451c3c drivers/nvdimm/pmem.c Christoph Hellwig 2019-06-26 454 &pmem->pgmap))
50f44ee7248ad2 drivers/nvdimm/pmem.c Dan Williams 2019-06-13 455 return -ENOMEM;
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 456 addr = devm_memremap(dev, pmem->phys_addr,
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 457 pmem->size, ARCH_MEMREMAP_PMEM);
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 458 bb_range.start = res->start;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 459 bb_range.end = res->end;
91ed7ac444ef74 drivers/nvdimm/pmem.c Dan Williams 2018-10-04 460 }
b36f47617f6ce7 drivers/nvdimm/pmem.c Dan Williams 2015-09-15 461
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 462 if (IS_ERR(addr))
200c79da824c97 drivers/nvdimm/pmem.c Dan Williams 2016-03-22 463 return PTR_ERR(addr);
7a9eb206663177 drivers/nvdimm/pmem.c Dan Williams 2016-06-03 464 pmem->virt_addr = addr;
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 465
ce7f11a230d5b7 drivers/nvdimm/pmem.c Ross Zwisler 2018-06-06 466 blk_queue_write_cache(q, true, fua);
5a92289f41311a drivers/nvdimm/pmem.c Dan Williams 2016-03-21 467 blk_queue_physical_block_size(q, PAGE_SIZE);
f979b13c3cc515 drivers/nvdimm/pmem.c Dan Williams 2017-06-04 468 blk_queue_logical_block_size(q, pmem_sector_size(ndns));
5a92289f41311a drivers/nvdimm/pmem.c Dan Williams 2016-03-21 469 blk_queue_max_hw_sectors(q, UINT_MAX);
8b904b5b6b58b9 drivers/nvdimm/pmem.c Bart Van Assche 2018-03-07 470 blk_queue_flag_set(QUEUE_FLAG_NONROT, q);
4557641b4c7046 drivers/nvdimm/pmem.c Ross Zwisler 2018-06-26 471 if (pmem->pfn_flags & PFN_MAP)
8b904b5b6b58b9 drivers/nvdimm/pmem.c Bart Van Assche 2018-03-07 472 blk_queue_flag_set(QUEUE_FLAG_DAX, q);
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 473
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 474 disk->fops = &pmem_fops;
6ec26b8b2d70b4 drivers/nvdimm/pmem.c Christoph Hellwig 2020-05-08 475 disk->private_data = pmem;
5212e11fde4d40 drivers/nvdimm/pmem.c Vishal Verma 2015-06-25 476 nvdimm_namespace_disk_name(ndns, disk->disk_name);
cfe30b872058f2 drivers/nvdimm/pmem.c Dan Williams 2016-03-03 477 set_capacity(disk, (pmem->size - pmem->pfn_pad - pmem->data_offset)
cfe30b872058f2 drivers/nvdimm/pmem.c Dan Williams 2016-03-03 478 / 512);
b95f5f4391fad6 drivers/nvdimm/pmem.c Dan Williams 2016-01-04 479 if (devm_init_badblocks(dev, &pmem->bb))
b95f5f4391fad6 drivers/nvdimm/pmem.c Dan Williams 2016-01-04 480 return -ENOMEM;
a4574f63edc6f7 drivers/nvdimm/pmem.c Dan Williams 2020-10-13 481 nvdimm_badblocks_populate(nd_region, &pmem->bb, &bb_range);
57f7f317abdd07 drivers/nvdimm/pmem.c Dan Williams 2016-01-06 482 disk->bb = &pmem->bb;
f02716db951c5e drivers/nvdimm/pmem.c Dan Williams 2016-06-15 483
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta 2019-07-05 484 if (is_nvdimm_sync(nd_region))
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta 2019-07-05 485 flags = DAXDEV_F_SYNC;
fefc1d97fa4b5e drivers/nvdimm/pmem.c Pankaj Gupta 2019-07-05 486 dax_dev = alloc_dax(pmem, disk->disk_name, &pmem_dax_ops, flags);
4e4ced93794acb drivers/nvdimm/pmem.c Vivek Goyal 2020-04-01 487 if (IS_ERR(dax_dev)) {
4e4ced93794acb drivers/nvdimm/pmem.c Vivek Goyal 2020-04-01 488 return PTR_ERR(dax_dev);
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams 2017-01-24 489 }
ce7f11a230d5b7 drivers/nvdimm/pmem.c Ross Zwisler 2018-06-06 490 dax_write_cache(dax_dev, nvdimm_has_cache(nd_region));
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams 2017-01-24 491 pmem->dax_dev = dax_dev;
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams 2017-06-26 492 gendev = disk_to_dev(disk);
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams 2017-06-26 493 gendev->groups = pmem_attribute_groups;
6e0c90d691cd5d drivers/nvdimm/pmem.c Dan Williams 2017-06-26 494
fef912bf860e8e drivers/nvdimm/pmem.c Hannes Reinecke 2018-09-28 @495 device_add_disk(dev, disk, NULL);
c1d6e828a35df5 drivers/nvdimm/pmem.c Dan Williams 2017-01-24 496 if (devm_add_action_or_reset(dev, pmem_release_disk, pmem))
f02716db951c5e drivers/nvdimm/pmem.c Dan Williams 2016-06-15 497 return -ENOMEM;
f02716db951c5e drivers/nvdimm/pmem.c Dan Williams 2016-06-15 498
32f61d67570db0 drivers/nvdimm/pmem.c Christoph Hellwig 2020-09-01 499 nvdimm_check_and_set_ro(disk);
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 500
975750a98c2676 drivers/nvdimm/pmem.c Toshi Kani 2017-06-12 501 pmem->bb_state = sysfs_get_dirent(disk_to_dev(disk)->kobj.sd,
975750a98c2676 drivers/nvdimm/pmem.c Toshi Kani 2017-06-12 502 "badblocks");
6aa734a2f38e2e drivers/nvdimm/pmem.c Dan Williams 2017-06-30 503 if (!pmem->bb_state)
6aa734a2f38e2e drivers/nvdimm/pmem.c Dan Williams 2017-06-30 504 dev_warn(dev, "'badblocks' notification disabled\n");
975750a98c2676 drivers/nvdimm/pmem.c Toshi Kani 2017-06-12 505
8c2f7e8658df1d drivers/nvdimm/pmem.c Dan Williams 2015-06-25 506 return 0;
8c2f7e8658df1d drivers/nvdimm/pmem.c Dan Williams 2015-06-25 507 }
9e853f2313e5eb drivers/block/pmem.c Ross Zwisler 2015-04-01 508
:::::: The code at line 495 was first introduced by commit
:::::: fef912bf860e8e7e48a2bfb978a356bba743a8b7 block: genhd: add 'groups' argument to device_add_disk
:::::: TO: Hannes Reinecke <hare(a)suse.de>
:::::: CC: Jens Axboe <axboe(a)kernel.dk>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[mcgrof:20210816-add-disk-error-handling 13/64] arch/um/drivers/ubd_kern.c:930:24: error: expected ';' before 'out_cleanup_tags'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git 20210816-add-disk-error-handling
head: e1e79332ea1bba0e751529b114ef9d301bf962a5
commit: 0e82333640575c9c194e39c521cb6ddb1467890f [13/64] um/drivers/ubd_kern: add error handling support for add_disk()
config: um-x86_64_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git/commit/?...
git remote add mcgrof https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux.git
git fetch --no-tags mcgrof 20210816-add-disk-error-handling
git checkout 0e82333640575c9c194e39c521cb6ddb1467890f
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash
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 >>):
arch/um/drivers/ubd_kern.c: In function 'ubd_add':
>> arch/um/drivers/ubd_kern.c:930:24: error: expected ';' before 'out_cleanup_tags'
930 | blk_cleanup_disk(disk)
| ^
| ;
931 | out_cleanup_tags:
| ~~~~~~~~~~~~~~~~
>> arch/um/drivers/ubd_kern.c:915:3: error: label 'out_cleanup_tags' used but not defined
915 | goto out_cleanup_tags;
| ^~~~
vim +930 arch/um/drivers/ubd_kern.c
883
884 static int ubd_add(int n, char **error_out)
885 {
886 struct ubd *ubd_dev = &ubd_devs[n];
887 struct gendisk *disk;
888 int err = 0;
889
890 if(ubd_dev->file == NULL)
891 goto out;
892
893 err = ubd_file_size(ubd_dev, &ubd_dev->size);
894 if(err < 0){
895 *error_out = "Couldn't determine size of device's file";
896 goto out;
897 }
898
899 ubd_dev->size = ROUND_BLOCK(ubd_dev->size);
900
901 ubd_dev->tag_set.ops = &ubd_mq_ops;
902 ubd_dev->tag_set.queue_depth = 64;
903 ubd_dev->tag_set.numa_node = NUMA_NO_NODE;
904 ubd_dev->tag_set.flags = BLK_MQ_F_SHOULD_MERGE;
905 ubd_dev->tag_set.driver_data = ubd_dev;
906 ubd_dev->tag_set.nr_hw_queues = 1;
907
908 err = blk_mq_alloc_tag_set(&ubd_dev->tag_set);
909 if (err)
910 goto out;
911
912 disk = blk_mq_alloc_disk(&ubd_dev->tag_set, ubd_dev);
913 if (IS_ERR(disk)) {
914 err = PTR_ERR(disk);
> 915 goto out_cleanup_tags;
916 }
917 ubd_dev->queue = disk->queue;
918
919 blk_queue_write_cache(ubd_dev->queue, true, false);
920 blk_queue_max_segments(ubd_dev->queue, MAX_SG);
921 blk_queue_segment_boundary(ubd_dev->queue, PAGE_SIZE - 1);
922 err = ubd_disk_register(UBD_MAJOR, ubd_dev->size, n, disk);
923 if (err)
924 goto out_cleanup_disk;
925
926 ubd_gendisk[n] = disk;
927 return 0;
928
929 out_cleanup_disk:
> 930 blk_cleanup_disk(disk)
931 out_cleanup_tags:
932 blk_mq_free_tag_set(&ubd_dev->tag_set);
933 out:
934 return err;
935 }
936
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month
[linux-next:master 282/8423] drivers/gpu/drm/i915/gem/i915_gem_ttm.c:137:60: warning: unused parameter 'bo'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: b9011c7e671dbbf59bb753283ddfd03f0c9eb865
commit: 213d5092776345ad5d6e2efa36a6bfbe9899e8b3 [282/8423] drm/i915/ttm: Introduce a TTM i915 gem object backend
config: i386-randconfig-r021-20210816 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 44d0a99a12ec7ead4d2f5ef649ba05b40f6d463d)
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/next/linux-next.git/commi...
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 213d5092776345ad5d6e2efa36a6bfbe9899e8b3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
^
include/linux/pci.h:2154:69: warning: unused parameter 'dev' [-Wunused-parameter]
static inline resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno)
^
include/linux/pci.h:2154:78: warning: unused parameter 'resno' [-Wunused-parameter]
static inline resource_size_t pci_iov_resource_size(struct pci_dev *dev, int resno)
^
include/linux/pci.h:2156:61: warning: unused parameter 'dev' [-Wunused-parameter]
static inline void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe) { }
^
include/linux/pci.h:2156:71: warning: unused parameter 'probe' [-Wunused-parameter]
static inline void pci_vf_drivers_autoprobe(struct pci_dev *dev, bool probe) { }
^
In file included from drivers/gpu/drm/i915/gem/i915_gem_ttm.c:9:
In file included from drivers/gpu/drm/i915/i915_drv.h:84:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:17:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:9:
drivers/gpu/drm/i915/gt/uc/intel_guc.h:109:59: warning: unused parameter 'guc' [-Wunused-parameter]
static inline u32 intel_guc_ggtt_offset(struct intel_guc *guc,
^
In file included from drivers/gpu/drm/i915/gem/i915_gem_ttm.c:9:
In file included from drivers/gpu/drm/i915/i915_drv.h:84:
In file included from drivers/gpu/drm/i915/gt/intel_engine.h:17:
In file included from drivers/gpu/drm/i915/gt/intel_gt_types.h:18:
In file included from drivers/gpu/drm/i915/gt/uc/intel_uc.h:10:
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.h:24:72: warning: unused parameter 'guc' [-Wunused-parameter]
static inline bool intel_guc_submission_is_supported(struct intel_guc *guc)
^
In file included from drivers/gpu/drm/i915/gem/i915_gem_ttm.c:9:
In file included from drivers/gpu/drm/i915/i915_drv.h:101:
drivers/gpu/drm/i915/i915_gpu_error.h:276:43: warning: unused parameter 'gt' [-Wunused-parameter]
i915_capture_error_state(struct intel_gt *gt, intel_engine_mask_t engine_mask)
^
drivers/gpu/drm/i915/i915_gpu_error.h:276:67: warning: unused parameter 'engine_mask' [-Wunused-parameter]
i915_capture_error_state(struct intel_gt *gt, intel_engine_mask_t engine_mask)
^
drivers/gpu/drm/i915/i915_gpu_error.h:281:50: warning: unused parameter 'i915' [-Wunused-parameter]
i915_gpu_coredump_alloc(struct drm_i915_private *i915, gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:281:62: warning: unused parameter 'gfp' [-Wunused-parameter]
i915_gpu_coredump_alloc(struct drm_i915_private *i915, gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:287:42: warning: unused parameter 'gt' [-Wunused-parameter]
intel_gt_coredump_alloc(struct intel_gt *gt, gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:287:52: warning: unused parameter 'gfp' [-Wunused-parameter]
intel_gt_coredump_alloc(struct intel_gt *gt, gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:293:53: warning: unused parameter 'engine' [-Wunused-parameter]
intel_engine_coredump_alloc(struct intel_engine_cs *engine, gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:293:67: warning: unused parameter 'gfp' [-Wunused-parameter]
intel_engine_coredump_alloc(struct intel_engine_cs *engine, gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:299:65: warning: unused parameter 'ee' [-Wunused-parameter]
intel_engine_coredump_add_request(struct intel_engine_coredump *ee,
^
drivers/gpu/drm/i915/i915_gpu_error.h:300:28: warning: unused parameter 'rq' [-Wunused-parameter]
struct i915_request *rq,
^
drivers/gpu/drm/i915/i915_gpu_error.h:301:13: warning: unused parameter 'gfp' [-Wunused-parameter]
gfp_t gfp)
^
drivers/gpu/drm/i915/i915_gpu_error.h:307:61: warning: unused parameter 'ee' [-Wunused-parameter]
intel_engine_coredump_add_vma(struct intel_engine_coredump *ee,
^
drivers/gpu/drm/i915/i915_gpu_error.h:308:43: warning: unused parameter 'capture' [-Wunused-parameter]
struct intel_engine_capture_vma *capture,
^
drivers/gpu/drm/i915/i915_gpu_error.h:309:36: warning: unused parameter 'compress' [-Wunused-parameter]
struct i915_vma_compress *compress)
^
drivers/gpu/drm/i915/i915_gpu_error.h:314:52: warning: unused parameter 'gt' [-Wunused-parameter]
i915_vma_capture_prepare(struct intel_gt_coredump *gt)
^
drivers/gpu/drm/i915/i915_gpu_error.h:320:51: warning: unused parameter 'gt' [-Wunused-parameter]
i915_vma_capture_finish(struct intel_gt_coredump *gt,
^
drivers/gpu/drm/i915/i915_gpu_error.h:321:30: warning: unused parameter 'compress' [-Wunused-parameter]
struct i915_vma_compress *compress)
^
drivers/gpu/drm/i915/i915_gpu_error.h:326:50: warning: unused parameter 'error' [-Wunused-parameter]
i915_error_state_store(struct i915_gpu_coredump *error)
^
drivers/gpu/drm/i915/i915_gpu_error.h:330:68: warning: unused parameter 'gpu' [-Wunused-parameter]
static inline void i915_gpu_coredump_put(struct i915_gpu_coredump *gpu)
^
drivers/gpu/drm/i915/i915_gpu_error.h:335:49: warning: unused parameter 'i915' [-Wunused-parameter]
i915_first_error_state(struct drm_i915_private *i915)
^
drivers/gpu/drm/i915/i915_gpu_error.h:340:68: warning: unused parameter 'i915' [-Wunused-parameter]
static inline void i915_reset_error_state(struct drm_i915_private *i915)
^
drivers/gpu/drm/i915/i915_gpu_error.h:344:70: warning: unused parameter 'i915' [-Wunused-parameter]
static inline void i915_disable_error_state(struct drm_i915_private *i915,
^
drivers/gpu/drm/i915/i915_gpu_error.h:345:14: warning: unused parameter 'err' [-Wunused-parameter]
int err)
^
>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:137:60: warning: unused parameter 'bo' [-Wunused-parameter]
static void i915_ttm_evict_flags(struct ttm_buffer_object *bo,
^
>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:275:61: warning: unused parameter 'evict' [-Wunused-parameter]
static int i915_ttm_move(struct ttm_buffer_object *bo, bool evict,
^
>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:278:23: warning: unused parameter 'hop' [-Wunused-parameter]
struct ttm_place *hop)
^
>> drivers/gpu/drm/i915/gem/i915_gem_ttm.c:396:28: warning: unused parameter 'st' [-Wunused-parameter]
struct sg_table *st)
^
1566 warnings and 1 error generated.
vim +/bo +137 drivers/gpu/drm/i915/gem/i915_gem_ttm.c
136
> 137 static void i915_ttm_evict_flags(struct ttm_buffer_object *bo,
138 struct ttm_placement *placement)
139 {
140 *placement = i915_sys_placement;
141 }
142
143 static int i915_ttm_move_notify(struct ttm_buffer_object *bo)
144 {
145 struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo);
146 int ret;
147
148 ret = i915_gem_object_unbind(obj, I915_GEM_OBJECT_UNBIND_ACTIVE);
149 if (ret)
150 return ret;
151
152 ret = __i915_gem_object_put_pages(obj);
153 if (ret)
154 return ret;
155
156 return 0;
157 }
158
159 static void i915_ttm_free_cached_io_st(struct drm_i915_gem_object *obj)
160 {
161 if (obj->ttm.cached_io_st) {
162 sg_free_table(obj->ttm.cached_io_st);
163 kfree(obj->ttm.cached_io_st);
164 obj->ttm.cached_io_st = NULL;
165 }
166 }
167
168 static void i915_ttm_purge(struct drm_i915_gem_object *obj)
169 {
170 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj);
171 struct ttm_operation_ctx ctx = {
172 .interruptible = true,
173 .no_wait_gpu = false,
174 };
175 struct ttm_placement place = {};
176 int ret;
177
178 if (obj->mm.madv == __I915_MADV_PURGED)
179 return;
180
181 /* TTM's purge interface. Note that we might be reentering. */
182 ret = ttm_bo_validate(bo, &place, &ctx);
183
184 if (!ret) {
185 i915_ttm_free_cached_io_st(obj);
186 obj->mm.madv = __I915_MADV_PURGED;
187 }
188 }
189
190 static void i915_ttm_swap_notify(struct ttm_buffer_object *bo)
191 {
192 struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo);
193 int ret = i915_ttm_move_notify(bo);
194
195 GEM_WARN_ON(ret);
196 GEM_WARN_ON(obj->ttm.cached_io_st);
197 if (!ret && obj->mm.madv != I915_MADV_WILLNEED)
198 i915_ttm_purge(obj);
199 }
200
201 static void i915_ttm_delete_mem_notify(struct ttm_buffer_object *bo)
202 {
203 struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo);
204
205 if (likely(obj)) {
206 /* This releases all gem object bindings to the backend. */
207 __i915_gem_free_object(obj);
208 }
209 }
210
211 static struct intel_memory_region *
212 i915_ttm_region(struct ttm_device *bdev, int ttm_mem_type)
213 {
214 struct drm_i915_private *i915 = container_of(bdev, typeof(*i915), bdev);
215
216 /* There's some room for optimization here... */
217 GEM_BUG_ON(ttm_mem_type != I915_PL_SYSTEM &&
218 ttm_mem_type < I915_PL_LMEM0);
219 if (ttm_mem_type == I915_PL_SYSTEM)
220 return intel_memory_region_lookup(i915, INTEL_MEMORY_SYSTEM,
221 0);
222
223 return intel_memory_region_lookup(i915, INTEL_MEMORY_LOCAL,
224 ttm_mem_type - I915_PL_LMEM0);
225 }
226
227 static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm)
228 {
229 struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm);
230 struct scatterlist *sg;
231 struct sg_table *st;
232 int ret;
233
234 if (i915_tt->cached_st)
235 return i915_tt->cached_st;
236
237 st = kzalloc(sizeof(*st), GFP_KERNEL);
238 if (!st)
239 return ERR_PTR(-ENOMEM);
240
241 sg = __sg_alloc_table_from_pages
242 (st, ttm->pages, ttm->num_pages, 0,
243 (unsigned long)ttm->num_pages << PAGE_SHIFT,
244 i915_sg_segment_size(), NULL, 0, GFP_KERNEL);
245 if (IS_ERR(sg)) {
246 kfree(st);
247 return ERR_CAST(sg);
248 }
249
250 ret = dma_map_sgtable(i915_tt->dev, st, DMA_BIDIRECTIONAL, 0);
251 if (ret) {
252 sg_free_table(st);
253 kfree(st);
254 return ERR_PTR(ret);
255 }
256
257 i915_tt->cached_st = st;
258 return st;
259 }
260
261 static struct sg_table *
262 i915_ttm_resource_get_st(struct drm_i915_gem_object *obj,
263 struct ttm_resource *res)
264 {
265 struct ttm_buffer_object *bo = i915_gem_to_ttm(obj);
266 struct ttm_resource_manager *man =
267 ttm_manager_type(bo->bdev, res->mem_type);
268
269 if (man->use_tt)
270 return i915_ttm_tt_get_st(bo->ttm);
271
272 return intel_region_ttm_node_to_st(obj->mm.region, res);
273 }
274
> 275 static int i915_ttm_move(struct ttm_buffer_object *bo, bool evict,
276 struct ttm_operation_ctx *ctx,
277 struct ttm_resource *dst_mem,
> 278 struct ttm_place *hop)
279 {
280 struct drm_i915_gem_object *obj = i915_ttm_to_gem(bo);
281 struct ttm_resource_manager *dst_man =
282 ttm_manager_type(bo->bdev, dst_mem->mem_type);
283 struct ttm_resource_manager *src_man =
284 ttm_manager_type(bo->bdev, bo->resource->mem_type);
285 struct intel_memory_region *dst_reg, *src_reg;
286 union {
287 struct ttm_kmap_iter_tt tt;
288 struct ttm_kmap_iter_iomap io;
289 } _dst_iter, _src_iter;
290 struct ttm_kmap_iter *dst_iter, *src_iter;
291 struct sg_table *dst_st;
292 int ret;
293
294 dst_reg = i915_ttm_region(bo->bdev, dst_mem->mem_type);
295 src_reg = i915_ttm_region(bo->bdev, bo->resource->mem_type);
296 GEM_BUG_ON(!dst_reg || !src_reg);
297
298 /* Sync for now. We could do the actual copy async. */
299 ret = ttm_bo_wait_ctx(bo, ctx);
300 if (ret)
301 return ret;
302
303 ret = i915_ttm_move_notify(bo);
304 if (ret)
305 return ret;
306
307 if (obj->mm.madv != I915_MADV_WILLNEED) {
308 i915_ttm_purge(obj);
309 ttm_resource_free(bo, &dst_mem);
310 return 0;
311 }
312
313 /* Populate ttm with pages if needed. Typically system memory. */
314 if (bo->ttm && (dst_man->use_tt ||
315 (bo->ttm->page_flags & TTM_PAGE_FLAG_SWAPPED))) {
316 ret = ttm_tt_populate(bo->bdev, bo->ttm, ctx);
317 if (ret)
318 return ret;
319 }
320
321 dst_st = i915_ttm_resource_get_st(obj, dst_mem);
322 if (IS_ERR(dst_st))
323 return PTR_ERR(dst_st);
324
325 /* If we start mapping GGTT, we can no longer use man::use_tt here. */
326 dst_iter = dst_man->use_tt ?
327 ttm_kmap_iter_tt_init(&_dst_iter.tt, bo->ttm) :
328 ttm_kmap_iter_iomap_init(&_dst_iter.io, &dst_reg->iomap,
329 dst_st, dst_reg->region.start);
330
331 src_iter = src_man->use_tt ?
332 ttm_kmap_iter_tt_init(&_src_iter.tt, bo->ttm) :
333 ttm_kmap_iter_iomap_init(&_src_iter.io, &src_reg->iomap,
334 obj->ttm.cached_io_st,
335 src_reg->region.start);
336
337 ttm_move_memcpy(bo, dst_mem->num_pages, dst_iter, src_iter);
338 ttm_bo_move_sync_cleanup(bo, dst_mem);
339 i915_ttm_free_cached_io_st(obj);
340
341 if (!dst_man->use_tt)
342 obj->ttm.cached_io_st = dst_st;
343
344 return 0;
345 }
346
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 1 month