Re: [PATCH 09/58] net/irda: Convert timers to use timer_setup()

2018-03-02 Thread Marcelo Ricardo Leitner
On Fri, Mar 02, 2018 at 02:30:30PM -0800, Kees Cook wrote:
> On Fri, Mar 2, 2018 at 1:29 PM, Marcelo Ricardo Leitner
>  wrote:
> > Note how it is using the irda_start_timer definition from
> > include/net/irda/timer.h instead of
> > drivers/staging/irda/include/net/irda/timer.h which was patched in
> > this patch.
> 
> $ git show net-next/master:include/net/irda/iriap.h
> fatal: Path 'include/net/irda/iriap.h' does not exist in 'net-next/master'
> 
> 4.14 moved include/net/irda/iriap.h into the staging directory:
> 
> 5bf916ee0ab6 ("irda: move include/net/irda into staging subdirectory")
> 
> I think you've got a stale copy of the old file in your tree...

Right you are. Sorry for the noise.

Thanks,
  Marcelo


Re: [PATCH 09/58] net/irda: Convert timers to use timer_setup()

2018-03-02 Thread Kees Cook
On Fri, Mar 2, 2018 at 1:29 PM, Marcelo Ricardo Leitner
 wrote:
> Note how it is using the irda_start_timer definition from
> include/net/irda/timer.h instead of
> drivers/staging/irda/include/net/irda/timer.h which was patched in
> this patch.

$ git show net-next/master:include/net/irda/iriap.h
fatal: Path 'include/net/irda/iriap.h' does not exist in 'net-next/master'

4.14 moved include/net/irda/iriap.h into the staging directory:

5bf916ee0ab6 ("irda: move include/net/irda into staging subdirectory")

I think you've got a stale copy of the old file in your tree...

-Kees

-- 
Kees Cook
Pixel Security


Re: [PATCH 09/58] net/irda: Convert timers to use timer_setup()

2018-03-02 Thread Marcelo Ricardo Leitner
On Mon, Oct 16, 2017 at 05:28:53PM -0700, 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: Samuel Ortiz 
> Cc: "David S. Miller" 
> Cc: Stephen Hemminger 
> Cc: Johannes Berg 
> Cc: Ingo Molnar 
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook 
> ---
>  .../staging/irda/include/net/irda/irlmp_event.h|  6 +--
>  drivers/staging/irda/include/net/irda/timer.h  | 11 ++---
>  drivers/staging/irda/net/af_irda.c |  7 ++-
>  drivers/staging/irda/net/ircomm/ircomm_tty.c   |  2 +-
>  .../staging/irda/net/ircomm/ircomm_tty_attach.c|  8 ++--
>  drivers/staging/irda/net/irda_device.c | 10 ++--
>  drivers/staging/irda/net/iriap.c   | 10 ++--
>  drivers/staging/irda/net/irlan/irlan_client.c  |  6 +--
>  drivers/staging/irda/net/irlan/irlan_common.c  |  4 +-
>  drivers/staging/irda/net/irlap.c   | 16 +++
>  drivers/staging/irda/net/irlap_event.c |  6 +--
>  drivers/staging/irda/net/irlmp.c   |  8 ++--
>  drivers/staging/irda/net/irlmp_event.c | 10 ++--
>  drivers/staging/irda/net/irttp.c   | 11 ++---
>  drivers/staging/irda/net/timer.c   | 54 
> +++---
>  15 files changed, 79 insertions(+), 90 deletions(-)
> 
> diff --git a/drivers/staging/irda/include/net/irda/irlmp_event.h 
> b/drivers/staging/irda/include/net/irda/irlmp_event.h
> index 9e4ec17a7449..a1a082fe384e 100644
> --- a/drivers/staging/irda/include/net/irda/irlmp_event.h
> +++ b/drivers/staging/irda/include/net/irda/irlmp_event.h
> @@ -82,9 +82,9 @@ typedef enum {
>  extern const char *const irlmp_state[];
>  extern const char *const irlsap_state[];
>  
> -void irlmp_watchdog_timer_expired(void *data);
> -void irlmp_discovery_timer_expired(void *data);
> -void irlmp_idle_timer_expired(void *data);
> +void irlmp_watchdog_timer_expired(struct timer_list *t);
> +void irlmp_discovery_timer_expired(struct timer_list *t);
> +void irlmp_idle_timer_expired(struct timer_list *t);
>  
>  void irlmp_do_lap_event(struct lap_cb *self, IRLMP_EVENT event, 
>   struct sk_buff *skb);
> diff --git a/drivers/staging/irda/include/net/irda/timer.h 
> b/drivers/staging/irda/include/net/irda/timer.h
> index d784f242cf7b..a6635f0afae9 100644
> --- a/drivers/staging/irda/include/net/irda/timer.h
> +++ b/drivers/staging/irda/include/net/irda/timer.h
> @@ -72,14 +72,11 @@ struct lap_cb;
>  
>  #define WATCHDOG_TIMEOUT(20*HZ)   /* 20 sec */
>  
> -typedef void (*TIMER_CALLBACK)(void *);
> -
> -static inline void irda_start_timer(struct timer_list *ptimer, int timeout, 
> - void* data, TIMER_CALLBACK callback)
> +static inline void irda_start_timer(struct timer_list *ptimer, int timeout,
> + void (*callback)(struct timer_list *))
>  {
> - ptimer->function = (void (*)(unsigned long)) callback;
> - ptimer->data = (unsigned long) data;
> - 
> + ptimer->function = (TIMER_FUNC_TYPE) callback;
> +
>   /* Set new value for timer (update or add timer).
>* We use mod_timer() because it's more efficient and also
>* safer with respect to race conditions - Jean II */
> diff --git a/drivers/staging/irda/net/af_irda.c 
> b/drivers/staging/irda/net/af_irda.c
> index 23fa7c8b09a5..b82a47b9ef0b 100644
> --- a/drivers/staging/irda/net/af_irda.c
> +++ b/drivers/staging/irda/net/af_irda.c
> @@ -429,11 +429,11 @@ static void 
> irda_selective_discovery_indication(discinfo_t *discovery,
>   * We were waiting for a node to be discovered, but nothing has come up
>   * so far. Wake up the user and tell him that we failed...
>   */
> -static void irda_discovery_timeout(u_long priv)
> +static void irda_discovery_timeout(struct timer_list *t)
>  {
>   struct irda_sock *self;
>  
> - self = (struct irda_sock *) priv;
> + self = from_timer(self, t, watchdog);
>   BUG_ON(self == NULL);
>  
>   /* Nothing for the caller */
> @@ -2505,8 +2505,7 @@ static int irda_getsockopt(struct socket *sock, int 
> level, int optname,
>  
>   /* Set watchdog timer to expire in  ms. */
>   self->errno = 0;
> - setup_timer(>watchdog, irda_discovery_timeout,
> - (unsigned long)self);
> + timer_setup(>watchdog, irda_discovery_timeout, 0);
>   mod_timer(>watchdog,
> jiffies + msecs_to_jiffies(val));
>  
> diff --git a/drivers/staging/irda/net/ircomm/ircomm_tty.c 
> b/drivers/staging/irda/net/ircomm/ircomm_tty.c
> index ec157c3419b5..473abfaffe7b