Re: [PATCH 1/1] driver:garmin gps: use setup_timer

From: Kees Cook
Date: Mon Oct 09 2017 - 12:34:10 EST


On Mon, Oct 9, 2017 at 6:59 AM, Johan Hovold <johan@xxxxxxxxxx> wrote:
> On Thu, Sep 21, 2017 at 04:54:24PM +0530, Allen Pais wrote:
>> Use setup_timer function instead of initializing timer with the
>> function and data fields.
>
> Why the odd indentation here?
>
>> Signed-off-by: Allen Pais <allen.lkml@xxxxxxxxx>
>> ---
>> drivers/usb/serial/garmin_gps.c | 5 ++---
>> 1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c
>> index b2f2e87..2dbc1bed 100644
>> --- a/drivers/usb/serial/garmin_gps.c
>> +++ b/drivers/usb/serial/garmin_gps.c
>> @@ -1391,12 +1391,11 @@ static int garmin_port_probe(struct usb_serial_port *port)
>> if (!garmin_data_p)
>> return -ENOMEM;
>>
>> - init_timer(&garmin_data_p->timer);
>> + setup_timer(&garmin_data_p->timer, timeout_handler,
>> + (unsigned long)garmin_data_p);
>> spin_lock_init(&garmin_data_p->lock);
>> INIT_LIST_HEAD(&garmin_data_p->pktlist);
>> /* garmin_data_p->timer.expires = jiffies + session_timeout; */
>> - garmin_data_p->timer.data = (unsigned long)garmin_data_p;
>> - garmin_data_p->timer.function = timeout_handler;
>> garmin_data_p->port = port;
>> garmin_data_p->state = 0;
>> garmin_data_p->flags = 0;
>
> Kees submitted the exact same change the day before you as part of a
> larger patch resulting from running coccinelle and replacing all
> open-coded versions of setup_timer in go, something which seems
> preferable.
>
> Not sure who is expected to pick that patch up, but I'll hold off on
> this one for a while still waiting to see what happens to Kees's series.

Hi, actually, "setup_timer" is the old api ("init_timer" is the
ancient api), "timer_setup" (to match hrtimer_setup) is the current
future approach here...

-Kees

--
Kees Cook
Pixel Security