[linux-review:UPDATE-20200919-040329/Daniel-Vetter/managed-drm_device-absolute-final-leftover-bits/20200918-212606 2/4] drivers/gpu/drm/i915/selftests/mock_gem_device.c:147:58: error: format specifies type 'int' but the argument has type 'long'
by kernel test robot
tree: https://github.com/0day-ci/linux/commits/UPDATE-20200919-040329/Daniel-Ve...
head: 94cdb5aa39405ff16ad98f65a8d44e9a8e55dac7
commit: 0eecbea55f799c9e404dcc6e3249af908252a240 [2/4] drm/i915/selftests: align more to real device lifetimes
config: x86_64-randconfig-a002-20200917 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed79827aea444e6995fb3d36abc2bfd36331773c)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
git checkout 0eecbea55f799c9e404dcc6e3249af908252a240
# 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 errors (new ones prefixed by >>):
In file included from drivers/gpu/drm/i915/i915_gem.c:1397:
>> drivers/gpu/drm/i915/selftests/mock_gem_device.c:147:58: error: format specifies type 'int' but the argument has type 'long' [-Werror,-Wformat]
pr_err("Failed to allocate mock GEM device: err=%d\n", PTR_ERR(i915));
~~ ^~~~~~~~~~~~~
%ld
include/linux/printk.h:339:33: note: expanded from macro 'pr_err'
printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
~~~ ^~~~~~~~~~~
In file included from drivers/gpu/drm/i915/i915_gem.c:1397:
>> drivers/gpu/drm/i915/selftests/mock_gem_device.c:124:6: error: unused variable 'err' [-Werror,-Wunused-variable]
int err;
^
2 errors generated.
# https://github.com/0day-ci/linux/commit/0eecbea55f799c9e404dcc6e3249af908...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review UPDATE-20200919-040329/Daniel-Vetter/managed-drm_device-absolute-final-leftover-bits/20200918-212606
git checkout 0eecbea55f799c9e404dcc6e3249af908252a240
vim +147 drivers/gpu/drm/i915/selftests/mock_gem_device.c
116
117 struct drm_i915_private *mock_gem_device(void)
118 {
119 #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
120 static struct dev_iommu fake_iommu = { .priv = (void *)-1 };
121 #endif
122 struct drm_i915_private *i915;
123 struct pci_dev *pdev;
> 124 int err;
125
126 pdev = kzalloc(sizeof(*pdev), GFP_KERNEL);
127 if (!pdev)
128 return NULL;
129 device_initialize(&pdev->dev);
130 pdev->class = PCI_BASE_CLASS_DISPLAY << 16;
131 pdev->dev.release = release_dev;
132 dev_set_name(&pdev->dev, "mock");
133 dma_coerce_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64));
134
135 #if IS_ENABLED(CONFIG_IOMMU_API) && defined(CONFIG_INTEL_IOMMU)
136 /* HACK to disable iommu for the fake device; force identity mapping */
137 pdev->dev.iommu = &fake_iommu;
138 #endif
139 if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) {
140 put_device(&pdev->dev);
141 return NULL;
142 }
143
144 i915 = devm_drm_dev_alloc(&pdev->dev, &mock_driver,
145 struct drm_i915_private, drm);
146 if (IS_ERR(i915)) {
> 147 pr_err("Failed to allocate mock GEM device: err=%d\n", PTR_ERR(i915));
148 devres_release_group(&pdev->dev, NULL);
149 put_device(&pdev->dev);
150
151 return NULL;
152 }
153
154 pci_set_drvdata(pdev, i915);
155 i915->drm.pdev = pdev;
156
157 dev_pm_domain_set(&pdev->dev, &pm_domain);
158 pm_runtime_enable(&pdev->dev);
159 pm_runtime_dont_use_autosuspend(&pdev->dev);
160 if (pm_runtime_enabled(&pdev->dev))
161 WARN_ON(pm_runtime_get_sync(&pdev->dev));
162
163
164 i915_params_copy(&i915->params, &i915_modparams);
165
166 intel_runtime_pm_init_early(&i915->runtime_pm);
167
168 /* Using the global GTT may ask questions about KMS users, so prepare */
169 drm_mode_config_init(&i915->drm);
170
171 mkwrite_device_info(i915)->gen = -1;
172
173 mkwrite_device_info(i915)->page_sizes =
174 I915_GTT_PAGE_SIZE_4K |
175 I915_GTT_PAGE_SIZE_64K |
176 I915_GTT_PAGE_SIZE_2M;
177
178 mkwrite_device_info(i915)->memory_regions = REGION_SMEM;
179 intel_memory_regions_hw_probe(i915);
180
181 mock_uncore_init(&i915->uncore, i915);
182
183 i915_gem_init__mm(i915);
184 intel_gt_init_early(&i915->gt, i915);
185 atomic_inc(&i915->gt.wakeref.count); /* disable; no hw support */
186 i915->gt.awake = -ENODEV;
187
188 i915->wq = alloc_ordered_workqueue("mock", 0);
189 if (!i915->wq)
190 goto err_drv;
191
192 mock_init_contexts(i915);
193
194 mock_init_ggtt(i915, &i915->ggtt);
195 i915->gt.vm = i915_vm_get(&i915->ggtt.vm);
196
197 mkwrite_device_info(i915)->platform_engine_mask = BIT(0);
198 i915->gt.info.engine_mask = BIT(0);
199
200 i915->gt.engine[RCS0] = mock_engine(i915, "mock", RCS0);
201 if (!i915->gt.engine[RCS0])
202 goto err_unlock;
203
204 if (mock_engine_init(i915->gt.engine[RCS0]))
205 goto err_context;
206
207 __clear_bit(I915_WEDGED, &i915->gt.reset.flags);
208 intel_engines_driver_register(i915);
209
210 i915->do_release = true;
211
212 return i915;
213
214 err_context:
215 intel_gt_driver_remove(&i915->gt);
216 err_unlock:
217 destroy_workqueue(i915->wq);
218 err_drv:
219 intel_gt_driver_late_release(&i915->gt);
220 intel_memory_regions_driver_release(i915);
221 drm_mode_config_cleanup(&i915->drm);
222 mock_destroy_device(i915);
223
224 return NULL;
225 }
226
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[intel-linux-intel-lts:4.9/yocto/base 4/9] drivers/gpu/drm/etnaviv/etnaviv_mmu.c:250:5: error: 'struct etnaviv_iommu' has no member named 'need_flush'
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 4.9/yocto/base
head: 2a51382b3fd2c499ef6a2229389aa5c06481d1cf
commit: 6b6bf4cfb24e321833e1b8267d18440cd4c328d9 [4/9] Merge tag 'v4.9.220' into lts2016/yocto
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-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
git checkout 6b6bf4cfb24e321833e1b8267d18440cd4c328d9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 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/gpu/drm/etnaviv/etnaviv_mmu.c: In function 'etnaviv_iommu_map_gem':
>> drivers/gpu/drm/etnaviv/etnaviv_mmu.c:250:5: error: 'struct etnaviv_iommu' has no member named 'need_flush'
mmu->need_flush = true;
^~
drivers/gpu/drm/etnaviv/etnaviv_mmu.c: In function 'etnaviv_iommu_unmap_gem':
drivers/gpu/drm/etnaviv/etnaviv_mmu.c:268:5: error: 'struct etnaviv_iommu' has no member named 'need_flush'
mmu->need_flush = true;
^~
# https://github.com/intel/linux-intel-lts/commit/6b6bf4cfb24e321833e1b8267...
git remote add intel-linux-intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-linux-intel-lts 4.9/yocto/base
git checkout 6b6bf4cfb24e321833e1b8267d18440cd4c328d9
vim +250 drivers/gpu/drm/etnaviv/etnaviv_mmu.c
90969c9aa97700 Lucas Stach 2016-08-19 203
90969c9aa97700 Lucas Stach 2016-08-19 204 int etnaviv_iommu_map_gem(struct etnaviv_iommu *mmu,
90969c9aa97700 Lucas Stach 2016-08-19 205 struct etnaviv_gem_object *etnaviv_obj, u32 memory_base,
90969c9aa97700 Lucas Stach 2016-08-19 206 struct etnaviv_vram_mapping *mapping)
90969c9aa97700 Lucas Stach 2016-08-19 207 {
90969c9aa97700 Lucas Stach 2016-08-19 208 struct sg_table *sgt = etnaviv_obj->sgt;
90969c9aa97700 Lucas Stach 2016-08-19 209 struct drm_mm_node *node;
90969c9aa97700 Lucas Stach 2016-08-19 210 int ret;
90969c9aa97700 Lucas Stach 2016-08-19 211
90969c9aa97700 Lucas Stach 2016-08-19 212 lockdep_assert_held(&etnaviv_obj->lock);
90969c9aa97700 Lucas Stach 2016-08-19 213
90969c9aa97700 Lucas Stach 2016-08-19 214 mutex_lock(&mmu->lock);
90969c9aa97700 Lucas Stach 2016-08-19 215
90969c9aa97700 Lucas Stach 2016-08-19 216 /* v1 MMU can optimize single entry (contiguous) scatterlists */
90969c9aa97700 Lucas Stach 2016-08-19 217 if (mmu->version == ETNAVIV_IOMMU_V1 &&
90969c9aa97700 Lucas Stach 2016-08-19 218 sgt->nents == 1 && !(etnaviv_obj->flags & ETNA_BO_FORCE_MMU)) {
90969c9aa97700 Lucas Stach 2016-08-19 219 u32 iova;
90969c9aa97700 Lucas Stach 2016-08-19 220
90969c9aa97700 Lucas Stach 2016-08-19 221 iova = sg_dma_address(sgt->sgl) - memory_base;
90969c9aa97700 Lucas Stach 2016-08-19 222 if (iova < 0x80000000 - sg_dma_len(sgt->sgl)) {
90969c9aa97700 Lucas Stach 2016-08-19 223 mapping->iova = iova;
90969c9aa97700 Lucas Stach 2016-08-19 224 list_add_tail(&mapping->mmu_node, &mmu->mappings);
90969c9aa97700 Lucas Stach 2016-08-19 225 mutex_unlock(&mmu->lock);
90969c9aa97700 Lucas Stach 2016-08-19 226 return 0;
90969c9aa97700 Lucas Stach 2016-08-19 227 }
90969c9aa97700 Lucas Stach 2016-08-19 228 }
90969c9aa97700 Lucas Stach 2016-08-19 229
90969c9aa97700 Lucas Stach 2016-08-19 230 node = &mapping->vram_node;
90969c9aa97700 Lucas Stach 2016-08-19 231
90969c9aa97700 Lucas Stach 2016-08-19 232 ret = etnaviv_iommu_find_iova(mmu, node, etnaviv_obj->base.size);
a8c21a5451d831 The etnaviv authors 2015-12-03 233 if (ret < 0) {
a8c21a5451d831 The etnaviv authors 2015-12-03 234 mutex_unlock(&mmu->lock);
a8c21a5451d831 The etnaviv authors 2015-12-03 235 return ret;
a8c21a5451d831 The etnaviv authors 2015-12-03 236 }
a8c21a5451d831 The etnaviv authors 2015-12-03 237
a8c21a5451d831 The etnaviv authors 2015-12-03 238 mmu->last_iova = node->start + etnaviv_obj->base.size;
a8c21a5451d831 The etnaviv authors 2015-12-03 239 mapping->iova = node->start;
a8c21a5451d831 The etnaviv authors 2015-12-03 240 ret = etnaviv_iommu_map(mmu, node->start, sgt, etnaviv_obj->base.size,
a8c21a5451d831 The etnaviv authors 2015-12-03 241 IOMMU_READ | IOMMU_WRITE);
a8c21a5451d831 The etnaviv authors 2015-12-03 242
a8c21a5451d831 The etnaviv authors 2015-12-03 243 if (ret < 0) {
a8c21a5451d831 The etnaviv authors 2015-12-03 244 drm_mm_remove_node(node);
a8c21a5451d831 The etnaviv authors 2015-12-03 245 mutex_unlock(&mmu->lock);
a8c21a5451d831 The etnaviv authors 2015-12-03 246 return ret;
a8c21a5451d831 The etnaviv authors 2015-12-03 247 }
a8c21a5451d831 The etnaviv authors 2015-12-03 248
a8c21a5451d831 The etnaviv authors 2015-12-03 249 list_add_tail(&mapping->mmu_node, &mmu->mappings);
7a8d0aae150b2a Lucas Stach 2017-01-17 @250 mmu->need_flush = true;
a8c21a5451d831 The etnaviv authors 2015-12-03 251 mutex_unlock(&mmu->lock);
a8c21a5451d831 The etnaviv authors 2015-12-03 252
a8c21a5451d831 The etnaviv authors 2015-12-03 253 return ret;
a8c21a5451d831 The etnaviv authors 2015-12-03 254 }
a8c21a5451d831 The etnaviv authors 2015-12-03 255
:::::: The code at line 250 was first introduced by commit
:::::: 7a8d0aae150b2a86614c4f849413422536bcc53e drm/etnaviv: always flush MMU TLBs on map/unmap
:::::: TO: Lucas Stach <l.stach(a)pengutronix.de>
:::::: CC: Fei Yang <fei.yang(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH] net/sched: cbs: fix calculation error of idleslope credits
by kernel test robot
Hi Xiaoyong,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.9-rc5 next-20200918]
[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/Xiaoyong-Yan/net-sched-cbs-fix-c...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 10b82d5176488acee2820e5a2cf0f2ec5c3488b6
config: h8300-randconfig-m031-20200917 (attached as .config)
compiler: h8300-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
smatch warnings:
net/sched/sch_cbs.c:224 cbs_dequeue_soft() warn: inconsistent indenting
# https://github.com/0day-ci/linux/commit/6e3656a6f5879070aaee0343f90e633de...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xiaoyong-Yan/net-sched-cbs-fix-calculation-error-of-idleslope-credits/20200918-164430
git checkout 6e3656a6f5879070aaee0343f90e633de7d2d85a
vim +224 net/sched/sch_cbs.c
205
206 static struct sk_buff *cbs_dequeue_soft(struct Qdisc *sch)
207 {
208 struct cbs_sched_data *q = qdisc_priv(sch);
209 struct Qdisc *qdisc = q->qdisc;
210 s64 now = ktime_get_ns();
211 struct sk_buff *skb;
212 s64 credits;
213 int len;
214
215 /* The previous packet is still being sent */
216 if (now < q->last) {
217 cbs_timer_schedule(q, q->last);
218 return NULL;
219 }
220 if (q->credits < 0) {
221 s64 delay;
222
223 delay = delay_from_credits(q->credits, q->idleslope);
> 224 cbs_timer_schedule(q, now+ delay);
225 q->last = now;
226
227 return NULL;
228 }
229 skb = cbs_child_dequeue(sch, qdisc);
230 if (!skb)
231 return NULL;
232
233 len = qdisc_pkt_len(skb);
234
235 /* As sendslope is a negative number, this will decrease the
236 * amount of q->credits.
237 */
238 credits = credits_from_len(len, q->sendslope,
239 atomic64_read(&q->port_rate));
240 credits += q->credits;
241
242 q->credits = max_t(s64, credits, q->locredit);
243 /* Estimate of the transmission of the last byte of the packet in ns */
244 if (unlikely(atomic64_read(&q->port_rate) == 0))
245 q->last = now;
246 else
247 q->last = now + div64_s64(len * NSEC_PER_SEC,
248 atomic64_read(&q->port_rate));
249
250 return skb;
251 }
252
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v9 6/9] jbd2: fast commit recovery path
by kernel test robot
Hi Harshad,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on ext4/dev]
[also build test WARNING on linus/master v5.9-rc5 next-20200918]
[cannot apply to tip/perf/core]
[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/Harshad-Shirwadkar/ext4-add-fast...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
config: x86_64-randconfig-a006-20200917 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed79827aea444e6995fb3d36abc2bfd36331773c)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# 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 >>):
>> fs/jbd2/recovery.c:258:6: warning: variable 'seq' is uninitialized when used here [-Wuninitialized]
seq);
^~~
include/linux/jbd2.h:61:59: note: expanded from macro 'jbd_debug'
__jbd2_debug((n), __FILE__, __func__, __LINE__, (fmt), ##a)
^
fs/jbd2/recovery.c:241:18: note: initialize the variable 'seq' to silence this warning
unsigned int seq;
^
= 0
1 warning generated.
# https://github.com/0day-ci/linux/commit/1edf68c36f8df0e684d1c2bd25d324d43...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Harshad-Shirwadkar/ext4-add-fast-commits-feature/20200919-085652
git checkout 1edf68c36f8df0e684d1c2bd25d324d43da4d444
vim +/seq +258 fs/jbd2/recovery.c
234
235 static int fc_do_one_pass(journal_t *journal,
236 struct recovery_info *info, enum passtype pass)
237 {
238 unsigned int expected_commit_id = info->end_transaction;
239 unsigned long next_fc_block;
240 struct buffer_head *bh;
241 unsigned int seq;
242 int err = 0;
243
244 next_fc_block = journal->j_first_fc;
245 if (!journal->j_fc_replay_callback)
246 return 0;
247
248 while (next_fc_block <= journal->j_last_fc) {
249 jbd_debug(3, "Fast commit replay: next block %ld",
250 next_fc_block);
251 err = jread(&bh, journal, next_fc_block);
252 if (err) {
253 jbd_debug(3, "Fast commit replay: read error");
254 break;
255 }
256
257 jbd_debug(3, "Processing fast commit blk with seq %d",
> 258 seq);
259 err = journal->j_fc_replay_callback(journal, bh, pass,
260 next_fc_block - journal->j_first_fc,
261 expected_commit_id);
262 next_fc_block++;
263 if (err < 0 || err == JBD2_FC_REPLAY_STOP)
264 break;
265 err = 0;
266 }
267
268 if (err)
269 jbd_debug(3, "Fast commit replay failed, err = %d\n", err);
270
271 return err;
272 }
273
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
drivers/rtc/rtc-m41t80.c:736:21: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: eb5f95f1593f7c22dac681b19e815828e2af3efd
commit: e5fc436f06eef54ef512ea55a9db8eb9f2e76959 sparse: use static inline for __chk_{user,io}_ptr()
date: 3 weeks ago
config: sh-randconfig-s032-20200919 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-201-g24bdaac6-dirty
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/rtc/rtc-m41t80.c:736:21: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected int const *__gu_addr @@ got int [noderef] __user * @@
drivers/rtc/rtc-m41t80.c:736:21: sparse: expected int const *__gu_addr
drivers/rtc/rtc-m41t80.c:736:21: sparse: got int [noderef] __user *
>> drivers/rtc/rtc-m41t80.c:736:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got int const *__gu_addr @@
>> drivers/rtc/rtc-m41t80.c:736:21: sparse: expected void const volatile [noderef] __user *ptr
drivers/rtc/rtc-m41t80.c:736:21: sparse: got int const *__gu_addr
--
net/bluetooth/hci_core.c:2099:13: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned short const *__gu_addr @@ got unsigned short [noderef] [usertype] __user * @@
net/bluetooth/hci_core.c:2099:13: sparse: expected unsigned short const *__gu_addr
net/bluetooth/hci_core.c:2099:13: sparse: got unsigned short [noderef] [usertype] __user *
>> net/bluetooth/hci_core.c:2099:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __user *ptr @@ got unsigned short const *__gu_addr @@
>> net/bluetooth/hci_core.c:2099:13: sparse: expected void const volatile [noderef] __user *ptr
net/bluetooth/hci_core.c:2099:13: sparse: got unsigned short const *__gu_addr
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e5fc436f06eef54ef512ea55a9db8eb9f2e76959
vim +736 drivers/rtc/rtc-m41t80.c
617780d290bd6e Atsushi Nemoto 2007-07-17 702
617780d290bd6e Atsushi Nemoto 2007-07-17 703 /**
617780d290bd6e Atsushi Nemoto 2007-07-17 704 * wdt_ioctl:
617780d290bd6e Atsushi Nemoto 2007-07-17 705 * @file: file handle to the device
617780d290bd6e Atsushi Nemoto 2007-07-17 706 * @cmd: watchdog command
617780d290bd6e Atsushi Nemoto 2007-07-17 707 * @arg: argument pointer
617780d290bd6e Atsushi Nemoto 2007-07-17 708 *
617780d290bd6e Atsushi Nemoto 2007-07-17 709 * The watchdog API defines a common set of functions for all watchdogs
617780d290bd6e Atsushi Nemoto 2007-07-17 710 * according to their available features. We only actually usefully support
617780d290bd6e Atsushi Nemoto 2007-07-17 711 * querying capabilities and current status.
617780d290bd6e Atsushi Nemoto 2007-07-17 712 */
55929332c92e5d Arnd Bergmann 2010-04-27 713 static int wdt_ioctl(struct file *file, unsigned int cmd,
617780d290bd6e Atsushi Nemoto 2007-07-17 714 unsigned long arg)
617780d290bd6e Atsushi Nemoto 2007-07-17 715 {
617780d290bd6e Atsushi Nemoto 2007-07-17 716 int new_margin, rv;
617780d290bd6e Atsushi Nemoto 2007-07-17 717 static struct watchdog_info ident = {
617780d290bd6e Atsushi Nemoto 2007-07-17 718 .options = WDIOF_POWERUNDER | WDIOF_KEEPALIVEPING |
617780d290bd6e Atsushi Nemoto 2007-07-17 719 WDIOF_SETTIMEOUT,
617780d290bd6e Atsushi Nemoto 2007-07-17 720 .firmware_version = 1,
617780d290bd6e Atsushi Nemoto 2007-07-17 721 .identity = "M41T80 WTD"
617780d290bd6e Atsushi Nemoto 2007-07-17 722 };
617780d290bd6e Atsushi Nemoto 2007-07-17 723
617780d290bd6e Atsushi Nemoto 2007-07-17 724 switch (cmd) {
617780d290bd6e Atsushi Nemoto 2007-07-17 725 case WDIOC_GETSUPPORT:
617780d290bd6e Atsushi Nemoto 2007-07-17 726 return copy_to_user((struct watchdog_info __user *)arg, &ident,
617780d290bd6e Atsushi Nemoto 2007-07-17 727 sizeof(ident)) ? -EFAULT : 0;
617780d290bd6e Atsushi Nemoto 2007-07-17 728
617780d290bd6e Atsushi Nemoto 2007-07-17 729 case WDIOC_GETSTATUS:
617780d290bd6e Atsushi Nemoto 2007-07-17 730 case WDIOC_GETBOOTSTATUS:
617780d290bd6e Atsushi Nemoto 2007-07-17 731 return put_user(boot_flag, (int __user *)arg);
617780d290bd6e Atsushi Nemoto 2007-07-17 732 case WDIOC_KEEPALIVE:
617780d290bd6e Atsushi Nemoto 2007-07-17 733 wdt_ping();
617780d290bd6e Atsushi Nemoto 2007-07-17 734 return 0;
617780d290bd6e Atsushi Nemoto 2007-07-17 735 case WDIOC_SETTIMEOUT:
617780d290bd6e Atsushi Nemoto 2007-07-17 @736 if (get_user(new_margin, (int __user *)arg))
617780d290bd6e Atsushi Nemoto 2007-07-17 737 return -EFAULT;
617780d290bd6e Atsushi Nemoto 2007-07-17 738 /* Arbitrary, can't find the card's limits */
617780d290bd6e Atsushi Nemoto 2007-07-17 739 if (new_margin < 1 || new_margin > 124)
617780d290bd6e Atsushi Nemoto 2007-07-17 740 return -EINVAL;
617780d290bd6e Atsushi Nemoto 2007-07-17 741 wdt_margin = new_margin;
617780d290bd6e Atsushi Nemoto 2007-07-17 742 wdt_ping();
c3e04915b8674a Gustavo A. R. Silva 2018-10-04 743 /* Fall through */
617780d290bd6e Atsushi Nemoto 2007-07-17 744 case WDIOC_GETTIMEOUT:
617780d290bd6e Atsushi Nemoto 2007-07-17 745 return put_user(wdt_margin, (int __user *)arg);
617780d290bd6e Atsushi Nemoto 2007-07-17 746
617780d290bd6e Atsushi Nemoto 2007-07-17 747 case WDIOC_SETOPTIONS:
617780d290bd6e Atsushi Nemoto 2007-07-17 748 if (copy_from_user(&rv, (int __user *)arg, sizeof(int)))
617780d290bd6e Atsushi Nemoto 2007-07-17 749 return -EFAULT;
617780d290bd6e Atsushi Nemoto 2007-07-17 750
617780d290bd6e Atsushi Nemoto 2007-07-17 751 if (rv & WDIOS_DISABLECARD) {
a737e835e5769e Joe Perches 2015-04-16 752 pr_info("disable watchdog\n");
617780d290bd6e Atsushi Nemoto 2007-07-17 753 wdt_disable();
617780d290bd6e Atsushi Nemoto 2007-07-17 754 }
617780d290bd6e Atsushi Nemoto 2007-07-17 755
617780d290bd6e Atsushi Nemoto 2007-07-17 756 if (rv & WDIOS_ENABLECARD) {
a737e835e5769e Joe Perches 2015-04-16 757 pr_info("enable watchdog\n");
617780d290bd6e Atsushi Nemoto 2007-07-17 758 wdt_ping();
617780d290bd6e Atsushi Nemoto 2007-07-17 759 }
617780d290bd6e Atsushi Nemoto 2007-07-17 760
617780d290bd6e Atsushi Nemoto 2007-07-17 761 return -EINVAL;
617780d290bd6e Atsushi Nemoto 2007-07-17 762 }
617780d290bd6e Atsushi Nemoto 2007-07-17 763 return -ENOTTY;
617780d290bd6e Atsushi Nemoto 2007-07-17 764 }
617780d290bd6e Atsushi Nemoto 2007-07-17 765
:::::: The code at line 736 was first introduced by commit
:::::: 617780d290bd6eb2b260928c6acff5b7c6084154 rtc: watchdog support for rtc-m41t80 driver
:::::: TO: Atsushi Nemoto <anemo(a)mba.ocn.ne.jp>
:::::: CC: Linus Torvalds <torvalds(a)woody.linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[linux-stable-rc:linux-4.9.y 549/623] drivers/ata/libata-scsi.c:2346:30: error: 'SECTOR_SHIFT' undeclared; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
head: 9769e65dc140de1f4c694ec4afeb68014a130bf0
commit: 8c36cde29ad1e563def83c41094a96027b7a9b1b [549/623] libata: implement ATA_HORKAGE_MAX_TRIM_128M and apply to Sandisks
config: powerpc64-randconfig-r033-20200918 (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
git checkout 8c36cde29ad1e563def83c41094a96027b7a9b1b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=powerpc64
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/powerpc/include/asm/bug.h:76:7: note: in definition of macro 'BUG_ON'
if (x) \
^
include/linux/dma-mapping.h:284:9: note: in expansion of macro 'pfn_valid'
BUG_ON(pfn_valid(PHYS_PFN(phys_addr)));
^~~~~~~~~
arch/powerpc/include/asm/page.h:129:32: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
arch/powerpc/include/asm/bug.h:84:25: note: in definition of macro 'BUG_ON'
"r" ((__force long)(x))); \
^
include/linux/dma-mapping.h:284:9: note: in expansion of macro 'pfn_valid'
BUG_ON(pfn_valid(PHYS_PFN(phys_addr)));
^~~~~~~~~
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:42: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/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:1189: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:152:43: note: in definition of macro 'likely'
# define likely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))
^
drivers/ata/libata-scsi.c:1189: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:152:43: note: in definition of macro 'likely'
# define likely(x) (__builtin_constant_p(x) ? !!(x) : __branch_check__(x, 1))
^
drivers/ata/libata-scsi.c:1192:7: error: implicit declaration of function 'blk_rq_bytes'; did you mean 'clear_bits'? [-Werror=implicit-function-declaration]
if (!blk_rq_bytes(rq) || op_is_write(req_op(rq)))
^~~~~~~~~~~~
clear_bits
drivers/ata/libata-scsi.c:1192:27: error: implicit declaration of function 'op_is_write'; did you mean 'acpi_write'? [-Werror=implicit-function-declaration]
if (!blk_rq_bytes(rq) || op_is_write(req_op(rq)))
^~~~~~~~~~~
acpi_write
drivers/ata/libata-scsi.c:1192:39: error: implicit declaration of function 'req_op'; did you mean 'seq_open'? [-Werror=implicit-function-declaration]
if (!blk_rq_bytes(rq) || op_is_write(req_op(rq)))
^~~~~~
seq_open
drivers/ata/libata-scsi.c: In function 'ata_scsi_dev_config':
drivers/ata/libata-scsi.c:1207: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:1215: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:1218: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:1224: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:1242: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:1255: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:1742: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_scsiop_inq_b0':
>> drivers/ata/libata-scsi.c:2346:30: error: 'SECTOR_SHIFT' undeclared (first use in this function); did you mean 'SOFTIRQ_SHIFT'?
max_blocks = 128 << (20 - SECTOR_SHIFT);
^~~~~~~~~~~~
SOFTIRQ_SHIFT
drivers/ata/libata-scsi.c: In function 'atapi_drain_needed':
drivers/ata/libata-scsi.c:1196:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
drivers/ata/libata-scsi.c: In function 'ata_scsiop_maint_in':
drivers/ata/libata-scsi.c:3601:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
if (!ata_id_sct_write_same(dev->id))
^
drivers/ata/libata-scsi.c:3604:2: note: here
case ZBC_IN:
^~~~
cc1: some warnings being treated as errors
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
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.9.y
git checkout 8c36cde29ad1e563def83c41094a96027b7a9b1b
vim +2346 drivers/ata/libata-scsi.c
2314
2315 static unsigned int ata_scsiop_inq_b0(struct ata_scsi_args *args, u8 *rbuf)
2316 {
2317 struct ata_device *dev = args->dev;
2318 u16 min_io_sectors;
2319
2320 rbuf[1] = 0xb0;
2321 rbuf[3] = 0x3c; /* required VPD size with unmap support */
2322
2323 /*
2324 * Optimal transfer length granularity.
2325 *
2326 * This is always one physical block, but for disks with a smaller
2327 * logical than physical sector size we need to figure out what the
2328 * latter is.
2329 */
2330 min_io_sectors = 1 << ata_id_log2_per_physical_sector(args->id);
2331 put_unaligned_be16(min_io_sectors, &rbuf[6]);
2332
2333 /*
2334 * Optimal unmap granularity.
2335 *
2336 * The ATA spec doesn't even know about a granularity or alignment
2337 * for the TRIM command. We can leave away most of the unmap related
2338 * VPD page entries, but we have specifify a granularity to signal
2339 * that we support some form of unmap - in thise case via WRITE SAME
2340 * with the unmap bit set.
2341 */
2342 if (ata_id_has_trim(args->id)) {
2343 u64 max_blocks = 65535 * ATA_MAX_TRIM_RNUM;
2344
2345 if (dev->horkage & ATA_HORKAGE_MAX_TRIM_128M)
> 2346 max_blocks = 128 << (20 - SECTOR_SHIFT);
2347
2348 put_unaligned_be64(max_blocks, &rbuf[36]);
2349 put_unaligned_be32(1, &rbuf[28]);
2350 }
2351
2352 return 0;
2353 }
2354
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v9 5/9] ext4: main fast-commit commit path
by kernel test robot
Hi Harshad,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on ext4/dev]
[also build test WARNING on linus/master v5.9-rc5 next-20200918]
[cannot apply to tip/perf/core]
[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/Harshad-Shirwadkar/ext4-add-fast...
base: https://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4.git dev
config: x86_64-randconfig-a006-20200917 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project ed79827aea444e6995fb3d36abc2bfd36331773c)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# 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 >>):
>> fs/ext4/fast_commit.c:1079:6: warning: variable 'start_time' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (!test_opt2(sb, JOURNAL_FAST_COMMIT) ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/fast_commit.c:1135:51: note: uninitialized use occurs here
commit_time = ktime_to_ns(ktime_sub(ktime_get(), start_time));
^~~~~~~~~~
include/linux/ktime.h:46:39: note: expanded from macro 'ktime_sub'
#define ktime_sub(lhs, rhs) ((lhs) - (rhs))
^~~
fs/ext4/fast_commit.c:1079:2: note: remove the 'if' if its condition is always false
if (!test_opt2(sb, JOURNAL_FAST_COMMIT) ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/ext4/fast_commit.c:1079:6: warning: variable 'start_time' is used uninitialized whenever '||' condition is true [-Wsometimes-uninitialized]
if (!test_opt2(sb, JOURNAL_FAST_COMMIT) ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/fast_commit.c:1135:51: note: uninitialized use occurs here
commit_time = ktime_to_ns(ktime_sub(ktime_get(), start_time));
^~~~~~~~~~
include/linux/ktime.h:46:39: note: expanded from macro 'ktime_sub'
#define ktime_sub(lhs, rhs) ((lhs) - (rhs))
^~~
fs/ext4/fast_commit.c:1079:6: note: remove the '||' if its condition is always false
if (!test_opt2(sb, JOURNAL_FAST_COMMIT) ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ext4/fast_commit.c:1075:20: note: initialize the variable 'start_time' to silence this warning
ktime_t start_time, commit_time;
^
= 0
2 warnings generated.
# https://github.com/0day-ci/linux/commit/2384cbfbcf98b789d426c39b458c52adb...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Harshad-Shirwadkar/ext4-add-fast-commits-feature/20200919-085652
git checkout 2384cbfbcf98b789d426c39b458c52adbb36d4f9
vim +1079 fs/ext4/fast_commit.c
1061
1062 /*
1063 * The main commit entry point. Performs a fast commit for transaction
1064 * commit_tid if needed. If it's not possible to perform a fast commit
1065 * due to various reasons, we fall back to full commit. Returns 0
1066 * on success, error otherwise.
1067 */
1068 int ext4_fc_commit(journal_t *journal, tid_t commit_tid)
1069 {
1070 struct super_block *sb = (struct super_block *)(journal->j_private);
1071 struct ext4_sb_info *sbi = EXT4_SB(sb);
1072 int nblks = 0, ret, bsize = journal->j_blocksize;
1073 int subtid = atomic_read(&sbi->s_fc_subtid);
1074 int reason = EXT4_FC_REASON_OK, fc_bufs_before = 0;
1075 ktime_t start_time, commit_time;
1076
1077 trace_ext4_fc_commit_start(sb);
1078
> 1079 if (!test_opt2(sb, JOURNAL_FAST_COMMIT) ||
1080 (ext4_fc_is_ineligible(sb))) {
1081 reason = EXT4_FC_REASON_INELIGIBLE;
1082 goto out;
1083 }
1084
1085 start_time = ktime_get();
1086 restart_fc:
1087 ret = jbd2_fc_start(journal, commit_tid);
1088 if (ret == -EALREADY) {
1089 /* There was an ongoing commit, check if we need to restart */
1090 if (atomic_read(&sbi->s_fc_subtid) <= subtid &&
1091 commit_tid > journal->j_commit_sequence)
1092 goto restart_fc;
1093 reason = EXT4_FC_REASON_ALREADY_COMMITTED;
1094 goto out;
1095 } else if (ret) {
1096 sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_COMMIT_FAILED]++;
1097 reason = EXT4_FC_REASON_FC_START_FAILED;
1098 goto out;
1099 }
1100
1101 fc_bufs_before = (sbi->s_fc_bytes + bsize - 1) / bsize;
1102 ret = ext4_fc_perform_commit(journal);
1103 if (ret < 0) {
1104 sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_COMMIT_FAILED]++;
1105 reason = EXT4_FC_REASON_FC_FAILED;
1106 goto out;
1107 }
1108 nblks = (sbi->s_fc_bytes + bsize - 1) / bsize - fc_bufs_before;
1109 ret = jbd2_fc_wait_bufs(journal, nblks);
1110 if (ret < 0) {
1111 sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_COMMIT_FAILED]++;
1112 reason = EXT4_FC_REASON_FC_FAILED;
1113 goto out;
1114 }
1115 atomic_inc(&sbi->s_fc_subtid);
1116 jbd2_fc_stop(journal);
1117 out:
1118 /* Has any ineligible update happened since we started? */
1119 if (reason == EXT4_FC_REASON_OK && ext4_fc_is_ineligible(sb)) {
1120 sbi->s_fc_stats.fc_ineligible_reason_count[EXT4_FC_COMMIT_FAILED]++;
1121 reason = EXT4_FC_REASON_INELIGIBLE;
1122 }
1123
1124 spin_lock(&sbi->s_fc_lock);
1125 if (reason != EXT4_FC_REASON_OK &&
1126 reason != EXT4_FC_REASON_ALREADY_COMMITTED) {
1127 sbi->s_fc_stats.fc_ineligible_commits++;
1128 } else {
1129 sbi->s_fc_stats.fc_num_commits++;
1130 sbi->s_fc_stats.fc_numblks += nblks;
1131 }
1132 spin_unlock(&sbi->s_fc_lock);
1133 nblks = (reason == EXT4_FC_REASON_OK) ? nblks : 0;
1134 trace_ext4_fc_commit_stop(sb, nblks, reason);
1135 commit_time = ktime_to_ns(ktime_sub(ktime_get(), start_time));
1136 /*
1137 * weight the commit time higher than the average time so we don't
1138 * react too strongly to vast changes in the commit time
1139 */
1140 if (likely(sbi->s_fc_avg_commit_time))
1141 sbi->s_fc_avg_commit_time = (commit_time +
1142 sbi->s_fc_avg_commit_time * 3) / 4;
1143 else
1144 sbi->s_fc_avg_commit_time = commit_time;
1145 jbd_debug(1,
1146 "Fast commit ended with blks = %d, reason = %d, subtid - %d",
1147 nblks, reason, subtid);
1148 if (reason == EXT4_FC_REASON_FC_FAILED)
1149 return jbd2_fc_stop_do_commit(journal, commit_tid);
1150 if (reason == EXT4_FC_REASON_FC_START_FAILED ||
1151 reason == EXT4_FC_REASON_INELIGIBLE)
1152 return jbd2_complete_transaction(journal, commit_tid);
1153 return 0;
1154 }
1155
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[riscv:fixes 2/4] calibrate.c:undefined reference to `clint_time_val'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git fixes
head: 46df6f5d84587acb945bc82314933290c68c1948
commit: 74fdd585bc81aa57f0cb1667abc4700e04b913f8 [2/4] RISC-V: Resurrect the MMIO timer implementation for M-mode systems
config: riscv-allnoconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.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
git checkout 74fdd585bc81aa57f0cb1667abc4700e04b913f8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
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 >>):
riscv64-linux-ld: init/calibrate.o: in function `.L8':
>> calibrate.c:(.text+0xc8): undefined reference to `clint_time_val'
riscv64-linux-ld: lib/random32.o: in function `.L0 ':
>> random32.c:(.init.text+0xc): undefined reference to `clint_time_val'
riscv64-linux-ld: drivers/char/random.o: in function `.L0 ':
>> random.c:(.text+0x408): undefined reference to `clint_time_val'
riscv64-linux-ld: drivers/char/random.o: in function `.L130':
random.c:(.text+0x8cc): undefined reference to `clint_time_val'
riscv64-linux-ld: drivers/char/random.o: in function `.L245':
random.c:(.text+0x10e0): undefined reference to `clint_time_val'
riscv64-linux-ld: drivers/char/random.o:random.c:(.text+0x121c): more undefined references to `clint_time_val' follow
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v3 13/30] kbuild: lto: postpone objtool
by kernel test robot
Hi Sami,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on arm64/for-next/core 92ab97adeefccf375de7ebaad9d5b75d4125fe8b v5.9-rc5]
[cannot apply to kbuild/for-next tip/x86/core next-20200918]
[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/Sami-Tolvanen/Add-support-for-Cl...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 10b82d5176488acee2820e5a2cf0f2ec5c3488b6
config: x86_64-randconfig-a016-20200917 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# 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 >>):
kernel/events/hw_breakpoint.o: warning: objtool: hw_breakpoint_add()+0x34: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: unregister_wide_hw_breakpoint()+0xc: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: register_wide_hw_breakpoint()+0x1d: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: hw_breakpoint_parse()+0x8: call without frame pointer save/setup
>> kernel/events/hw_breakpoint.o: warning: objtool: task_bp_pinned.isra.0.constprop.0()+0x62: BP used as a scratch register
kernel/events/hw_breakpoint.o: warning: objtool: toggle_bp_slot.constprop.0()+0x38: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: __reserve_bp_slot()+0x81: BP used as a scratch register
kernel/events/hw_breakpoint.o: warning: objtool: __release_bp_slot.isra.0()+0x4: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: reserve_bp_slot()+0xd: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: release_bp_slot()+0xb: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: dbg_reserve_bp_slot()+0xb: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: dbg_release_bp_slot()+0xb: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: register_perf_hw_breakpoint()+0x33: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: hw_breakpoint_event_init()+0x16: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: modify_user_hw_breakpoint_check()+0x48: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: modify_user_hw_breakpoint()+0x34: call without frame pointer save/setup
kernel/events/hw_breakpoint.o: warning: objtool: init_hw_breakpoint()+0x1b: call without frame pointer save/setup
--
>> kernel/events/uprobes.o: warning: objtool: copy_to_page()+0x42: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: get_utask()+0x35: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: filter_chain()+0x16: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: xol_free_insn_slot()+0x75: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: delayed_uprobe_remove.part.0()+0x47: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: put_uprobe()+0x1f: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: __update_ref_ctr()+0x110: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: update_ref_ctr()+0xae: call without frame pointer save/setup
>> kernel/events/uprobes.o: warning: objtool: __find_uprobe()+0x5a: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_write_opcode()+0x3b: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: install_breakpoint.isra.0()+0xb3: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: register_for_each_vma()+0x2d: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: __uprobe_unregister()+0x11: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_unregister()+0xe: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: __uprobe_register()+0x26f: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_apply()+0x13: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_mmap()+0x3a8: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_munmap()+0x56: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_clear_state()+0x14: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_start_dup_mmap()+0xe: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_end_dup_mmap()+0x30: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: __create_xol_area()+0x44: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: dup_xol_work()+0x1c: call without frame pointer save/setup
>> kernel/events/uprobes.o: warning: objtool: uprobe_free_utask()+0x6b: BP used as a scratch register
>> kernel/events/uprobes.o: warning: objtool: uprobe_copy_process()+0x154: BP used as a scratch register
>> kernel/events/uprobes.o: warning: objtool: uprobe_deny_signal()+0x1a: BP used as a scratch register
>> kernel/events/uprobes.o: warning: objtool: handle_swbp()+0x21: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobe_notify_resume()+0x90: call without frame pointer save/setup
kernel/events/uprobes.o: warning: objtool: uprobes_init()+0x1d: call without frame pointer save/setup
--
kernel/events/core.o: warning: objtool: __perf_event_stop()+0x6d: BP used as a scratch register
kernel/events/core.o: warning: objtool: __perf_event_output_stop()+0x7c: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: calc_timer_values()+0x14: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: task_clock_event_read()+0x6: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: cpu_clock_event_read()+0x6: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: event_function()+0x5d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_for_each_child()+0x27: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_poll()+0x86: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: free_ctx()+0x24: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_stop()+0x58: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: task_function_call()+0x55: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: event_function_call()+0xf2: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: _perf_event_period()+0x73: BP used as a scratch register
kernel/events/core.o: warning: objtool: __perf_event__output_id_sample()+0x3d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_pid_type()+0x1e: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_mux_hrtimer_restart()+0x5d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_groups_delete()+0x20: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: list_add_event()+0x9f: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: free_event_rcu()+0x19: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_sysfs_show()+0x16: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_tp_event_init()+0x16: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: free_filters_list()+0x66: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_addr_filters_splice()+0xdd: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_output_sample_regs()+0x2d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: nr_addr_filters_show()+0x19: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_mux_interval_ms_show()+0x19: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: type_show()+0x19: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_mux_interval_ms_store()+0x2b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_unregister()+0xb: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_fasync()+0x26: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_mmap_fault()+0x46: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: remote_function()+0x2a: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_update_sibling_time.part.0()+0x10: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_read()+0xce: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_read()+0x122: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_read_value()+0x2b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_set_state.part.0()+0x6: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_group_attach()+0x62: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_install_in_context()+0x2f: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_get_aux_event()+0xa0: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_event_addr_filters_sync()+0x36: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_adjust_period()+0x17e: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_event_addr_filters_apply()+0x172: BP used as a scratch register
kernel/events/core.o: warning: objtool: __perf_addr_filters_adjust()+0xa1: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_duration_warn()+0xe: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_header__init_id.isra.0()+0xa4: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: cpu_clock_event_start()+0x6: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: list_del_event()+0x79: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_fill_ns_link_info.isra.0()+0x25: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_tp_event_match.isra.0()+0x44: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_swevent_init_hrtimer()+0x20: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: task_clock_event_init()+0x1c: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: cpu_clock_event_init()+0x1c: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: cpu_clock_event_stop()+0x39: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_sched_task()+0xc6: BP used as a scratch register
kernel/events/core.o: warning: objtool: __perf_event_period()+0xa9: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: event_sched_out.isra.0()+0x132: BP used as a scratch register
kernel/events/core.o: warning: objtool: group_sched_out.part.0()+0x46: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_disable()+0x90: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: ctx_sched_out()+0x196: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_commit_txn()+0x15: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_account_interrupt()+0x83: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_overflow()+0xe0: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_swevent_overflow()+0x6e: BP used as a scratch register
>> kernel/events/core.o: warning: objtool: event_sched_in.isra.0()+0x151: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_trace_run_bpf_submit()+0x55: BP used as a scratch register
kernel/events/core.o: warning: objtool: event_function_local.constprop.0()+0x53: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_swevent_init()+0x3e: BP used as a scratch register
>> kernel/events/core.o: warning: objtool: perf_lock_task_context()+0xce: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_pin_task_context()+0x17: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: sw_perf_event_destroy()+0xc2: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_sched_delayed()+0x7: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: task_clock_event_stop()+0x40: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_iterate_ctx()+0x64: BP used as a scratch register
>> kernel/events/core.o: warning: objtool: perf_iterate_sb()+0x3f: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_event_task()+0x7b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_namespaces.part.0()+0x5f: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_pmu_output_stop()+0x4c: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: merge_sched_in()+0x3b: BP used as a scratch register
kernel/events/core.o: warning: objtool: visit_groups_merge.constprop.0()+0x182: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: ctx_sched_in.isra.0()+0xe8: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_sched_in.isra.0()+0x11: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: ctx_resched()+0x9a: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_install_in_context()+0xdc: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_enable()+0x77: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: perf_mux_hrtimer_handler()+0xe8: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_uprobe_event_init()+0x17: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: pmu_dev_alloc()+0x17: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_register()+0x15: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: put_ctx()+0x88: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_ctx_lock_nested.isra.0()+0x6e: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_read_value()+0x10: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_disable()+0x6: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_pause()+0xc: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_enable()+0x6: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_refresh()+0xb: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_period()+0xb: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_try_init_event()+0x48: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_copy_attr()+0x2f: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_output_read()+0x2bb: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: alloc_perf_context()+0x1b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_alloc()+0x48: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: find_get_context.isra.0()+0x1e1: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_read()+0x32: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_proc_update_handler()+0x1f: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_cpu_time_max_percent_handler()+0x3: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_sample_event_took()+0x93: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_resched()+0x3a: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_task_sched_in()+0x9d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_task_tick()+0x20f: BP used as a scratch register
>> kernel/events/core.o: warning: objtool: perf_event_read_local()+0x8d: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_event_task_enable()+0x1b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_task_disable()+0x1b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_update_userpage()+0x120: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_event_task_sched_out()+0x16c: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: _perf_event_reset()+0x6: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: task_clock_event_add()+0x35: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: cpu_clock_event_add()+0x1a: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_swevent_add()+0xad: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: ring_buffer_get()+0x35: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: ring_buffer_attach()+0x130: BP used as a scratch register
kernel/events/core.o: warning: objtool: _free_event()+0xc: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: free_event()+0x2b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_create_kernel_counter()+0xf2: BP used as a scratch register
kernel/events/core.o: warning: objtool: inherit_event.isra.0()+0x40: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: inherit_task_group.isra.0.part.0()+0xc1: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_group_detach()+0x83: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_remove_from_context()+0x12: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_migrate_context()+0x42: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_remove_from_context()+0xa2: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_release_kernel()+0x3a2: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_release()+0x7: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: perf_mmap()+0x125: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_event_set_output()+0x114: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: __do_sys_perf_event_open()+0xc93: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: _perf_ioctl()+0x3cb: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_ioctl()+0x17: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_mmap_close()+0x32: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: perf_event_wakeup()+0x94: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_pending_event()+0x8d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_pmu_snapshot_aux()+0x29: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_output_sample()+0x33: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_callchain()+0x6c: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_prepare_sample()+0x4e: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_output_forward()+0x2d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_output_backward()+0x2d: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_output()+0x2f: call without frame pointer save/setup
>> kernel/events/core.o: warning: objtool: perf_event_exec()+0x1ae: BP used as a scratch register
kernel/events/core.o: warning: objtool: perf_event_fork()+0xb: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_comm()+0x109: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_mmap()+0x2dd: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_ksymbol()+0x155: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_bpf_event()+0x131: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_text_poke()+0x92: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: __perf_sw_event()+0x42: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_exit_task()+0x1b: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_free_task()+0x8a: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_get()+0x0: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_init_task()+0x50: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_init_cpu()+0xd: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_sysfs_init()+0xa: call without frame pointer save/setup
kernel/events/core.o: warning: objtool: perf_event_init()+0x40: call without frame pointer save/setup
--
init/main.o: warning: objtool: trace_initcall_finish_cb()+0xd: call without frame pointer save/setup
init/main.o: warning: objtool: trace_event_raw_event_initcall_level()+0xb3: call without frame pointer save/setup
init/main.o: warning: objtool: trace_raw_output_initcall_level()+0x10: call without frame pointer save/setup
init/main.o: warning: objtool: trace_raw_output_initcall_start()+0x10: call without frame pointer save/setup
init/main.o: warning: objtool: trace_raw_output_initcall_finish()+0x10: call without frame pointer save/setup
init/main.o: warning: objtool: initcall_blacklisted()+0x98: call without frame pointer save/setup
init/main.o: warning: objtool: trace_event_raw_event_initcall_start()+0x4b: call without frame pointer save/setup
init/main.o: warning: objtool: trace_event_raw_event_initcall_finish()+0x46: call without frame pointer save/setup
init/main.o: warning: objtool: do_one_initcall()+0x29: call without frame pointer save/setup
init/main.o: warning: objtool: do_early_param()+0x81: BP used as a scratch register
init/main.o: warning: objtool: warn_bootconfig()+0x7: call without frame pointer save/setup
init/main.o: warning: objtool: set_init_arg()+0xe: call without frame pointer save/setup
init/main.o: warning: objtool: unknown_bootoption()+0x2c: call without frame pointer save/setup
init/main.o: warning: objtool: loglevel()+0x20: call without frame pointer save/setup
init/main.o: warning: objtool: initcall_blacklist()+0x15: call without frame pointer save/setup
init/main.o: warning: objtool: parse_early_options()+0x1b: call without frame pointer save/setup
init/main.o: warning: objtool: parse_early_param()+0x1c: call without frame pointer save/setup
init/main.o: warning: objtool: start_kernel()+0x20: call without frame pointer save/setup
init/main.o: warning: objtool: do_basic_setup()+0x6: call without frame pointer save/setup
init/main.o: warning: objtool: console_on_rootfs()+0xf: call without frame pointer save/setup
init/main.o: warning: objtool: kernel_init_freeable()+0x8: call without frame pointer save/setup
init/main.o: warning: objtool: trace_initcall_start_cb()+0x19: call without frame pointer save/setup
init/main.o: warning: objtool: run_init_process()+0x1d: call without frame pointer save/setup
init/main.o: warning: objtool: try_to_run_init_process()+0x6: call without frame pointer save/setup
>> init/main.o: warning: objtool: trace_initcall_level.part.0()+0x38: BP used as a scratch register
init/main.o: warning: objtool: rest_init()+0x0: call without frame pointer save/setup
init/main.o: warning: objtool: kernel_init()+0x0: call without frame pointer save/setup
--
arch/x86/events/core.o: warning: objtool: x86_pmu_dead_cpu()+0xc: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_starting_cpu()+0xc: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_dying_cpu()+0xc: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: native_read_msr()+0x23: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_add()+0x36: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_start_txn()+0x16: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_online_cpu()+0x7: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: get_attr_rdpmc()+0x15: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: max_precise_show()+0x22: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: perf_assign_events()+0x2dd: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: events_sysfs_show()+0x4d: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: is_visible()+0x22: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_check_period()+0x42: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_commit_txn.part.0()+0xa2: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: perf_event_nmi_handler()+0x44: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: allocate_fake_cpuc()+0x1a: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: set_attr_rdpmc()+0x20: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_perf_event_update()+0x84: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_stop()+0x69: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_del()+0x31: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_reserve_hardware()+0x3a: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_pmu_event_init()+0x16b: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_release_hardware()+0x10: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: hw_perf_event_destroy()+0x0: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: hw_perf_lbr_event_destroy()+0x0: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_add_exclusive()+0x45: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_setup_perfctr()+0x117: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_hw_config()+0x125: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_disable_all()+0x136: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_enable_all()+0x10b: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_schedule_events()+0x210: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_perf_event_set_period()+0x169: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_start()+0x6d: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: x86_pmu_enable()+0x1b7: call without frame pointer save/setup
>> arch/x86/events/core.o: warning: objtool: x86_pmu_enable_event()+0xae: BP used as a scratch register
>> arch/x86/events/core.o: warning: objtool: perf_event_print_debug.cold()+0x12: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: events_ht_sysfs_show()+0xe: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: x86_event_sysfs_show()+0x54: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: arch_perf_update_userpage()+0x4c: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: perf_callchain_user()+0x155: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: perf_instruction_pointer()+0x13: call without frame pointer save/setup
arch/x86/events/core.o: warning: objtool: perf_misc_flags()+0x13: call without frame pointer save/setup
>> arch/x86/events/core.o: warning: objtool: native_read_msr_safe()+0x3a: BP used as a scratch register
arch/x86/events/core.o: warning: objtool: init_hw_perf_events()+0x25: call without frame pointer save/setup
--
arch/x86/kernel/tsc.o: warning: objtool: recalibrate_cpu_khz()+0x19: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_read_refs()+0x82: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: pit_hpet_ptimer_calibrate_cpu()+0x2f: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: native_calibrate_cpu_early()+0x38: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: native_calibrate_cpu()+0x0: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_refine_calibration_work()+0x177: call without frame pointer save/setup
>> arch/x86/kernel/tsc.o: warning: objtool: mark_tsc_unstable.cold()+0xa: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_cs_mark_unstable()+0x26: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: sched_clock()+0x0: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_save_sched_clock_state()+0x0: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_restore_sched_clock_state()+0x2: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: init_tsc_clocksource()+0x92: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: determine_cpu_tsc_frequencies()+0x4a: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: notsc_setup()+0x7: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_setup()+0xb: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_enable_sched_clock()+0x5: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_early_init()+0x10: call without frame pointer save/setup
arch/x86/kernel/tsc.o: warning: objtool: tsc_init()+0x1be: call without frame pointer save/setup
..
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[mlankhorst:locking-rework 12/36] drivers/gpu/drm/i915/gem/i915_gem_userptr.c:746:6: error: unused variable 'handle'
by kernel test robot
tree: git://people.freedesktop.org/~mlankhorst/linux locking-rework
head: c19d2554f1d542e2aac63116de7321ef2bb09672
commit: 97ef20a5c69f47783e9b5a015348e0bfdc5863bf [12/36] drm/i915: Reject UNSYNCHRONIZED for userptr
config: i386-randconfig-a012-20200918 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
git checkout 97ef20a5c69f47783e9b5a015348e0bfdc5863bf
# 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 errors (new ones prefixed by >>):
drivers/gpu/drm/i915/gem/i915_gem_userptr.c: In function 'i915_gem_userptr_ioctl':
>> drivers/gpu/drm/i915/gem/i915_gem_userptr.c:746:6: error: unused variable 'handle' [-Werror=unused-variable]
746 | u32 handle;
| ^~~~~~
>> drivers/gpu/drm/i915/gem/i915_gem_userptr.c:745:6: error: unused variable 'ret' [-Werror=unused-variable]
745 | int ret;
| ^~~
>> drivers/gpu/drm/i915/gem/i915_gem_userptr.c:741:31: error: unused variable 'lock_class' [-Werror=unused-variable]
741 | static struct lock_class_key lock_class;
| ^~~~~~~~~~
At top level:
>> drivers/gpu/drm/i915/gem/i915_gem_userptr.c:741:31: error: 'lock_class' defined but not used [-Werror=unused-variable]
cc1: all warnings being treated as errors
git remote add mlankhorst git://people.freedesktop.org/~mlankhorst/linux
git fetch --no-tags mlankhorst locking-rework
git checkout 97ef20a5c69f47783e9b5a015348e0bfdc5863bf
vim +/handle +746 drivers/gpu/drm/i915/gem/i915_gem_userptr.c
97ef20a5c69f47 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Maarten Lankhorst 2020-09-11 700
a5a5ae2abe3ba7 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-02-08 701 /*
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 702 * Creates a new mm object that wraps some normal memory from the process
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 703 * context - user memory.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 704 *
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 705 * We impose several restrictions upon the memory being mapped
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 706 * into the GPU.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 707 * 1. It must be page aligned (both start/end addresses, i.e ptr and size).
ec8b0dd51c50e3 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-07-21 708 * 2. It must be normal system memory, not a pointer into another map of IO
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 709 * space (e.g. it must not be a GTT mmapping of another object).
ec8b0dd51c50e3 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-07-21 710 * 3. We only allow a bo as large as we could in theory map into the GTT,
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 711 * that is we limit the size to the total size of the GTT.
ec8b0dd51c50e3 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-07-21 712 * 4. The bo is marked as being snoopable. The backing pages are left
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 713 * accessible directly by the CPU, but reads and writes by the GPU may
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 714 * incur the cost of a snoop (unless you have an LLC architecture).
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 715 *
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 716 * Synchronisation between multiple users and the GPU is left to userspace
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 717 * through the normal set-domain-ioctl. The kernel will enforce that the
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 718 * GPU relinquishes the VMA before it is returned back to the system
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 719 * i.e. upon free(), munmap() or process termination. However, the userspace
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 720 * malloc() library may not immediately relinquish the VMA after free() and
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 721 * instead reuse it whilst the GPU is still reading and writing to the VMA.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 722 * Caveat emptor.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 723 *
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 724 * Also note, that the object created here is not currently a "first class"
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 725 * object, in that several ioctls are banned. These are the CPU access
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 726 * ioctls: mmap(), pwrite and pread. In practice, you are expected to use
cc917ab43541db drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2015-10-13 727 * direct access via your pointer rather than use those ioctls. Another
cc917ab43541db drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2015-10-13 728 * restriction is that we do not allow userptr surfaces to be pinned to the
cc917ab43541db drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2015-10-13 729 * hardware and so we reject any attempt to create a framebuffer out of a
cc917ab43541db drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2015-10-13 730 * userptr.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 731 *
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 732 * If you think this is a good interface to use to pass GPU memory between
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 733 * drivers, please use dma-buf instead. In fact, wherever possible use
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 734 * dma-buf instead.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 735 */
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 736 int
a5a5ae2abe3ba7 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-02-08 737 i915_gem_userptr_ioctl(struct drm_device *dev,
a5a5ae2abe3ba7 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-02-08 738 void *data,
a5a5ae2abe3ba7 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-02-08 739 struct drm_file *file)
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 740 {
7867d709959927 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Chris Wilson 2019-10-22 @741 static struct lock_class_key lock_class;
0031fb96859caa drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-11-04 742 struct drm_i915_private *dev_priv = to_i915(dev);
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 743 struct drm_i915_gem_userptr *args = data;
97ef20a5c69f47 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Maarten Lankhorst 2020-09-11 744 struct drm_i915_gem_object __maybe_unused *obj;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 @745 int ret;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 @746 u32 handle;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 747
0031fb96859caa drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-11-04 748 if (!HAS_LLC(dev_priv) && !HAS_SNOOP(dev_priv)) {
ca377809d657ea drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-03-02 749 /* We cannot support coherent userptr objects on hw without
ca377809d657ea drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-03-02 750 * LLC and broken snooping.
ca377809d657ea drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-03-02 751 */
ca377809d657ea drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-03-02 752 return -ENODEV;
ca377809d657ea drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-03-02 753 }
ca377809d657ea drivers/gpu/drm/i915/i915_gem_userptr.c Tvrtko Ursulin 2016-03-02 754
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 755 if (args->flags & ~(I915_USERPTR_READ_ONLY |
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 756 I915_USERPTR_UNSYNCHRONIZED))
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 757 return -EINVAL;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 758
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 759 /*
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 760 * XXX: There is a prevalence of the assumption that we fit the
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 761 * object's page count inside a 32bit _signed_ variable. Let's document
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 762 * this and catch if we ever need to fix it. In the meantime, if you do
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 763 * spot such a local variable, please consider fixing!
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 764 *
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 765 * Aside from our own locals (for which we have no excuse!):
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 766 * - sg_table embeds unsigned int for num_pages
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 767 * - get_user_pages*() mixed ints with longs
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 768 */
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 769
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 770 if (args->user_size >> PAGE_SHIFT > INT_MAX)
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 771 return -E2BIG;
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 772
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 773 if (overflows_type(args->user_size, obj->base.size))
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 774 return -E2BIG;
24860ad748688b drivers/gpu/drm/i915/gem/i915_gem_userptr.c Matthew Auld 2020-01-17 775
c11c7bfd213495 drivers/gpu/drm/i915/i915_gem_userptr.c Matthew Auld 2018-05-02 776 if (!args->user_size)
c11c7bfd213495 drivers/gpu/drm/i915/i915_gem_userptr.c Matthew Auld 2018-05-02 777 return -EINVAL;
c11c7bfd213495 drivers/gpu/drm/i915/i915_gem_userptr.c Matthew Auld 2018-05-02 778
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 779 if (offset_in_page(args->user_ptr | args->user_size))
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 780 return -EINVAL;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 781
96d4f267e40f95 drivers/gpu/drm/i915/i915_gem_userptr.c Linus Torvalds 2019-01-03 782 if (!access_ok((char __user *)(unsigned long)args->user_ptr, args->user_size))
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 783 return -EFAULT;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 784
97ef20a5c69f47 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Maarten Lankhorst 2020-09-11 785 if (args->flags & I915_USERPTR_UNSYNCHRONIZED)
97ef20a5c69f47 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Maarten Lankhorst 2020-09-11 786 return -ENODEV;
97ef20a5c69f47 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Maarten Lankhorst 2020-09-11 787
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 788 if (args->flags & I915_USERPTR_READ_ONLY) {
0b100760e3e8cb drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-07-12 789 /*
0b100760e3e8cb drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-07-12 790 * On almost all of the older hw, we cannot tell the GPU that
0b100760e3e8cb drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2018-07-12 791 * a page is readonly.
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 792 */
e6ba76480299a0 drivers/gpu/drm/i915/gem/i915_gem_userptr.c Chris Wilson 2019-12-21 793 if (!dev_priv->gt.vm->has_read_only)
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 794 return -ENODEV;
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 795 }
5cc9ed4b9a7ac5 drivers/gpu/drm/i915/i915_gem_userptr.c Chris Wilson 2014-05-16 796
:::::: The code at line 746 was first introduced by commit
:::::: 5cc9ed4b9a7ac579362ccebac67f7a4cdb36de06 drm/i915: Introduce mapping of user pages into video memory (userptr) ioctl
:::::: TO: Chris Wilson <chris(a)chris-wilson.co.uk>
:::::: CC: Daniel Vetter <daniel.vetter(a)ffwll.ch>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years