Re: linux-next: build failure after merge of most of the trees

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2015-05-28 at 22:06 +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the all the trees, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> drivers/vhost/scsi.c: In function 'vhost_scsi_open':
> drivers/vhost/scsi.c:1422:3: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>    vs = vzalloc(sizeof(*vs));
>    ^
> drivers/vhost/scsi.c:1422:6: warning: assignment makes pointer from integer without a cast
>    vs = vzalloc(sizeof(*vs));
>       ^
> drivers/target/target_core_pr.c: In function 'core_scsi3_update_and_write_aptpl':
> drivers/target/target_core_pr.c:1985:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>   buf = vzalloc(len);
>   ^
> drivers/target/target_core_pr.c:1985:6: warning: assignment makes pointer from integer without a cast
>   buf = vzalloc(len);
>       ^
> drivers/target/target_core_pr.c:1991:3: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>    vfree(buf);
>    ^
> drivers/target/target_core_transport.c: In function 'transport_alloc_session_tags':
> drivers/target/target_core_transport.c:258:3: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>    se_sess->sess_cmd_map = vzalloc(tag_num * tag_size);
>    ^
> drivers/target/target_core_transport.c:258:25: warning: assignment makes pointer from integer without a cast
>    se_sess->sess_cmd_map = vzalloc(tag_num * tag_size);
>                          ^
> drivers/target/target_core_transport.c:270:4: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>     vfree(se_sess->sess_cmd_map);
>     ^
> drivers/target/target_core_transport.c: In function 'transport_kmap_data_sg':
> drivers/target/target_core_transport.c:2317:2: error: implicit declaration of function 'vmap' [-Werror=implicit-function-declaration]
>   cmd->t_data_vmap = vmap(pages, cmd->t_data_nents,  VM_MAP, PAGE_KERNEL);
>   ^
> drivers/target/target_core_transport.c:2317:53: error: 'VM_MAP' undeclared (first use in this function)
>   cmd->t_data_vmap = vmap(pages, cmd->t_data_nents,  VM_MAP, PAGE_KERNEL);
>                                                      ^
> drivers/target/target_core_transport.c: In function 'transport_kunmap_data_sg':
> drivers/target/target_core_transport.c:2335:2: error: implicit declaration of function 'vunmap' [-Werror=implicit-function-declaration]
>   vunmap(cmd->t_data_vmap);
>   ^
> drivers/target/target_core_file.c: In function 'fd_format_prot':
> drivers/target/target_core_file.c:809:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>   buf = vzalloc(unit_size);
>   ^
> drivers/target/target_core_file.c:809:6: warning: assignment makes pointer from integer without a cast
>   buf = vzalloc(unit_size);
>       ^
> drivers/target/target_core_file.c:822:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>   vfree(buf);
>   ^
> drivers/target/target_core_user.c: In function 'tcmu_configure_device':
> drivers/target/target_core_user.c:895:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>   udev->mb_addr = vzalloc(TCMU_RING_SIZE);
>   ^
> drivers/target/target_core_user.c:895:16: warning: assignment makes pointer from integer without a cast
>   udev->mb_addr = vzalloc(TCMU_RING_SIZE);
>                 ^
> drivers/target/target_core_user.c:947:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>   vfree(udev->mb_addr);
>   ^
> drivers/target/iscsi/iscsi_target.c: In function 'iscsi_target_init_module':
> drivers/target/iscsi/iscsi_target.c:557:2: error: implicit declaration of function 'vzalloc' [-Werror=implicit-function-declaration]
>   iscsit_global->ts_bitmap = vzalloc(size);
>   ^
> drivers/target/iscsi/iscsi_target.c:557:27: warning: assignment makes pointer from integer without a cast
>   iscsit_global->ts_bitmap = vzalloc(size);
>                            ^
> drivers/target/iscsi/iscsi_target.c:615:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>   vfree(iscsit_global->ts_bitmap);
>   ^
> drivers/scsi/qla2xxx/tcm_qla2xxx.c: In function 'tcm_qla2xxx_init_lport':
> drivers/scsi/qla2xxx/tcm_qla2xxx.c:1578:2: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration]
>   lport->lport_loopid_map = vmalloc(sizeof(struct tcm_qla2xxx_fc_loopid) *
>   ^
> drivers/scsi/qla2xxx/tcm_qla2xxx.c:1578:26: warning: assignment makes pointer from integer without a cast
>   lport->lport_loopid_map = vmalloc(sizeof(struct tcm_qla2xxx_fc_loopid) *
>                           ^
> drivers/scsi/qla2xxx/tcm_qla2xxx.c: In function 'tcm_qla2xxx_make_lport':
> drivers/scsi/qla2xxx/tcm_qla2xxx.c:1643:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration]
>   vfree(lport->lport_loopid_map);
>   ^
> 
> Ouch :-(
> 
> Maybe commit 095dc8e0c368 ("tcp: fix/cleanup
> inet_ehash_locks_alloc()")?  (that is the only commit I can find that
> remove an include of vmalloc.h
> 
> Ah ha.  I applied this fix patch:
> 
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Thu, 28 May 2015 21:54:40 +1000
> Subject: [PATCH] try putting the include of vmalloc.h back into inet_hashtables.h
> 
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
>  include/net/inet_hashtables.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h
> index b73c88a19dd4..0046b9f91ed3 100644
> --- a/include/net/inet_hashtables.h
> +++ b/include/net/inet_hashtables.h
> @@ -24,6 +24,7 @@
>  #include <linux/spinlock.h>
>  #include <linux/types.h>
>  #include <linux/wait.h>
> +#include <linux/vmalloc.h>
>  
>  #include <net/inet_connection_sock.h>
>  #include <net/inet_sock.h>
> -- 

Hi Stephen

We were alerted of this problem thanks to kbuild test robot.

This fix is not a definitive one I hope.

Golden rule is that vmalloc() users must include vmalloc.h themselves,
not by an indirect include.

include/net/inet_hashtables.h no longer uses vmalloc(), so this include
is not needed anymore.

I sent one fix, and prepared others, but I prefer that each offender is
fixed.

http://git.kernel.org/cgit/linux/kernel/git/davem/net-next.git/commit/?id=c6bfda8d72c485b2eee1642cbcbd92e3fbb93ed3

Thanks


--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux