Subject: Re: [PATCH net-next 06/14] sctp: do the basic send and recv for PLPMTUD probe

From: kernel test robot <[email-masked]>
Date: Mon, 21 Jun 2021 11:49:44 +0800

Hi Xin,

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/Xin-Long/sctp-implement-RFC8899-Packetization-Layer-Path-MTU-Discovery-for-SCTP-transport/20210621-094007
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git adc2e56ebe6377f5c032d96aee0feac30a640453
config: i386-randconfig-r023-20210620 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        # https://github.com/0day-ci/linux/commit/fcac1d6488c8bc7cb69af9e8051686a674d94fc3
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Xin-Long/sctp-implement-RFC8899-Packetization-Layer-Path-MTU-Discovery-for-SCTP-transport/20210621-094007
        git checkout fcac1d6488c8bc7cb69af9e8051686a674d94fc3
        # 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 <[email-masked]>

All warnings (new ones prefixed by >>):

>> net/sctp/output.c:215:16: warning: no previous prototype for 'sctp_packet_bundle_pad' [-Wmissing-prototypes]
     215 | enum sctp_xmit sctp_packet_bundle_pad(struct sctp_packet *pkt, struct sctp_chunk *chunk)
         |                ^~~~~~~~~~~~~~~~~~~~~~
   net/sctp/output.c: In function 'sctp_packet_bundle_pad':
>> net/sctp/output.c:219:20: warning: variable 'sp' set but not used [-Wunused-but-set-variable]
     219 |  struct sctp_sock *sp;
         |                    ^~

vim +/sctp_packet_bundle_pad +215 net/sctp/output.c

   213	
   214	/* Try to bundle a pad chunk into a packet with a heartbeat chunk for PLPMTUTD probe */
 > 215	enum sctp_xmit sctp_packet_bundle_pad(struct sctp_packet *pkt, struct sctp_chunk *chunk)
   216	{
   217		struct sctp_transport *t = pkt->transport;
   218		struct sctp_chunk *pad;
 > 219		struct sctp_sock *sp;
   220		int overhead = 0;
   221	
   222		if (!chunk->pmtu_probe)
   223			return SCTP_XMIT_OK;
   224	
   225		sp = sctp_sk(t->asoc->base.sk);
   226	
   227		/* calculate the Padding Data size for the pad chunk */
   228		overhead += sizeof(struct sctphdr) + sizeof(struct sctp_chunkhdr);
   229		overhead += sizeof(struct sctp_sender_hb_info) + sizeof(struct sctp_pad_chunk);
   230		pad = sctp_make_pad(t->asoc, t->pl.probe_size - overhead);
   231		if (!pad)
   232			return SCTP_XMIT_DELAY;
   233	
   234		list_add_tail(&pad->list, &pkt->chunk_list);
   235		pkt->size += SCTP_PAD4(ntohs(pad->chunk_hdr->length));
   236		chunk->transport = t;
   237	
   238		return SCTP_XMIT_OK;
   239	}
   240	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email-masked]