On Wed, Oct 25, 2017 at 2:41 PM, Jason A. Donenfeld <Jason@xxxxxxxxx> wrote: > On Wed, Oct 25, 2017 at 12:01 PM, Kees Cook <keescook@xxxxxxxxxxxx> wrote: >> sess->time2retain_timer.expires = >> (get_jiffies_64() + sess->sess_ops->DefaultTime2Retain * HZ); >> add_timer(&sess->time2retain_timer); >> cmd->dataout_timer.expires = (get_jiffies_64() + na->dataout_timeout * HZ); >> add_timer(&cmd->dataout_timer); >> np->np_login_timer.expires = (get_jiffies_64() + TA_LOGIN_TIMEOUT * HZ); >> add_timer(&np->np_login_timer); >> + timeout.timer.expires = (get_jiffies_64() + TA_LOGIN_TIMEOUT * HZ); >> + add_timer(&timeout.timer); >> conn->nopin_response_timer.expires = >> (get_jiffies_64() + na->nopin_response_timeout * HZ); >> add_timer(&conn->nopin_response_timer); >> conn->nopin_timer.expires = (get_jiffies_64() + na->nopin_timeout * HZ); >> add_timer(&conn->nopin_timer); >> conn->nopin_timer.expires = (get_jiffies_64() + na->nopin_timeout * HZ); >> add_timer(&conn->nopin_timer); > > I assume you're trying to keep these diffs as small as possible, but I > imagine at some point the above can also be combined into a single > mod_timer. Yeah, I've resisted making those changes for this set of conversions. > Also, all the goofiness with the flags stuff seems like an antique > replacement for timer_pending: > >> conn->nopin_response_timer_flags &= ~ISCSI_TF_STOP; >> conn->nopin_response_timer_flags |= ISCSI_TF_RUNNING; Those appear to be separate flags not from struct timer_list. However, maintainers: sorry to send this one -- it can't be merged yet, this uses timer_setup_on_stack() which is only in -next right now. If it looks okay, though, I can carry this in the timer tree. -Kees -- Kees Cook Pixel Security