From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756158AbdJJLWZ (ORCPT ); Tue, 10 Oct 2017 07:22:25 -0400 Received: from mx2.suse.de ([195.135.220.15]:42509 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755890AbdJJLWY (ORCPT ); Tue, 10 Oct 2017 07:22:24 -0400 Date: Tue, 10 Oct 2017 13:22:22 +0200 From: Jan Kara To: Kees Cook Cc: linux-kernel@vger.kernel.org, Petr Vandrovec , Jan Kara , Jens Axboe , Al Viro , Thomas Gleixner Subject: Re: [PATCH] fs/ncpfs: Convert timers to use timer_setup() Message-ID: <20171010112222.GC3667@quack2.suse.cz> References: <20171005005250.GA23654@beast> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171005005250.GA23654@beast> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 04-10-17 17:52:50, Kees Cook wrote: > In preparation for unconditionally passing the struct timer_list pointer to > all timer callbacks, switch to using the new timer_setup() and from_timer() > to pass the timer pointer explicitly. > > Cc: Petr Vandrovec > Cc: Jan Kara > Cc: Jens Axboe > Cc: Al Viro > Cc: Thomas Gleixner > Signed-off-by: Kees Cook Looks good to me. You can add: Reviewed-by: Jan Kara Honza > --- > This requires commit 686fef928bba ("timer: Prepare to change timer > callback argument type") in v4.14-rc3, but should be otherwise > stand-alone. > --- > fs/ncpfs/inode.c | 4 +--- > fs/ncpfs/ncp_fs_sb.h | 2 +- > fs/ncpfs/sock.c | 6 +++--- > 3 files changed, 5 insertions(+), 7 deletions(-) > > diff --git a/fs/ncpfs/inode.c b/fs/ncpfs/inode.c > index 6d0f14c86099..129f1937fa2c 100644 > --- a/fs/ncpfs/inode.c > +++ b/fs/ncpfs/inode.c > @@ -618,7 +618,7 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) > server->tx.creq = NULL; > server->rcv.creq = NULL; > > - init_timer(&server->timeout_tm); > + timer_setup(&server->timeout_tm, ncpdgram_timeout_call, 0); > #undef NCP_PACKET_SIZE > #define NCP_PACKET_SIZE 131072 > error = -ENOMEM; > @@ -650,8 +650,6 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent) > } else { > INIT_WORK(&server->rcv.tq, ncpdgram_rcv_proc); > INIT_WORK(&server->timeout_tq, ncpdgram_timeout_proc); > - server->timeout_tm.data = (unsigned long)server; > - server->timeout_tm.function = ncpdgram_timeout_call; > } > release_sock(sock->sk); > > diff --git a/fs/ncpfs/ncp_fs_sb.h b/fs/ncpfs/ncp_fs_sb.h > index 366fd63cc506..2088d94ead93 100644 > --- a/fs/ncpfs/ncp_fs_sb.h > +++ b/fs/ncpfs/ncp_fs_sb.h > @@ -149,7 +149,7 @@ extern void ncp_tcp_rcv_proc(struct work_struct *work); > extern void ncp_tcp_tx_proc(struct work_struct *work); > extern void ncpdgram_rcv_proc(struct work_struct *work); > extern void ncpdgram_timeout_proc(struct work_struct *work); > -extern void ncpdgram_timeout_call(unsigned long server); > +extern void ncpdgram_timeout_call(struct timer_list *t); > extern void ncp_tcp_data_ready(struct sock* sk); > extern void ncp_tcp_write_space(struct sock* sk); > extern void ncp_tcp_error_report(struct sock* sk); > diff --git a/fs/ncpfs/sock.c b/fs/ncpfs/sock.c > index 98b6db0ed63e..56c45c78b0b8 100644 > --- a/fs/ncpfs/sock.c > +++ b/fs/ncpfs/sock.c > @@ -116,10 +116,10 @@ void ncp_tcp_write_space(struct sock *sk) > schedule_work(&server->tx.tq); > } > > -void ncpdgram_timeout_call(unsigned long v) > +void ncpdgram_timeout_call(struct timer_list *t) > { > - struct ncp_server *server = (void*)v; > - > + struct ncp_server *server = from_timer(server, t, timeout_tm); > + > schedule_work(&server->timeout_tq); > } > > -- > 2.7.4 > > > -- > Kees Cook > Pixel Security -- Jan Kara SUSE Labs, CR