lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CANn89iJyZiBZfTzQXMRmxa4sYYmbP1SM194vxuk_h3+PPMzhxA@mail.gmail.com>
Date:	Tue, 26 May 2015 21:21:52 -0700
From:	Eric Dumazet <edumazet@...gle.com>
To:	kbuild test robot <fengguang.wu@...el.com>
Cc:	kbuild-all@...org, netdev <netdev@...r.kernel.org>
Subject: Re: [net-next:master 200/201] net/ipv4/fib_trie.c:293:3: error:
 implicit declaration of function 'vfree'

Few vmalloc() users forgot to include <linux/vmalloc.h>,
which used to be included from include/net/inet_hashtables.h

Thanks for the report, I'll send fixes.

On Tue, May 26, 2015 at 9:12 PM, kbuild test robot
<fengguang.wu@...el.com> wrote:
> tree:   git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
> head:   d6a4e26afb80c049e7f94e1b7b506dcda61eee88
> commit: 095dc8e0c3686d586a01a50abc3e1bb9ac633054 [200/201] tcp: fix/cleanup inet_ehash_locks_alloc()
> config: powerpc-defconfig (attached as .config)
> reproduce:
>   wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
>   chmod +x ~/bin/make.cross
>   git checkout 095dc8e0c3686d586a01a50abc3e1bb9ac633054
>   # save the attached .config to linux build tree
>   make.cross ARCH=powerpc
>
> All error/warnings:
>
>    net/ipv4/fib_trie.c: In function '__node_free_rcu':
>>> net/ipv4/fib_trie.c:293:3: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>       vfree(n);
>       ^
>    net/ipv4/fib_trie.c: In function 'tnode_alloc':
>>> net/ipv4/fib_trie.c:312:3: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>       return vzalloc(size);
>       ^
>>> net/ipv4/fib_trie.c:312:3: warning: return makes pointer from integer without a cast
>    cc1: some warnings being treated as errors
> --
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_create_chap_list':
>>> drivers/scsi/qla4xxx/ql4_os.c:617:3: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]
>       ha->chap_list = vmalloc(chap_size);
>       ^
>>> drivers/scsi/qla4xxx/ql4_os.c:617:17: warning: assignment makes pointer from integer without a cast
>       ha->chap_list = vmalloc(chap_size);
>                     ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_mem_free':
>>> drivers/scsi/qla4xxx/ql4_os.c:4135:3: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>       vfree(ha->fw_dump);
>       ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_is_session_exists':
>>> drivers/scsi/qla4xxx/ql4_os.c:6340:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>      fw_tddb = vzalloc(sizeof(*fw_tddb));
>      ^
>>> drivers/scsi/qla4xxx/ql4_os.c:6340:10: warning: assignment makes pointer from integer without a cast
>      fw_tddb = vzalloc(sizeof(*fw_tddb));
>              ^
>>> drivers/scsi/qla4xxx/ql4_os.c:6348:11: warning: assignment makes pointer from integer without a cast
>      tmp_tddb = vzalloc(sizeof(*tmp_tddb));
>               ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_is_flash_ddb_exists':
>>> drivers/scsi/qla4xxx/ql4_os.c:6485:10: warning: assignment makes pointer from integer without a cast
>      fw_tddb = vzalloc(sizeof(*fw_tddb));
>              ^
>>> drivers/scsi/qla4xxx/ql4_os.c:6493:11: warning: assignment makes pointer from integer without a cast
>      tmp_tddb = vzalloc(sizeof(*tmp_tddb));
>               ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_get_ep_fwdb':
>>> drivers/scsi/qla4xxx/ql4_os.c:6556:11: warning: assignment makes pointer from integer without a cast
>      dst_addr = vmalloc(sizeof(*dst_addr));
>               ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_build_st_list':
>>> drivers/scsi/qla4xxx/ql4_os.c:6786:14: warning: assignment makes pointer from integer without a cast
>       st_ddb_idx = vzalloc(fw_idx_size);
>                  ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_build_nt_list':
>>> drivers/scsi/qla4xxx/ql4_os.c:7026:15: warning: assignment makes pointer from integer without a cast
>        nt_ddb_idx = vmalloc(fw_idx_size);
>                   ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_build_new_nt_list':
>>> drivers/scsi/qla4xxx/ql4_os.c:7122:14: warning: assignment makes pointer from integer without a cast
>       nt_ddb_idx = vmalloc(fw_idx_size);
>                  ^
>    drivers/scsi/qla4xxx/ql4_os.c: In function 'qla4xxx_sysfs_ddb_logout':
>>> drivers/scsi/qla4xxx/ql4_os.c:7732:13: warning: assignment makes pointer from integer without a cast
>      flash_tddb = vzalloc(sizeof(*flash_tddb));
>                 ^
>>> drivers/scsi/qla4xxx/ql4_os.c:7740:11: warning: assignment makes pointer from integer without a cast
>      tmp_tddb = vzalloc(sizeof(*tmp_tddb));
>               ^
>    cc1: some warnings being treated as errors
> --
>    drivers/scsi/qla4xxx/ql4_init.c: In function 'qla4xxx_alloc_fw_dump':
>>> drivers/scsi/qla4xxx/ql4_init.c:387:2: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]
>      ha->fw_dump = vmalloc(ha->fw_dump_size);
>      ^
>>> drivers/scsi/qla4xxx/ql4_init.c:387:14: warning: assignment makes pointer from integer without a cast
>      ha->fw_dump = vmalloc(ha->fw_dump_size);
>                  ^
>    cc1: some warnings being treated as errors
> --
>    drivers/scsi/qla4xxx/ql4_83xx.c: In function 'qla4_83xx_copy_bootloader':
>>> drivers/scsi/qla4xxx/ql4_83xx.c:640:2: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]
>      p_cache = vmalloc(size);
>      ^
>>> drivers/scsi/qla4xxx/ql4_83xx.c:640:10: warning: assignment makes pointer from integer without a cast
>      p_cache = vmalloc(size);
>              ^
>>> drivers/scsi/qla4xxx/ql4_83xx.c:671:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>      vfree(p_cache);
>      ^
>    drivers/scsi/qla4xxx/ql4_83xx.c: In function 'qla4_83xx_read_reset_template':
>>> drivers/scsi/qla4xxx/ql4_83xx.c:780:23: warning: assignment makes pointer from integer without a cast
>      ha->reset_tmplt.buff = vmalloc(QLA83XX_RESTART_TEMPLATE_SIZE);
>                           ^
>    cc1: some warnings being treated as errors
>
> vim +/vfree +293 net/ipv4/fib_trie.c
>
> 37fd30f2 Alexander Duyck   2014-12-31  287
> 56ca2adf Alexander Duyck   2015-03-06  288      if (!n->tn_bits)
> 37fd30f2 Alexander Duyck   2014-12-31  289              kmem_cache_free(trie_leaf_kmem, n);
> 56ca2adf Alexander Duyck   2015-03-06  290      else if (n->tn_bits <= TNODE_KMALLOC_MAX)
> 37fd30f2 Alexander Duyck   2014-12-31  291              kfree(n);
> 37fd30f2 Alexander Duyck   2014-12-31  292      else
> 37fd30f2 Alexander Duyck   2014-12-31 @293              vfree(n);
> 387a5487 Stephen Hemminger 2008-04-10  294  }
> 387a5487 Stephen Hemminger 2008-04-10  295
> 56ca2adf Alexander Duyck   2015-03-06  296  #define node_free(n) call_rcu(&tn_info(n)->rcu, __node_free_rcu)
> 37fd30f2 Alexander Duyck   2014-12-31  297
> dc35dbed Alexander Duyck   2015-03-06  298  static struct tnode *tnode_alloc(int bits)
> f0e36f8c Patrick McHardy   2005-07-05  299  {
> 1de3d87b Alexander Duyck   2015-03-04  300      size_t size;
> 1de3d87b Alexander Duyck   2015-03-04  301
> 1de3d87b Alexander Duyck   2015-03-04  302      /* verify bits is within bounds */
> 1de3d87b Alexander Duyck   2015-03-04  303      if (bits > TNODE_VMALLOC_MAX)
> 1de3d87b Alexander Duyck   2015-03-04  304              return NULL;
> 1de3d87b Alexander Duyck   2015-03-04  305
> 1de3d87b Alexander Duyck   2015-03-04  306      /* determine size and verify it is non-zero and didn't overflow */
> 1de3d87b Alexander Duyck   2015-03-04  307      size = TNODE_SIZE(1ul << bits);
> 1de3d87b Alexander Duyck   2015-03-04  308
> 2373ce1c Robert Olsson     2005-08-25  309      if (size <= PAGE_SIZE)
> 8d965444 Eric Dumazet      2008-01-13  310              return kzalloc(size, GFP_KERNEL);
> 15be75cd Stephen Hemminger 2008-04-10  311      else
> 7a1c8e5a Eric Dumazet      2010-11-20 @312              return vzalloc(size);
> 15be75cd Stephen Hemminger 2008-04-10  313  }
> 2373ce1c Robert Olsson     2005-08-25  314
> 35c6edac Alexander Duyck   2015-03-06  315  static inline void empty_child_inc(struct key_vector *n)
>
> :::::: The code at line 293 was first introduced by commit
> :::::: 37fd30f2da573c2625ed29561e5b8eb7b0258860 fib_trie: Merge tnode_free and leaf_free into node_free
>
> :::::: TO: Alexander Duyck <alexander.h.duyck@...hat.com>
> :::::: CC: David S. Miller <davem@...emloft.net>
>
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ