Hello Marc,
I built a Linux 5.5 rc1 with your patch without any problems. Any idea
about this kbuild test failure?
So far vcan.o was not linked to dev.o as we only had the inline
functions can_dropped_invalid_skb() and can_create_echo_skb() in dev.h.
dev.o contains all the netlink stuff for real CAN hardware which we are
now linking as a whole.
Should we stay with can_skb_headroom_valid() as an inline function and
do the clean-up later?
Regards,
Oliver
On 09/12/2019 21.44, kbuild test robot wrote:
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can.git testing
head: c2e15330b56ee5a41ad98c7266de21a3af259647
commit: c2e15330b56ee5a41ad98c7266de21a3af259647 [1/1] can: ensure an initialized headroom in outgoing CAN sk_buffs
config: x86_64-randconfig-s0-20191210 (attached as .config)
compiler: gcc-6 (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
reproduce:
git checkout c2e15330b56ee5a41ad98c7266de21a3af259647
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
ld: drivers/net/can/vcan.o: in function `can_dropped_invalid_skb':
include/linux/can/dev.h:113: undefined reference to `can_skb_headroom_valid'
vim +113 include/linux/can/dev.h
95
96 /* Drop a given socketbuffer if it does not contain a valid CAN frame. */
97 static inline bool can_dropped_invalid_skb(struct net_device *dev,
98 struct sk_buff *skb)
99 {
100 const struct canfd_frame *cfd = (struct canfd_frame *)skb->data;
101
102 if (skb->protocol == htons(ETH_P_CAN)) {
103 if (unlikely(skb->len != CAN_MTU ||
104 cfd->len > CAN_MAX_DLEN))
105 goto inval_skb;
106 } else if (skb->protocol == htons(ETH_P_CANFD)) {
107 if (unlikely(skb->len != CANFD_MTU ||
108 cfd->len > CANFD_MAX_DLEN))
109 goto inval_skb;
110 } else
111 goto inval_skb;
112
> 113 if (!can_skb_headroom_valid(dev, skb))
114 goto inval_skb;
115
116 return false;
117
118 inval_skb:
119 kfree_skb(skb);
120 dev->stats.tx_dropped++;
121 return true;
122 }
123
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx Intel Corporation