fs/ncpfs: Convert timers to use timer_setup()
PATCH 1/1 fs/ncpfs: Convert timers to use timer_setup()
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.
---
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(-)
fs/ncpfs/inode.c +1 -3
@@ -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);
fs/ncpfs/ncp_fs_sb.h +1 -1
@@ -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);
fs/ncpfs/sock.c +3 -3
@@ -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); }
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Quoted 10 lines · Kees Cook
In preparation for unconditionally passing the struct
timer_listpointer to all timer callbacks, switch to using the newtimer_setup()andfrom_timer()to pass the timer pointer explicitly.Cc Petr Vandrovec <[email protected]>Cc Jan Kara <[email protected]>Cc Jens Axboe <[email protected]>Cc Al Viro <[email protected]>Cc Thomas Gleixner <[email protected]>Signed-off-by Kees Cook <[email protected]>
Looks good to me. You can add:
Honza
Quoted 70 lines
---
This requires commit686fef928bba("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(-)fs/ncpfs/inode.c +1
-3@@ -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);fs/ncpfs/ncp_fs_sb.h +1
-1@@ -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);fs/ncpfs/sock.c +3
-3@@ -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); }Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Signature · 2 lines
Jan Kara <[email protected]> SUSE Labs, CR