CC: [email protected] BCC: [email protected] CC: [email protected] TO: Arnd Bergmann <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: a1901b464e7e3e28956ae7423db2847dbbfb5be8 commit: 25ec92fbdd23a0a2bfd2bdf489e60ea4f0ae46d1 hamradio: use ndo_siocdevprivate date: 9 months ago :::::: branch date: 4 hours ago :::::: commit date: 9 months ago config: i386-randconfig-m021-20220418 (https://download.01.org/0day-ci/archive/20220418/[email protected]/config) compiler: gcc-11 (Debian 11.2.0-19) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/net/hamradio/scc.c:1748 scc_net_siocdevprivate() warn: potential spectre issue 'Ivec' [w] (local cap) Old smatch warnings: drivers/net/hamradio/scc.c:2042 scc_net_seq_show() warn: argument 8 to %2.2x specifier has type 'char' vim +/Ivec +1748 drivers/net/hamradio/scc.c ^1da177e4c3f41 Linus Torvalds 2005-04-16 1695 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1696 /* ^1da177e4c3f41 Linus Torvalds 2005-04-16 1697 * SIOCSCCCFG - configure driver arg: (struct scc_hw_config *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1698 * SIOCSCCINI - initialize driver arg: --- ^1da177e4c3f41 Linus Torvalds 2005-04-16 1699 * SIOCSCCCHANINI - initialize channel arg: (struct scc_modem *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1700 * SIOCSCCSMEM - set memory arg: (struct scc_mem_config *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1701 * SIOCSCCGKISS - get level 1 parameter arg: (struct scc_kiss_cmd *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1702 * SIOCSCCSKISS - set level 1 parameter arg: (struct scc_kiss_cmd *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1703 * SIOCSCCGSTAT - get driver status arg: (struct scc_stat *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1704 * SIOCSCCCAL - send calib. pattern arg: (struct scc_calibrate *) arg ^1da177e4c3f41 Linus Torvalds 2005-04-16 1705 */ ^1da177e4c3f41 Linus Torvalds 2005-04-16 1706 25ec92fbdd23a0 Arnd Bergmann 2021-07-27 1707 static int scc_net_siocdevprivate(struct net_device *dev, 25ec92fbdd23a0 Arnd Bergmann 2021-07-27 1708 struct ifreq *ifr, void __user *arg, int cmd) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1709 { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1710 struct scc_kiss_cmd kiss_cmd; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1711 struct scc_mem_config memcfg; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1712 struct scc_hw_config hwcfg; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1713 struct scc_calibrate cal; f4bdd264b43cc6 Wang Chen 2008-11-20 1714 struct scc_channel *scc = (struct scc_channel *) dev->ml_priv; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1715 int chan; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1716 unsigned char device_name[IFNAMSIZ]; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1717 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1718 if (!Driver_Initialized) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1719 { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1720 if (cmd == SIOCSCCCFG) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1721 { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1722 int found = 1; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1723 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1724 if (!capable(CAP_SYS_RAWIO)) return -EPERM; 25ec92fbdd23a0 Arnd Bergmann 2021-07-27 1725 if (in_compat_syscall()) 25ec92fbdd23a0 Arnd Bergmann 2021-07-27 1726 return -EOPNOTSUPP; 25ec92fbdd23a0 Arnd Bergmann 2021-07-27 1727 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1728 if (!arg) return -EFAULT; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1729 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1730 if (Nchips >= SCC_MAXCHIPS) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1731 return -EINVAL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1732 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1733 if (copy_from_user(&hwcfg, arg, sizeof(hwcfg))) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1734 return -EFAULT; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1735 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1736 if (hwcfg.irq == 2) hwcfg.irq = 9; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1737 60e4ad7a72fd7c Yinghai Lu 2008-08-19 1738 if (hwcfg.irq < 0 || hwcfg.irq >= nr_irqs) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1739 return -EINVAL; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1740 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1741 if (!Ivec[hwcfg.irq].used && hwcfg.irq) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1742 { 1b36efe07f83ec Jeff Garzik 2007-10-29 1743 if (request_irq(hwcfg.irq, scc_isr, 9714481e677562 Michael Opdenacker 2013-10-05 1744 0, "AX.25 SCC", 1b36efe07f83ec Jeff Garzik 2007-10-29 1745 (void *)(long) hwcfg.irq)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1746 printk(KERN_WARNING "z8530drv: warning, cannot get IRQ %d\n", hwcfg.irq); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1747 else ^1da177e4c3f41 Linus Torvalds 2005-04-16 @1748 Ivec[hwcfg.irq].used = 1; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1749 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1750 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1751 if (hwcfg.vector_latch && !Vector_Latch) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 1752 if (!request_region(hwcfg.vector_latch, 1, "scc vector latch")) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1753 printk(KERN_WARNING "z8530drv: warning, cannot reserve vector latch port 0x%lx\n, disabled.", hwcfg.vector_latch); ^1da177e4c3f41 Linus Torvalds 2005-04-16 1754 else ^1da177e4c3f41 Linus Torvalds 2005-04-16 1755 Vector_Latch = hwcfg.vector_latch; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1756 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 1757 ^1da177e4c3f41 Linus Torvalds 2005-04-16 1758 if (hwcfg.clock == 0) ^1da177e4c3f41 Linus Torvalds 2005-04-16 1759 hwcfg.clock = SCC_DEFAULT_CLOCK; ^1da177e4c3f41 Linus Torvalds 2005-04-16 1760 :::::: The code at line 1748 was first introduced by commit :::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2 :::::: TO: Linus Torvalds <[email protected]> :::::: CC: Linus Torvalds <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
