All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/ppp/ppp_synctty.c:469 ppp_sync_txmunge() warn: variable dereferenced before check 'skb' (see line 443)
@ 2026-09-13 20:27 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-09-13 20:27 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Dan Carpenter

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Qingfang Deng <qingfang.deng@linux.dev>
CC: Jakub Kicinski <kuba@kernel.org>
CC: Eric Dumazet <edumazet@google.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d681d7ef617ef83d6a4de36e5cb4418ef602e122
commit: 8aaeb56aff2a557a88f83ae866da2c91ad247e59 ppp_synctty: ensure a writeable skb header
date:   4 days ago
:::::: branch date: 3 hours ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-161-20260913 (https://download.01.org/0day-ci/archive/20260913/202609132245.txZXoUxc-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
smatch: v0.5.0-9187-g5189e3fb

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 8aaeb56aff2a ("ppp_synctty: ensure a writeable skb header")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202609132245.txZXoUxc-lkp@intel.com/

smatch warnings:
drivers/net/ppp/ppp_synctty.c:469 ppp_sync_txmunge() warn: variable dereferenced before check 'skb' (see line 443)

vim +/skb +469 drivers/net/ppp/ppp_synctty.c

^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  426  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  427  /*
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  428   * Procedures for encapsulation and framing.
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  429   */
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  430  
3c582b30bc2592 drivers/net/ppp_synctty.c     Stephen Hemminger 2008-01-23  431  static struct sk_buff*
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  432  ppp_sync_txmunge(struct syncppp *ap, struct sk_buff *skb)
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  433  {
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  434  	int proto;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  435  	unsigned char *data;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  436  	int islcp;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  437  
aabc6596ffb377 drivers/net/ppp/ppp_synctty.c Arnaud Lecomte    2025-04-08  438  	/* Ensure we can safely access protocol field and LCP code */
aabc6596ffb377 drivers/net/ppp/ppp_synctty.c Arnaud Lecomte    2025-04-08  439  	if (!pskb_may_pull(skb, 3)) {
aabc6596ffb377 drivers/net/ppp/ppp_synctty.c Arnaud Lecomte    2025-04-08  440  		kfree_skb(skb);
aabc6596ffb377 drivers/net/ppp/ppp_synctty.c Arnaud Lecomte    2025-04-08  441  		return NULL;
aabc6596ffb377 drivers/net/ppp/ppp_synctty.c Arnaud Lecomte    2025-04-08  442  	}
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16 @443  	data  = skb->data;
96545aeb7b4457 drivers/net/ppp_synctty.c     Changli Gao       2011-01-06  444  	proto = get_unaligned_be16(data);
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  445  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  446  	/* LCP packets with codes between 1 (configure-request)
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  447  	 * and 7 (code-reject) must be sent as though no options
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  448  	 * have been negotiated.
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  449  	 */
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  450  	islcp = proto == PPP_LCP && 1 <= data[2] && data[2] <= 7;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  451  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  452  	/* compress protocol field if option enabled */
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  453  	if (data[0] == 0 && (ap->flags & SC_COMP_PROT) && !islcp)
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  454  		skb_pull(skb,1);
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  455  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  456  	/* prepend address/control fields if necessary */
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  457  	if ((ap->flags & SC_COMP_AC) == 0 || islcp) {
8aaeb56aff2a55 drivers/net/ppp/ppp_synctty.c Qingfang Deng     2026-09-08  458  		if (skb_cow_head(skb, 2)) {
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  459  			kfree_skb(skb);
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  460  			return NULL;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  461  		}
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  462  		skb_push(skb,2);
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  463  		skb->data[0] = PPP_ALLSTATIONS;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  464  		skb->data[1] = PPP_UI;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  465  	}
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  466  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  467  	ap->last_xmit = jiffies;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  468  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16 @469  	if (skb && ap->flags & SC_LOG_OUTPKT)
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  470  		ppp_print_buffer ("send buffer", skb->data, skb->len);
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  471  
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  472  	return skb;
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  473  }
^1da177e4c3f41 drivers/net/ppp_synctty.c     Linus Torvalds    2005-04-16  474  

:::::: The code at line 469 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-13 20:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-13 20:27 drivers/net/ppp/ppp_synctty.c:469 ppp_sync_txmunge() warn: variable dereferenced before check 'skb' (see line 443) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.