[peterz-queue:sched/cleanup 4/4] kernel/rcu/tree.c:1329:5: error: implicit declaration of function 'irq_work_queue_remote'; did you mean
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/cleanup
head: 20a7eb4c65bd40764e33be28e45a0c2e2fb4b699
commit: 20a7eb4c65bd40764e33be28e45a0c2e2fb4b699 [4/4] rcu/tree: Use irq_work_queue_remote()
config: nds32-defconfig (attached as .config)
compiler: nds32le-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
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue sched/cleanup
git checkout 20a7eb4c65bd40764e33be28e45a0c2e2fb4b699
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=nds32
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 >>):
kernel/rcu/tree.c: In function 'rcu_implicit_dynticks_qs':
>> kernel/rcu/tree.c:1329:5: error: implicit declaration of function 'irq_work_queue_remote'; did you mean 'irq_work_queue_on'? [-Werror=implicit-function-declaration]
1329 | irq_work_queue_remote(rdp->cpu, &rdp->rcu_iw);
| ^~~~~~~~~~~~~~~~~~~~~
| irq_work_queue_on
cc1: some warnings being treated as errors
vim +1329 kernel/rcu/tree.c
1204
1205 /*
1206 * Return true if the specified CPU has passed through a quiescent
1207 * state by virtue of being in or having passed through an dynticks
1208 * idle state since the last call to dyntick_save_progress_counter()
1209 * for this same CPU, or by virtue of having been offline.
1210 */
1211 static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
1212 {
1213 unsigned long jtsq;
1214 bool *rnhqp;
1215 bool *ruqp;
1216 struct rcu_node *rnp = rdp->mynode;
1217
1218 raw_lockdep_assert_held_rcu_node(rnp);
1219
1220 /*
1221 * If the CPU passed through or entered a dynticks idle phase with
1222 * no active irq/NMI handlers, then we can safely pretend that the CPU
1223 * already acknowledged the request to pass through a quiescent
1224 * state. Either way, that CPU cannot possibly be in an RCU
1225 * read-side critical section that started before the beginning
1226 * of the current RCU grace period.
1227 */
1228 if (rcu_dynticks_in_eqs_since(rdp, rdp->dynticks_snap)) {
1229 trace_rcu_fqs(rcu_state.name, rdp->gp_seq, rdp->cpu, TPS("dti"));
1230 rcu_gpnum_ovf(rnp, rdp);
1231 return 1;
1232 }
1233
1234 /*
1235 * Complain if a CPU that is considered to be offline from RCU's
1236 * perspective has not yet reported a quiescent state. After all,
1237 * the offline CPU should have reported a quiescent state during
1238 * the CPU-offline process, or, failing that, by rcu_gp_init()
1239 * if it ran concurrently with either the CPU going offline or the
1240 * last task on a leaf rcu_node structure exiting its RCU read-side
1241 * critical section while all CPUs corresponding to that structure
1242 * are offline. This added warning detects bugs in any of these
1243 * code paths.
1244 *
1245 * The rcu_node structure's ->lock is held here, which excludes
1246 * the relevant portions the CPU-hotplug code, the grace-period
1247 * initialization code, and the rcu_read_unlock() code paths.
1248 *
1249 * For more detail, please refer to the "Hotplug CPU" section
1250 * of RCU's Requirements documentation.
1251 */
1252 if (WARN_ON_ONCE(!(rdp->grpmask & rcu_rnp_online_cpus(rnp)))) {
1253 bool onl;
1254 struct rcu_node *rnp1;
1255
1256 pr_info("%s: grp: %d-%d level: %d ->gp_seq %ld ->completedqs %ld\n",
1257 __func__, rnp->grplo, rnp->grphi, rnp->level,
1258 (long)rnp->gp_seq, (long)rnp->completedqs);
1259 for (rnp1 = rnp; rnp1; rnp1 = rnp1->parent)
1260 pr_info("%s: %d:%d ->qsmask %#lx ->qsmaskinit %#lx ->qsmaskinitnext %#lx ->rcu_gp_init_mask %#lx\n",
1261 __func__, rnp1->grplo, rnp1->grphi, rnp1->qsmask, rnp1->qsmaskinit, rnp1->qsmaskinitnext, rnp1->rcu_gp_init_mask);
1262 onl = !!(rdp->grpmask & rcu_rnp_online_cpus(rnp));
1263 pr_info("%s %d: %c online: %ld(%d) offline: %ld(%d)\n",
1264 __func__, rdp->cpu, ".o"[onl],
1265 (long)rdp->rcu_onl_gp_seq, rdp->rcu_onl_gp_flags,
1266 (long)rdp->rcu_ofl_gp_seq, rdp->rcu_ofl_gp_flags);
1267 return 1; /* Break things loose after complaining. */
1268 }
1269
1270 /*
1271 * A CPU running for an extended time within the kernel can
1272 * delay RCU grace periods: (1) At age jiffies_to_sched_qs,
1273 * set .rcu_urgent_qs, (2) At age 2*jiffies_to_sched_qs, set
1274 * both .rcu_need_heavy_qs and .rcu_urgent_qs. Note that the
1275 * unsynchronized assignments to the per-CPU rcu_need_heavy_qs
1276 * variable are safe because the assignments are repeated if this
1277 * CPU failed to pass through a quiescent state. This code
1278 * also checks .jiffies_resched in case jiffies_to_sched_qs
1279 * is set way high.
1280 */
1281 jtsq = READ_ONCE(jiffies_to_sched_qs);
1282 ruqp = per_cpu_ptr(&rcu_data.rcu_urgent_qs, rdp->cpu);
1283 rnhqp = &per_cpu(rcu_data.rcu_need_heavy_qs, rdp->cpu);
1284 if (!READ_ONCE(*rnhqp) &&
1285 (time_after(jiffies, rcu_state.gp_start + jtsq * 2) ||
1286 time_after(jiffies, rcu_state.jiffies_resched) ||
1287 rcu_state.cbovld)) {
1288 WRITE_ONCE(*rnhqp, true);
1289 /* Store rcu_need_heavy_qs before rcu_urgent_qs. */
1290 smp_store_release(ruqp, true);
1291 } else if (time_after(jiffies, rcu_state.gp_start + jtsq)) {
1292 WRITE_ONCE(*ruqp, true);
1293 }
1294
1295 /*
1296 * NO_HZ_FULL CPUs can run in-kernel without rcu_sched_clock_irq!
1297 * The above code handles this, but only for straight cond_resched().
1298 * And some in-kernel loops check need_resched() before calling
1299 * cond_resched(), which defeats the above code for CPUs that are
1300 * running in-kernel with scheduling-clock interrupts disabled.
1301 * So hit them over the head with the resched_cpu() hammer!
1302 */
1303 if (tick_nohz_full_cpu(rdp->cpu) &&
1304 (time_after(jiffies, READ_ONCE(rdp->last_fqs_resched) + jtsq * 3) ||
1305 rcu_state.cbovld)) {
1306 WRITE_ONCE(*ruqp, true);
1307 resched_cpu(rdp->cpu);
1308 WRITE_ONCE(rdp->last_fqs_resched, jiffies);
1309 }
1310
1311 /*
1312 * If more than halfway to RCU CPU stall-warning time, invoke
1313 * resched_cpu() more frequently to try to loosen things up a bit.
1314 * Also check to see if the CPU is getting hammered with interrupts,
1315 * but only once per grace period, just to keep the IPIs down to
1316 * a dull roar.
1317 */
1318 if (time_after(jiffies, rcu_state.jiffies_resched)) {
1319 if (time_after(jiffies,
1320 READ_ONCE(rdp->last_fqs_resched) + jtsq)) {
1321 resched_cpu(rdp->cpu);
1322 WRITE_ONCE(rdp->last_fqs_resched, jiffies);
1323 }
1324 if (!rdp->rcu_iw_pending && rdp->rcu_iw_gp_seq != rnp->gp_seq &&
1325 (rnp->ffmask & rdp->grpmask)) {
1326 rdp->rcu_iw_gp_seq = rnp->gp_seq;
1327 if (likely(rdp->cpu != smp_processor_id())) {
1328 rdp->rcu_iw_pending = true;
> 1329 irq_work_queue_remote(rdp->cpu, &rdp->rcu_iw);
1330 }
1331 }
1332 }
1333
1334 return 0;
1335 }
1336
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH 3/3] net:ethernet:rmnet: Add support for Mapv5 Uplink packet
by kernel test robot
Hi Sharath,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on ipvs/master]
[also build test WARNING on linus/master sparc-next/master v5.11-rc7 next-20210211]
[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/Sharath-Chandra-Vurukala/docs-ne...
base: https://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs.git master
config: x86_64-randconfig-a012-20210209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project c9439ca36342fb6013187d0a69aef92736951476)
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
# https://github.com/0day-ci/linux/commit/7f0a1e35c1d1c17de5873aded88d5dadf...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Sharath-Chandra-Vurukala/docs-networking-Add-documentation-for-MAP-v5/20210212-063547
git checkout 7f0a1e35c1d1c17de5873aded88d5dadfedce2fb
# 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 >>):
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:266:6: warning: no previous prototype for function 'rmnet_map_v5_checksum_uplink_packet' [-Wmissing-prototypes]
void rmnet_map_v5_checksum_uplink_packet(struct sk_buff *skb,
^
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:266:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void rmnet_map_v5_checksum_uplink_packet(struct sk_buff *skb,
^
static
>> drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:459:6: warning: no previous prototype for function 'rmnet_map_v4_checksum_uplink_packet' [-Wmissing-prototypes]
void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb,
^
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c:459:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb,
^
static
2 warnings generated.
vim +/rmnet_map_v5_checksum_uplink_packet +266 drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c
265
> 266 void rmnet_map_v5_checksum_uplink_packet(struct sk_buff *skb,
267 struct rmnet_port *port,
268 struct net_device *orig_dev)
269 {
270 struct rmnet_priv *priv = netdev_priv(orig_dev);
271 struct rmnet_map_v5_csum_header *ul_header;
272
273 if (!(port->data_format & RMNET_FLAGS_EGRESS_MAP_CKSUMV5))
274 return;
275
276 ul_header = (struct rmnet_map_v5_csum_header *)
277 skb_push(skb, sizeof(*ul_header));
278 memset(ul_header, 0, sizeof(*ul_header));
279 ul_header->header_type = RMNET_MAP_HEADER_TYPE_CSUM_OFFLOAD;
280
281 if (skb->ip_summed == CHECKSUM_PARTIAL) {
282 void *iph = (char *)ul_header + sizeof(*ul_header);
283 __sum16 *check;
284 void *trans;
285 u8 proto;
286
287 if (skb->protocol == htons(ETH_P_IP)) {
288 u16 ip_len = ((struct iphdr *)iph)->ihl * 4;
289
290 proto = ((struct iphdr *)iph)->protocol;
291 trans = iph + ip_len;
292 }
293 #if IS_ENABLED(CONFIG_IPV6)
294 else if (skb->protocol == htons(ETH_P_IPV6)) {
295 u16 ip_len = sizeof(struct ipv6hdr);
296
297 proto = ((struct ipv6hdr *)iph)->nexthdr;
298 trans = iph + ip_len;
299 }
300 #endif /* CONFIG_IPV6 */
301 else {
302 priv->stats.csum_err_invalid_ip_version++;
303 goto sw_csum;
304 }
305
306 check = rmnet_map_get_csum_field(proto, trans);
307 if (check) {
308 skb->ip_summed = CHECKSUM_NONE;
309 /* Ask for checksum offloading */
310 ul_header->csum_valid_required = 1;
311 priv->stats.csum_hw++;
312 return;
313 }
314 }
315
316 sw_csum:
317 priv->stats.csum_sw++;
318 }
319
320 /* Adds MAP header to front of skb->data
321 * Padding is calculated and set appropriately in MAP header. Mux ID is
322 * initialized to 0.
323 */
324 struct rmnet_map_header *rmnet_map_add_map_header(struct sk_buff *skb,
325 int hdrlen,
326 struct rmnet_port *port,
327 int pad)
328 {
329 struct rmnet_map_header *map_header;
330 u32 padding, map_datalen;
331 u8 *padbytes;
332
333 map_datalen = skb->len - hdrlen;
334 map_header = (struct rmnet_map_header *)
335 skb_push(skb, sizeof(struct rmnet_map_header));
336 memset(map_header, 0, sizeof(struct rmnet_map_header));
337
338 /* Set next_hdr bit for csum offload packets */
339 if (port->data_format & RMNET_FLAGS_EGRESS_MAP_CKSUMV5) {
340 map_header->next_hdr = 1;
341 }
342
343 if (pad == RMNET_MAP_NO_PAD_BYTES) {
344 map_header->pkt_len = htons(map_datalen);
345 return map_header;
346 }
347
348 padding = ALIGN(map_datalen, 4) - map_datalen;
349
350 if (padding == 0)
351 goto done;
352
353 if (skb_tailroom(skb) < padding)
354 return NULL;
355
356 padbytes = (u8 *)skb_put(skb, padding);
357 memset(padbytes, 0, padding);
358
359 done:
360 map_header->pkt_len = htons(map_datalen + padding);
361 map_header->pad_len = padding & 0x3F;
362
363 return map_header;
364 }
365
366 /* Deaggregates a single packet
367 * A whole new buffer is allocated for each portion of an aggregated frame.
368 * Caller should keep calling deaggregate() on the source skb until 0 is
369 * returned, indicating that there are no more packets to deaggregate. Caller
370 * is responsible for freeing the original skb.
371 */
372 struct sk_buff *rmnet_map_deaggregate(struct sk_buff *skb,
373 struct rmnet_port *port)
374 {
375 unsigned char *data = skb->data, *next_hdr = NULL;
376 struct rmnet_map_header *maph;
377 struct sk_buff *skbn;
378 u32 packet_len;
379
380 if (skb->len == 0)
381 return NULL;
382
383 maph = (struct rmnet_map_header *)skb->data;
384 packet_len = ntohs(maph->pkt_len) + sizeof(struct rmnet_map_header);
385
386 if (port->data_format & RMNET_FLAGS_INGRESS_MAP_CKSUMV4)
387 packet_len += sizeof(struct rmnet_map_dl_csum_trailer);
388 else if (port->data_format & RMNET_FLAGS_INGRESS_MAP_CKSUMV5) {
389 if (!maph->cd_bit) {
390 packet_len += sizeof(struct rmnet_map_v5_csum_header);
391 next_hdr = data + sizeof(*maph);
392 }
393 }
394
395 if (((int)skb->len - (int)packet_len) < 0)
396 return NULL;
397
398 /* Some hardware can send us empty frames. Catch them */
399 if (ntohs(maph->pkt_len) == 0)
400 return NULL;
401
402 if (next_hdr &&
403 ((struct rmnet_map_v5_csum_header *)next_hdr)->header_type !=
404 RMNET_MAP_HEADER_TYPE_CSUM_OFFLOAD)
405 return NULL;
406
407 skbn = alloc_skb(packet_len + RMNET_MAP_DEAGGR_SPACING, GFP_ATOMIC);
408 if (!skbn)
409 return NULL;
410
411 skb_reserve(skbn, RMNET_MAP_DEAGGR_HEADROOM);
412 skb_put(skbn, packet_len);
413 memcpy(skbn->data, skb->data, packet_len);
414 skb_pull(skb, packet_len);
415
416 return skbn;
417 }
418
419 /* Validates packet checksums. Function takes a pointer to
420 * the beginning of a buffer which contains the IP payload +
421 * padding + checksum trailer.
422 * Only IPv4 and IPv6 are supported along with TCP & UDP.
423 * Fragmented or tunneled packets are not supported.
424 */
425 int rmnet_map_checksum_downlink_packet(struct sk_buff *skb, u16 len)
426 {
427 struct rmnet_priv *priv = netdev_priv(skb->dev);
428 struct rmnet_map_dl_csum_trailer *csum_trailer;
429
430 if (unlikely(!(skb->dev->features & NETIF_F_RXCSUM))) {
431 priv->stats.csum_sw++;
432 return -EOPNOTSUPP;
433 }
434
435 csum_trailer = (struct rmnet_map_dl_csum_trailer *)(skb->data + len);
436
437 if (!csum_trailer->valid) {
438 priv->stats.csum_valid_unset++;
439 return -EINVAL;
440 }
441
442 if (skb->protocol == htons(ETH_P_IP)) {
443 return rmnet_map_ipv4_dl_csum_trailer(skb, csum_trailer, priv);
444 } else if (skb->protocol == htons(ETH_P_IPV6)) {
445 #if IS_ENABLED(CONFIG_IPV6)
446 return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv);
447 #else
448 priv->stats.csum_err_invalid_ip_version++;
449 return -EPROTONOSUPPORT;
450 #endif
451 } else {
452 priv->stats.csum_err_invalid_ip_version++;
453 return -EPROTONOSUPPORT;
454 }
455
456 return 0;
457 }
458
> 459 void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb,
460 struct net_device *orig_dev)
461 {
462 struct rmnet_priv *priv = netdev_priv(orig_dev);
463 struct rmnet_map_ul_csum_header *ul_header;
464 void *iphdr;
465
466 ul_header = (struct rmnet_map_ul_csum_header *)
467 skb_push(skb, sizeof(struct rmnet_map_ul_csum_header));
468
469 if (unlikely(!(orig_dev->features &
470 (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM))))
471 goto sw_csum;
472
473 if (skb->ip_summed == CHECKSUM_PARTIAL) {
474 iphdr = (char *)ul_header +
475 sizeof(struct rmnet_map_ul_csum_header);
476
477 if (skb->protocol == htons(ETH_P_IP)) {
478 rmnet_map_ipv4_ul_csum_header(iphdr, ul_header, skb);
479 priv->stats.csum_hw++;
480 return;
481 } else if (skb->protocol == htons(ETH_P_IPV6)) {
482 #if IS_ENABLED(CONFIG_IPV6)
483 rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb);
484 priv->stats.csum_hw++;
485 return;
486 #else
487 priv->stats.csum_err_invalid_ip_version++;
488 goto sw_csum;
489 #endif
490 } else {
491 priv->stats.csum_err_invalid_ip_version++;
492 }
493 }
494
495 sw_csum:
496 ul_header->csum_start_offset = 0;
497 ul_header->csum_insert_offset = 0;
498 ul_header->csum_enabled = 0;
499 ul_header->udp_ind = 0;
500
501 priv->stats.csum_sw++;
502 }
503
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH net-next] avoid fragmenting page memory with netdev_alloc_cache
by kernel test robot
Hi Ronak,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Ronak-Doshi/avoid-fragmenting-pa...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git e4b62cf7559f2ef9a022de235e5a09a8d7ded520
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-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
# https://github.com/0day-ci/linux/commit/9f45ca1995ce8958b4ee24fcdc8063931...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ronak-Doshi/avoid-fragmenting-page-memory-with-netdev_alloc_cache/20210212-082217
git checkout 9f45ca1995ce8958b4ee24fcdc80639314ce25aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/vmxnet3/vmxnet3_drv.c: In function 'vmxnet3_rq_rx_complete':
>> drivers/net/vmxnet3/vmxnet3_drv.c:1402:8: warning: variable 'len' set but not used [-Wunused-but-set-variable]
1402 | u16 len;
| ^~~
vim +/len +1402 drivers/net/vmxnet3/vmxnet3_drv.c
45dac1d6ea045a Shreyas Bhatewara 2015-06-19 1343
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1344 static int
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1345 vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq,
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1346 struct vmxnet3_adapter *adapter, int quota)
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1347 {
215faf9c5f6e31 Joe Perches 2010-12-21 1348 static const u32 rxprod_reg[2] = {
215faf9c5f6e31 Joe Perches 2010-12-21 1349 VMXNET3_REG_RXPROD, VMXNET3_REG_RXPROD2
215faf9c5f6e31 Joe Perches 2010-12-21 1350 };
0769636cb5b956 Neil Horman 2015-07-07 1351 u32 num_pkts = 0;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1352 bool skip_page_frags = false;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1353 struct Vmxnet3_RxCompDesc *rcd;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1354 struct vmxnet3_rx_ctx *ctx = &rq->rx_ctx;
45dac1d6ea045a Shreyas Bhatewara 2015-06-19 1355 u16 segCnt = 0, mss = 0;
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1356 #ifdef __BIG_ENDIAN_BITFIELD
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1357 struct Vmxnet3_RxDesc rxCmdDesc;
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1358 struct Vmxnet3_RxCompDesc rxComp;
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1359 #endif
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1360 vmxnet3_getRxComp(rcd, &rq->comp_ring.base[rq->comp_ring.next2proc].rcd,
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1361 &rxComp);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1362 while (rcd->gen == rq->comp_ring.gen) {
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1363 struct vmxnet3_rx_buf_info *rbi;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1364 struct sk_buff *skb, *new_skb = NULL;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1365 struct page *new_page = NULL;
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1366 dma_addr_t new_dma_addr;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1367 int num_to_alloc;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1368 struct Vmxnet3_RxDesc *rxd;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1369 u32 idx, ring_idx;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1370 struct vmxnet3_cmd_ring *ring = NULL;
0769636cb5b956 Neil Horman 2015-07-07 1371 if (num_pkts >= quota) {
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1372 /* we may stop even before we see the EOP desc of
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1373 * the current pkt
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1374 */
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1375 break;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1376 }
f3002c1374fb23 hpreg(a)vmware.com 2018-05-14 1377
f3002c1374fb23 hpreg(a)vmware.com 2018-05-14 1378 /* Prevent any rcd field from being (speculatively) read before
f3002c1374fb23 hpreg(a)vmware.com 2018-05-14 1379 * rcd->gen is read.
f3002c1374fb23 hpreg(a)vmware.com 2018-05-14 1380 */
f3002c1374fb23 hpreg(a)vmware.com 2018-05-14 1381 dma_rmb();
f3002c1374fb23 hpreg(a)vmware.com 2018-05-14 1382
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1383 BUG_ON(rcd->rqID != rq->qid && rcd->rqID != rq->qid2 &&
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1384 rcd->rqID != rq->dataRingQid);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1385 idx = rcd->rxdIdx;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1386 ring_idx = VMXNET3_GET_RING_IDX(adapter, rcd->rqID);
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1387 ring = rq->rx_ring + ring_idx;
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1388 vmxnet3_getRxDesc(rxd, &rq->rx_ring[ring_idx].base[idx].rxd,
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1389 &rxCmdDesc);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1390 rbi = rq->buf_info[ring_idx] + idx;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1391
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1392 BUG_ON(rxd->addr != rbi->dma_addr ||
115924b6bdc7cc Shreyas Bhatewara 2009-11-16 1393 rxd->len != rbi->len);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1394
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1395 if (unlikely(rcd->eop && rcd->err)) {
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1396 vmxnet3_rx_error(rq, rcd, ctx, adapter);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1397 goto rcd_done;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1398 }
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1399
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1400 if (rcd->sop) { /* first buf of the pkt */
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1401 bool rxDataRingUsed;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 @1402 u16 len;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1403
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1404 BUG_ON(rxd->btype != VMXNET3_RXD_BTYPE_HEAD ||
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1405 (rcd->rqID != rq->qid &&
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1406 rcd->rqID != rq->dataRingQid));
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1407
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1408 BUG_ON(rbi->buf_type != VMXNET3_RX_BUF_SKB);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1409 BUG_ON(ctx->skb != NULL || rbi->skb == NULL);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1410
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1411 if (unlikely(rcd->len == 0)) {
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1412 /* Pretend the rx buffer is skipped. */
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1413 BUG_ON(!(rcd->sop && rcd->eop));
fdcd79b94b2441 Stephen Hemminger 2013-01-15 1414 netdev_dbg(adapter->netdev,
f6965582ac9b87 Randy Dunlap 2009-10-16 1415 "rxRing[%u][%u] 0 length\n",
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1416 ring_idx, idx);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1417 goto rcd_done;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1418 }
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1419
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1420 skip_page_frags = false;
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1421 ctx->skb = rbi->skb;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1422
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1423 rxDataRingUsed =
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1424 VMXNET3_RX_DATA_RING(adapter, rcd->rqID);
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1425 len = rxDataRingUsed ? rcd->len : rbi->len;
9f45ca1995ce89 Todd Sabin 2021-02-11 1426 new_skb = ___netdev_alloc_skb(adapter->netdev,
9f45ca1995ce89 Todd Sabin 2021-02-11 1427 rbi->len + NET_IP_ALIGN, GFP_ATOMIC,
9f45ca1995ce89 Todd Sabin 2021-02-11 1428 &adapter->frag_cache[rq->qid]);
9f45ca1995ce89 Todd Sabin 2021-02-11 1429 if (NET_IP_ALIGN && new_skb)
9f45ca1995ce89 Todd Sabin 2021-02-11 1430 skb_reserve(new_skb, NET_IP_ALIGN);
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1431 if (new_skb == NULL) {
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1432 /* Skb allocation failed, do not handover this
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1433 * skb to stack. Reuse it. Drop the existing pkt
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1434 */
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1435 rq->stats.rx_buf_alloc_failure++;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1436 ctx->skb = NULL;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1437 rq->stats.drop_total++;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1438 skip_page_frags = true;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1439 goto rcd_done;
5318d809d7b497 Shreyas Bhatewara 2011-07-05 1440 }
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1441
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1442 if (rxDataRingUsed) {
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1443 size_t sz;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1444
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1445 BUG_ON(rcd->len > rq->data_ring.desc_size);
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1446
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1447 ctx->skb = new_skb;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1448 sz = rcd->rxdIdx * rq->data_ring.desc_size;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1449 memcpy(new_skb->data,
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1450 &rq->data_ring.base[sz], rcd->len);
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1451 } else {
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1452 ctx->skb = rbi->skb;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1453
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1454 new_dma_addr =
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1455 dma_map_single(&adapter->pdev->dev,
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1456 new_skb->data, rbi->len,
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1457 PCI_DMA_FROMDEVICE);
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1458 if (dma_mapping_error(&adapter->pdev->dev,
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1459 new_dma_addr)) {
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1460 dev_kfree_skb(new_skb);
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1461 /* Skb allocation failed, do not
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1462 * handover this skb to stack. Reuse
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1463 * it. Drop the existing pkt.
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1464 */
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1465 rq->stats.rx_buf_alloc_failure++;
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1466 ctx->skb = NULL;
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1467 rq->stats.drop_total++;
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1468 skip_page_frags = true;
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1469 goto rcd_done;
5738a09d58d5ad Alexey Khoroshilov 2015-11-28 1470 }
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1471
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1472 dma_unmap_single(&adapter->pdev->dev,
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1473 rbi->dma_addr,
b0eb57cb97e783 Andy King 2013-08-23 1474 rbi->len,
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1475 PCI_DMA_FROMDEVICE);
d1a890fa37f27d Shreyas Bhatewara 2009-10-13 1476
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1477 /* Immediate refill */
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1478 rbi->skb = new_skb;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1479 rbi->dma_addr = new_dma_addr;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1480 rxd->addr = cpu_to_le64(rbi->dma_addr);
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1481 rxd->len = rbi->len;
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1482 }
50a5ce3e7116a7 Shrikrishna Khare 2016-06-16 1483
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[linux-next:master 2008/10581] include/linux/unaligned/be_byteshift.h:66:20: error: redefinition of 'put_unaligned_be64'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 671176b0016c80b3943cb5387312c886aba3308d
commit: de8860b1ed4701ea7e6f760f02d79ca6a3b656a1 [2008/10581] iio: magnetometer: Add driver for Yamaha YAS530
config: h8300-allyesconfig (attached as .config)
compiler: h8300-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
# 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 de8860b1ed4701ea7e6f760f02d79ca6a3b656a1
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300
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 >>):
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/magnetometer/yamaha-yas530.c:33:
include/linux/unaligned/be_struct.h:7:19: note: previous definition of 'get_unaligned_be16' was here
7 | static inline u16 get_unaligned_be16(const void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/iio/magnetometer/yamaha-yas530.c:35:
include/linux/unaligned/be_byteshift.h:46:19: error: redefinition of 'get_unaligned_be32'
46 | static inline u32 get_unaligned_be32(const void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/unaligned.h:26,
from ./arch/h8300/include/generated/asm/unaligned.h:1,
from include/asm-generic/uaccess.h:13,
from ./arch/h8300/include/generated/asm/uaccess.h:1,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/cgroup.h:17,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/magnetometer/yamaha-yas530.c:33:
include/linux/unaligned/be_struct.h:12:19: note: previous definition of 'get_unaligned_be32' was here
12 | static inline u32 get_unaligned_be32(const void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/iio/magnetometer/yamaha-yas530.c:35:
include/linux/unaligned/be_byteshift.h:51:19: error: redefinition of 'get_unaligned_be64'
51 | static inline u64 get_unaligned_be64(const void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/unaligned.h:26,
from ./arch/h8300/include/generated/asm/unaligned.h:1,
from include/asm-generic/uaccess.h:13,
from ./arch/h8300/include/generated/asm/uaccess.h:1,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/cgroup.h:17,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/magnetometer/yamaha-yas530.c:33:
include/linux/unaligned/be_struct.h:17:19: note: previous definition of 'get_unaligned_be64' was here
17 | static inline u64 get_unaligned_be64(const void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/iio/magnetometer/yamaha-yas530.c:35:
include/linux/unaligned/be_byteshift.h:56:20: error: redefinition of 'put_unaligned_be16'
56 | static inline void put_unaligned_be16(u16 val, void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/unaligned.h:26,
from ./arch/h8300/include/generated/asm/unaligned.h:1,
from include/asm-generic/uaccess.h:13,
from ./arch/h8300/include/generated/asm/uaccess.h:1,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/cgroup.h:17,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/magnetometer/yamaha-yas530.c:33:
include/linux/unaligned/be_struct.h:22:20: note: previous definition of 'put_unaligned_be16' was here
22 | static inline void put_unaligned_be16(u16 val, void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/iio/magnetometer/yamaha-yas530.c:35:
include/linux/unaligned/be_byteshift.h:61:20: error: redefinition of 'put_unaligned_be32'
61 | static inline void put_unaligned_be32(u32 val, void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/unaligned.h:26,
from ./arch/h8300/include/generated/asm/unaligned.h:1,
from include/asm-generic/uaccess.h:13,
from ./arch/h8300/include/generated/asm/uaccess.h:1,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/cgroup.h:17,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/magnetometer/yamaha-yas530.c:33:
include/linux/unaligned/be_struct.h:27:20: note: previous definition of 'put_unaligned_be32' was here
27 | static inline void put_unaligned_be32(u32 val, void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from drivers/iio/magnetometer/yamaha-yas530.c:35:
>> include/linux/unaligned/be_byteshift.h:66:20: error: redefinition of 'put_unaligned_be64'
66 | static inline void put_unaligned_be64(u64 val, void *p)
| ^~~~~~~~~~~~~~~~~~
In file included from include/asm-generic/unaligned.h:26,
from ./arch/h8300/include/generated/asm/unaligned.h:1,
from include/asm-generic/uaccess.h:13,
from ./arch/h8300/include/generated/asm/uaccess.h:1,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/cgroup.h:17,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from include/linux/regulator/consumer.h:35,
from drivers/iio/magnetometer/yamaha-yas530.c:33:
include/linux/unaligned/be_struct.h:32:20: note: previous definition of 'put_unaligned_be64' was here
32 | static inline void put_unaligned_be64(u64 val, void *p)
| ^~~~~~~~~~~~~~~~~~
vim +/put_unaligned_be64 +66 include/linux/unaligned/be_byteshift.h
064106a91be5e7 Harvey Harrison 2008-04-29 65
064106a91be5e7 Harvey Harrison 2008-04-29 @66 static inline void put_unaligned_be64(u64 val, void *p)
064106a91be5e7 Harvey Harrison 2008-04-29 67 {
064106a91be5e7 Harvey Harrison 2008-04-29 68 __put_unaligned_be64(val, p);
064106a91be5e7 Harvey Harrison 2008-04-29 69 }
064106a91be5e7 Harvey Harrison 2008-04-29 70
:::::: The code at line 66 was first introduced by commit
:::::: 064106a91be5e76cb42c1ddf5d3871e3a1bd2a23 kernel: add common infrastructure for unaligned access
:::::: TO: Harvey Harrison <harvey.harrison(a)gmail.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
[linux-stable-rc:linux-4.4.y 7217/9999] arch/mips/kernel/smp.c:344:12: error: comparison between signed and unsigned integer expressions
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y
head: 95a3867e897abd7811196123f81a119a75aba863
commit: e3484129eb0f7c67c85868d1584f1e6335e86efa [7217/9999] MIPS: VDSO: Prevent use of smp_processor_id()
config: mips-bmips_be_defconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.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.4.y
git checkout e3484129eb0f7c67c85868d1584f1e6335e86efa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=mips
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/mips/kernel/smp.c:156:17: error: no previous prototype for 'start_secondary' [-Werror=missing-prototypes]
asmlinkage void start_secondary(void)
^~~~~~~~~~~~~~~
arch/mips/kernel/smp.c:278:5: error: no previous prototype for 'setup_profiling_timer' [-Werror=missing-prototypes]
int setup_profiling_timer(unsigned int multiplier)
^~~~~~~~~~~~~~~~~~~~~
In file included from arch/mips/include/asm/processor.h:14:0,
from arch/mips/include/asm/thread_info.h:15,
from include/linux/thread_info.h:54,
from include/asm-generic/preempt.h:4,
from arch/mips/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:59,
from include/linux/interrupt.h:8,
from arch/mips/kernel/smp.c:24:
arch/mips/kernel/smp.c: In function 'flush_tlb_mm':
include/linux/cpumask.h:221:9: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
(cpu) < nr_cpu_ids;)
^
include/linux/cpumask.h:725:36: note: in expansion of macro 'for_each_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~
arch/mips/kernel/smp.c:343:3: note: in expansion of macro 'for_each_online_cpu'
for_each_online_cpu(cpu) {
^~~~~~~~~~~~~~~~~~~
>> arch/mips/kernel/smp.c:344:12: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (cpu != smp_processor_id() && cpu_context(cpu, mm))
^~
In file included from arch/mips/include/asm/processor.h:14:0,
from arch/mips/include/asm/thread_info.h:15,
from include/linux/thread_info.h:54,
from include/asm-generic/preempt.h:4,
from arch/mips/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:59,
from include/linux/interrupt.h:8,
from arch/mips/kernel/smp.c:24:
arch/mips/kernel/smp.c: In function 'flush_tlb_range':
include/linux/cpumask.h:221:9: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
(cpu) < nr_cpu_ids;)
^
include/linux/cpumask.h:725:36: note: in expansion of macro 'for_each_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~
arch/mips/kernel/smp.c:382:3: note: in expansion of macro 'for_each_online_cpu'
for_each_online_cpu(cpu) {
^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/smp.c:383:12: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (cpu != smp_processor_id() && cpu_context(cpu, mm))
^~
In file included from arch/mips/include/asm/processor.h:14:0,
from arch/mips/include/asm/thread_info.h:15,
from include/linux/thread_info.h:54,
from include/asm-generic/preempt.h:4,
from arch/mips/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:59,
from include/linux/interrupt.h:8,
from arch/mips/kernel/smp.c:24:
arch/mips/kernel/smp.c: In function 'flush_tlb_page':
include/linux/cpumask.h:221:9: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
(cpu) < nr_cpu_ids;)
^
include/linux/cpumask.h:725:36: note: in expansion of macro 'for_each_cpu'
#define for_each_online_cpu(cpu) for_each_cpu((cpu), cpu_online_mask)
^~~~~~~~~~~~
arch/mips/kernel/smp.c:428:3: note: in expansion of macro 'for_each_online_cpu'
for_each_online_cpu(cpu) {
^~~~~~~~~~~~~~~~~~~
arch/mips/kernel/smp.c:429:12: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
if (cpu != smp_processor_id() && cpu_context(cpu, vma->vm_mm))
^~
cc1: all warnings being treated as errors
vim +344 arch/mips/kernel/smp.c
25969354a385f3 Ralf Baechle 2006-06-22 320
^1da177e4c3f41 Linus Torvalds 2005-04-16 321 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 322 * The following tlb flush calls are invoked when old translations are
^1da177e4c3f41 Linus Torvalds 2005-04-16 323 * being torn down, or pte attributes are changing. For single threaded
^1da177e4c3f41 Linus Torvalds 2005-04-16 324 * address spaces, a new context is obtained on the current cpu, and tlb
^1da177e4c3f41 Linus Torvalds 2005-04-16 325 * context on other cpus are invalidated to force a new context allocation
^1da177e4c3f41 Linus Torvalds 2005-04-16 326 * at switch_mm time, should the mm ever be used on other cpus. For
^1da177e4c3f41 Linus Torvalds 2005-04-16 327 * multithreaded address spaces, intercpu interrupts have to be sent.
^1da177e4c3f41 Linus Torvalds 2005-04-16 328 * Another case where intercpu interrupts are required is when the target
^1da177e4c3f41 Linus Torvalds 2005-04-16 329 * mm might be active on another cpu (eg debuggers doing the flushes on
^1da177e4c3f41 Linus Torvalds 2005-04-16 330 * behalf of debugees, kswapd stealing pages from another process etc).
^1da177e4c3f41 Linus Torvalds 2005-04-16 331 * Kanoj 07/00.
^1da177e4c3f41 Linus Torvalds 2005-04-16 332 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 333
^1da177e4c3f41 Linus Torvalds 2005-04-16 334 void flush_tlb_mm(struct mm_struct *mm)
^1da177e4c3f41 Linus Torvalds 2005-04-16 335 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 336 preempt_disable();
^1da177e4c3f41 Linus Torvalds 2005-04-16 337
^1da177e4c3f41 Linus Torvalds 2005-04-16 338 if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) {
c50cade95b075e Ralf Baechle 2007-10-04 339 smp_on_other_tlbs(flush_tlb_mm_ipi, mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 340 } else {
b5eb5511453953 Ralf Baechle 2007-10-03 341 unsigned int cpu;
b5eb5511453953 Ralf Baechle 2007-10-03 342
0b5f9c005def15 Rusty Russell 2012-03-29 343 for_each_online_cpu(cpu) {
0b5f9c005def15 Rusty Russell 2012-03-29 @344 if (cpu != smp_processor_id() && cpu_context(cpu, mm))
b5eb5511453953 Ralf Baechle 2007-10-03 345 cpu_context(cpu, mm) = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 346 }
0b5f9c005def15 Rusty Russell 2012-03-29 347 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 348 local_flush_tlb_mm(mm);
^1da177e4c3f41 Linus Torvalds 2005-04-16 349
^1da177e4c3f41 Linus Torvalds 2005-04-16 350 preempt_enable();
^1da177e4c3f41 Linus Torvalds 2005-04-16 351 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 352
:::::: The code at line 344 was first introduced by commit
:::::: 0b5f9c005def154f9c21f9be0223b65b50d54368 remove references to cpu_*_map in arch/
:::::: TO: Rusty Russell <rusty(a)rustcorp.com.au>
:::::: CC: Rusty Russell <rusty(a)rustcorp.com.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH v13 7/7] kasan: don't run tests in async mode
by kernel test robot
Hi Vincenzo,
I love your patch! Yet something to improve:
[auto build test ERROR on next-20210211]
[cannot apply to arm64/for-next/core xlnx/master arm/for-next soc/for-next kvmarm/next linus/master hnaz-linux-mm/master v5.11-rc7 v5.11-rc6 v5.11-rc5 v5.11-rc7]
[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/Vincenzo-Frascino/arm64-ARMv8-5-...
base: 671176b0016c80b3943cb5387312c886aba3308d
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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
# https://github.com/0day-ci/linux/commit/0ea84467dcc53cac5c8d4e636c4d6f24e...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vincenzo-Frascino/arm64-ARMv8-5-A-MTE-Add-async-mode-support/20210212-004947
git checkout 0ea84467dcc53cac5c8d4e636c4d6f24e6c58728
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.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 errors (new ones prefixed by >>):
aarch64-linux-ld: mm/kasan/report.o: in function `end_report':
report.c:(.text+0x18): undefined reference to `kasan_flag_async'
aarch64-linux-ld: mm/kasan/report.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `kasan_flag_async' which may bind externally can not be used when making a shared object; recompile with -fPIC
report.c:(.text+0x18): dangerous relocation: unsupported relocation
aarch64-linux-ld: report.c:(.text+0x1c): undefined reference to `kasan_flag_async'
aarch64-linux-ld: lib/test_kasan.o: in function `kasan_test_init':
test_kasan.c:(.text+0xccf0): undefined reference to `kasan_flag_async'
aarch64-linux-ld: lib/test_kasan.o: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `kasan_flag_async' which may bind externally can not be used when making a shared object; recompile with -fPIC
test_kasan.c:(.text+0xccf0): dangerous relocation: unsupported relocation
>> aarch64-linux-ld: test_kasan.c:(.text+0xccfc): undefined reference to `kasan_flag_async'
aarch64-linux-ld: test_kasan.c:(.text+0xcd04): undefined reference to `kasan_flag_async'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months
Re: [PATCH v10 07/14] mm: honor PF_MEMALLOC_PIN for all movable pages
by kernel test robot
Hi Pavel,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on kselftest/next]
[also build test ERROR on tip/sched/core tip/perf/core linux/master linus/master v5.11-rc7 next-20210211]
[cannot apply to hnaz-linux-mm/master]
[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/Pavel-Tatashin/prohibit-pinning-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
config: i386-randconfig-m021-20210209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/44c3952d1b1e3998d6fa67b610bf24fa4...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Pavel-Tatashin/prohibit-pinning-pages-in-ZONE_MOVABLE/20210212-002530
git checkout 44c3952d1b1e3998d6fa67b610bf24fa4a4b134c
# 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 >>):
In file included from arch/x86/include/asm/page.h:76,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:58,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
include/linux/mm.h: In function 'is_pinnable_page':
include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean 'present_section'? [-Werror=implicit-function-declaration]
64 | int __sec = page_to_section(__pg); \
| ^~~~~~~~~~~~~~~
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
include/linux/mmzone.h:94:32: note: in expansion of macro 'page_to_pfn'
94 | get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
| ^~~~~~~~~~~
include/linux/mmzone.h:74:39: note: in expansion of macro 'get_pageblock_migratetype'
74 | # define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm.h:1128:41: note: in expansion of macro 'is_migrate_cma_page'
1128 | return !is_zone_movable_page(page) && !is_migrate_cma_page(page);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/kallsyms.h:12,
from include/linux/bpf.h:21,
from include/linux/bpf-cgroup.h:5,
from include/linux/cgroup-defs.h:22,
from include/linux/cgroup.h:28,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/mm.h: At top level:
>> include/linux/mm.h:1502:29: error: conflicting types for 'page_to_section'
1502 | static inline unsigned long page_to_section(const struct page *page)
| ^~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/page.h:76,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:58,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
include/asm-generic/memory_model.h:64:14: note: previous implicit declaration of 'page_to_section' was here
64 | int __sec = page_to_section(__pg); \
| ^~~~~~~~~~~~~~~
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
include/linux/mmzone.h:94:32: note: in expansion of macro 'page_to_pfn'
94 | get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
| ^~~~~~~~~~~
include/linux/mmzone.h:74:39: note: in expansion of macro 'get_pageblock_migratetype'
74 | # define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm.h:1128:41: note: in expansion of macro 'is_migrate_cma_page'
1128 | return !is_zone_movable_page(page) && !is_migrate_cma_page(page);
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
In file included from arch/x86/include/asm/page.h:76,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:58,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
include/linux/mm.h: In function 'is_pinnable_page':
include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean 'present_section'? [-Werror=implicit-function-declaration]
64 | int __sec = page_to_section(__pg); \
| ^~~~~~~~~~~~~~~
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
include/linux/mmzone.h:94:32: note: in expansion of macro 'page_to_pfn'
94 | get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
| ^~~~~~~~~~~
include/linux/mmzone.h:74:39: note: in expansion of macro 'get_pageblock_migratetype'
74 | # define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm.h:1128:41: note: in expansion of macro 'is_migrate_cma_page'
1128 | return !is_zone_movable_page(page) && !is_migrate_cma_page(page);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/kallsyms.h:12,
from include/linux/bpf.h:21,
from include/linux/bpf-cgroup.h:5,
from include/linux/cgroup-defs.h:22,
from include/linux/cgroup.h:28,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/mm.h: At top level:
>> include/linux/mm.h:1502:29: error: conflicting types for 'page_to_section'
1502 | static inline unsigned long page_to_section(const struct page *page)
| ^~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/page.h:76,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:58,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
include/asm-generic/memory_model.h:64:14: note: previous implicit declaration of 'page_to_section' was here
64 | int __sec = page_to_section(__pg); \
| ^~~~~~~~~~~~~~~
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
include/linux/mmzone.h:94:32: note: in expansion of macro 'page_to_pfn'
94 | get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
| ^~~~~~~~~~~
include/linux/mmzone.h:74:39: note: in expansion of macro 'get_pageblock_migratetype'
74 | # define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm.h:1128:41: note: in expansion of macro 'is_migrate_cma_page'
1128 | return !is_zone_movable_page(page) && !is_migrate_cma_page(page);
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1201: prepare0] Error 2
make[1]: Target 'modules_prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'modules_prepare' not remade because of errors.
--
In file included from arch/x86/include/asm/page.h:76,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:58,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
include/linux/mm.h: In function 'is_pinnable_page':
include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean 'present_section'? [-Werror=implicit-function-declaration]
64 | int __sec = page_to_section(__pg); \
| ^~~~~~~~~~~~~~~
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
include/linux/mmzone.h:94:32: note: in expansion of macro 'page_to_pfn'
94 | get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
| ^~~~~~~~~~~
include/linux/mmzone.h:74:39: note: in expansion of macro 'get_pageblock_migratetype'
74 | # define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm.h:1128:41: note: in expansion of macro 'is_migrate_cma_page'
1128 | return !is_zone_movable_page(page) && !is_migrate_cma_page(page);
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/kallsyms.h:12,
from include/linux/bpf.h:21,
from include/linux/bpf-cgroup.h:5,
from include/linux/cgroup-defs.h:22,
from include/linux/cgroup.h:28,
from include/linux/memcontrol.h:13,
from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/x86/kernel/asm-offsets.c:13:
include/linux/mm.h: At top level:
>> include/linux/mm.h:1502:29: error: conflicting types for 'page_to_section'
1502 | static inline unsigned long page_to_section(const struct page *page)
| ^~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/page.h:76,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:58,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from include/linux/crypto.h:20,
from arch/x86/kernel/asm-offsets.c:9:
include/asm-generic/memory_model.h:64:14: note: previous implicit declaration of 'page_to_section' was here
64 | int __sec = page_to_section(__pg); \
| ^~~~~~~~~~~~~~~
include/asm-generic/memory_model.h:81:21: note: in expansion of macro '__page_to_pfn'
81 | #define page_to_pfn __page_to_pfn
| ^~~~~~~~~~~~~
include/linux/mmzone.h:94:32: note: in expansion of macro 'page_to_pfn'
94 | get_pfnblock_flags_mask(page, page_to_pfn(page), MIGRATETYPE_MASK)
| ^~~~~~~~~~~
include/linux/mmzone.h:74:39: note: in expansion of macro 'get_pageblock_migratetype'
74 | # define is_migrate_cma_page(_page) (get_pageblock_migratetype(_page) == MIGRATE_CMA)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mm.h:1128:41: note: in expansion of macro 'is_migrate_cma_page'
1128 | return !is_zone_movable_page(page) && !is_migrate_cma_page(page);
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1201: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:185: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/page_to_section +1502 include/linux/mm.h
bf4e8902ee5080 Daniel Kiper 2011-05-24 1501
aa462abe8aaf21 Ian Campbell 2011-08-17 @1502 static inline unsigned long page_to_section(const struct page *page)
d41dee369bff3b Andy Whitcroft 2005-06-23 1503 {
d41dee369bff3b Andy Whitcroft 2005-06-23 1504 return (page->flags >> SECTIONS_PGSHIFT) & SECTIONS_MASK;
d41dee369bff3b Andy Whitcroft 2005-06-23 1505 }
308c05e35e3517 Christoph Lameter 2008-04-28 1506 #endif
d41dee369bff3b Andy Whitcroft 2005-06-23 1507
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 7 months