)]}'
{
  "commit": "2d9db778ddca079228ef10e60bceea06b34b0eaa",
  "tree": "141de3fcc8b32a0d495b36f461b5875681f5011e",
  "parents": [
    "61deafa9ecf3f6d00c570774b0b38f439be543ac",
    "a3825a7691585485e960cec04ce6667d176b7c67"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue May 14 09:27:40 2024 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Tue May 14 09:27:40 2024 -0700"
  },
  "message": "Merge tag \u0027timers-core-2024-05-12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip\n\nPull timers and timekeeping updates from Thomas Gleixner:\n \"Core code:\n\n   - Make timekeeping and VDSO time readouts resilent against math\n     overflow:\n\n     In guest context the kernel is prone to math overflow when the host\n     defers the timer interrupt due to overload, malfunction or malice.\n\n     This can be mitigated by checking the clocksource delta for the\n     maximum deferrement which is readily available. If that value is\n     exceeded then the code uses a slowpath function which can handle\n     the multiplication overflow.\n\n     This functionality is enabled unconditionally in the kernel, but\n     made conditional in the VDSO code. The latter is conditional\n     because it allows architectures to optimize the check so it is not\n     causing performance regressions.\n\n     On X86 this is achieved by reworking the existing check for\n     negative TSC deltas as a negative delta obviously exceeds the\n     maximum deferrement when it is evaluated as an unsigned value. That\n     avoids two conditionals in the hotpath and allows to hide both the\n     negative delta and the large delta handling in the same slow path.\n\n   - Add an initial minimal ktime_t abstraction for Rust\n\n   - The usual boring cleanups and enhancements\n\n  Drivers:\n\n   - Boring updates to device trees and trivial enhancements in various\n     drivers\"\n\n* tag \u0027timers-core-2024-05-12\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (33 commits)\n  clocksource/drivers/arm_arch_timer: Mark hisi_161010101_oem_info const\n  clocksource/drivers/timer-ti-dm: Remove an unused field in struct dmtimer\n  clocksource/drivers/renesas-ostm: Avoid reprobe after successful early probe\n  clocksource/drivers/renesas-ostm: Allow OSTM driver to reprobe for RZ/V2H(P) SoC\n  dt-bindings: timer: renesas: ostm: Document Renesas RZ/V2H(P) SoC\n  rust: time: doc: Add missing C header links\n  clocksource: Make the int help prompt unit readable in ncurses\n  hrtimer: Rename __hrtimer_hres_active() to hrtimer_hres_active()\n  timerqueue: Remove never used function timerqueue_node_expires()\n  rust: time: Add Ktime\n  vdso: Fix powerpc build U64_MAX undeclared error\n  clockevents: Convert s[n]printf() to sysfs_emit()\n  clocksource: Convert s[n]printf() to sysfs_emit()\n  clocksource: Make watchdog and suspend-timing multiplication overflow safe\n  timekeeping: Let timekeeping_cycles_to_ns() handle both under and overflow\n  timekeeping: Make delta calculation overflow safe\n  timekeeping: Prepare timekeeping_cycles_to_ns() for overflow safety\n  timekeeping: Fold in timekeeping_delta_to_ns()\n  timekeeping: Consolidate timekeeping helpers\n  timekeeping: Refactor timekeeping helpers\n  ...\n",
  "tree_diff": []
}
