Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
You need to sign in or sign up before continuing.
  • linux
  • kernel
  • time
  • timer.c
Find file BlameHistoryPermalink
  • Frederic Weisbecker's avatar
    timer: Fix wheel index calculation on last level · e2a71bde
    Frederic Weisbecker authored Jul 17, 2020
    When an expiration delta falls into the last level of the wheel, that delta
    has be compared against the maximum possible delay and reduced to fit in if
    necessary.
    
    However instead of comparing the delta against the maximum, the code
    compares the actual expiry against the maximum. Then instead of fixing the
    delta to fit in, it sets the maximum delta as the expiry value.
    
    This can result in various undesired outcomes, the worst possible one
    being a timer expiring 15 days ahead to fire immediately.
    
    Fixes: 500462a9
    
     ("timers: Switch to a non-cascading wheel")
    Signed-off-by: default avatarFrederic Weisbecker <frederic@kernel.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/20200717140551.29076-2-frederic@kernel.org
    e2a71bde
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7