git/list[1] front-page[2] threads[3] people[4] search[5] about
wed 2026-10-07 18:05 UTC

[PATCH v15 02/13] fsmonitor: fix khash memory leak in do_handle_client

From
PGPaul Tarjan via GitGitGadget <gitgitgadget@gmail.com>
Date
Apr 15, 2026, 13:27 UTC
Message-ID
<1283d259684c0ce1484d533d78076d059106d84d.1776259657.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.2147.v15.git.git.1776259657.gitgitgadget@gmail.com>
From: Paul Tarjan <github@paulisageek.com>

The `shown` kh_str_t was freed with kh_release_str() at a point in the code only reachable in the non-trivial response path. When the client receives a trivial response, the code jumps to the `cleanup` label, skipping the kh_release_str() call entirely and leaking the hash table.

Fix this by initializing `shown` to NULL and moving the cleanup to the `cleanup` label using kh_destroy_str(), which is safe to call on NULL. This ensures the hash table is freed regardless of which code path is taken.

Signed-off-by: Paul Tarjan <github@paulisageek.com>
---
 builtin/fsmonitor--daemon.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/builtin/fsmonitor--daemon.c b/builtin/fsmonitor--daemon.c
index 242c594646..bc4571938c 100644
--- a/builtin/fsmonitor--daemon.c
+++ b/builtin/fsmonitor--daemon.c
@@ -671,7 +671,7 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
 	const struct fsmonitor_batch *batch;
 	struct fsmonitor_batch *remainder = NULL;
 	intmax_t count = 0, duplicates = 0;
-	kh_str_t *shown;
+	kh_str_t *shown = NULL;
 	int hash_ret;
 	int do_trivial = 0;
 	int do_flush = 0;
@@ -909,8 +909,6 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
 		total_response_len += payload.len;
 	}
 
-	kh_release_str(shown);
-
 	pthread_mutex_lock(&state->main_lock);
 
 	if (token_data->client_ref_count > 0)
@@ -954,6 +952,7 @@ static int do_handle_client(struct fsmonitor_daemon_state *state,
 	trace2_data_intmax("fsmonitor", the_repository, "response/count/duplicates", duplicates);
 
 cleanup:
+	kh_destroy_str(shown);
 	strbuf_release(&response_token);
 	strbuf_release(&requested_token_id);
 	strbuf_release(&payload);
-- 
gitgitgadget
Previous: Paul Tarjan via GitGitGadgetNext: Paul Tarjan via GitGitGadget
Message 194 of 211 in “fsmonitor: implement filesystem change listener for Linux”
  1. fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Dec 30, 2025
  2. Junio C HamanoDec 30, 2025
  3. fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Dec 30, 2025
  4. fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Dec 30, 2025
  5. Junio C HamanoDec 30, 2025
  6. fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Dec 31, 2025
  7. Patrick SteinhardtJan 5, 2026
  8. Junio C HamanoFeb 20, 2026
  9. Paul TarjanFeb 21, 2026
  10. Junio C HamanoFeb 21, 2026
  11. Patrick SteinhardtFeb 23, 2026
  12. Junio C HamanoFeb 23, 2026
  13. Patrick SteinhardtFeb 23, 2026
  14. fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Feb 24, 2026
  15. Paul TarjanFeb 24, 2026
  16. Patrick SteinhardtFeb 24, 2026
  17. Patrick SteinhardtFeb 24, 2026
  18. 00/10 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Feb 25, 2026
  19. 01/10 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Feb 25, 2026
  20. 02/10 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Feb 25, 2026
  21. 03/10 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Feb 25, 2026
  22. 04/10 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Feb 25, 2026
  23. 05/10 fsmonitor: deduplicate IPC path logic for Unix platformsPaul Tarjan via GitGitGadget, Feb 25, 2026
  24. 06/10 fsmonitor: deduplicate settings logic for Unix platformsPaul Tarjan via GitGitGadget, Feb 25, 2026
  25. 07/10 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Feb 25, 2026
  26. 08/10 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Feb 25, 2026
  27. 09/10 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Feb 25, 2026
  28. 10/10 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Feb 25, 2026
  29. Junio C HamanoFeb 25, 2026
  30. Junio C HamanoFeb 25, 2026
  31. Junio C HamanoFeb 25, 2026
  32. Junio C HamanoFeb 25, 2026
  33. Junio C HamanoFeb 25, 2026
  34. Junio C HamanoFeb 25, 2026
  35. 00/10 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Feb 26, 2026
  36. 01/10 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Feb 26, 2026
  37. 02/10 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Feb 26, 2026
  38. 03/10 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Feb 26, 2026
  39. 04/10 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Feb 26, 2026
  40. 05/10 fsmonitor: deduplicate IPC path logic for Unix platformsPaul Tarjan via GitGitGadget, Feb 26, 2026
  41. 06/10 fsmonitor: deduplicate settings logic for Unix platformsPaul Tarjan via GitGitGadget, Feb 26, 2026
  42. 07/10 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Feb 26, 2026
  43. 08/10 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Feb 26, 2026
  44. 09/10 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Feb 26, 2026
  45. 10/10 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Feb 26, 2026
  46. Junio C HamanoFeb 26, 2026
  47. Paul TarjanFeb 27, 2026
  48. Paul TarjanFeb 27, 2026
  49. Paul TarjanFeb 27, 2026
  50. Paul TarjanFeb 27, 2026
  51. Junio C HamanoFeb 27, 2026
  52. Paul TarjanFeb 28, 2026
  53. Patrick SteinhardtMar 4, 2026
  54. Patrick SteinhardtMar 4, 2026
  55. Patrick SteinhardtMar 4, 2026
  56. Patrick SteinhardtMar 4, 2026
  57. Patrick SteinhardtMar 4, 2026
  58. Patrick SteinhardtMar 4, 2026
  59. Patrick SteinhardtMar 4, 2026
  60. Patrick SteinhardtMar 4, 2026
  61. Patrick SteinhardtMar 4, 2026
  62. 01/12 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Mar 4, 2026
  63. 00/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 4, 2026
  64. 02/12 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Mar 4, 2026
  65. 03/12 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Mar 4, 2026
  66. 04/12 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Mar 4, 2026
  67. 05/12 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Mar 4, 2026
  68. 06/12 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Mar 4, 2026
  69. 07/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 4, 2026
  70. 08/12 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Mar 4, 2026
  71. 09/12 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Mar 4, 2026
  72. 10/12 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Mar 4, 2026
  73. 11/12 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Mar 4, 2026
  74. 12/12 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Mar 4, 2026
  75. Paul TarjanMar 4, 2026
  76. Paul TarjanMar 4, 2026
  77. Paul TarjanMar 4, 2026
  78. Paul TarjanMar 4, 2026
  79. Paul TarjanMar 4, 2026
  80. Paul TarjanMar 4, 2026
  81. Paul TarjanMar 4, 2026
  82. Paul TarjanMar 4, 2026
  83. Paul TarjanMar 4, 2026
  84. Junio C HamanoMar 4, 2026
  85. Paul TarjanMar 5, 2026
  86. 00/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  87. 01/12 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Mar 5, 2026
  88. 02/12 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Mar 5, 2026
  89. 03/12 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Mar 5, 2026
  90. 04/12 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Mar 5, 2026
  91. 05/12 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Mar 5, 2026
  92. 06/12 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Mar 5, 2026
  93. 07/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  94. 08/12 run-command: add pre-exec callback for child processesPaul Tarjan via GitGitGadget, Mar 5, 2026
  95. 09/12 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Mar 5, 2026
  96. 10/12 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Mar 5, 2026
  97. 11/12 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  98. 12/12 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Mar 5, 2026
  99. 00/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  100. 01/12 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Mar 5, 2026
  101. 02/12 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Mar 5, 2026
  102. 03/12 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Mar 5, 2026
  103. 04/12 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Mar 5, 2026
  104. 05/12 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Mar 5, 2026
  105. 06/12 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Mar 5, 2026
  106. 07/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  107. 08/12 run-command: add pre-exec callback for child processesPaul Tarjan via GitGitGadget, Mar 5, 2026
  108. 09/12 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Mar 5, 2026
  109. 10/12 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Mar 5, 2026
  110. 11/12 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  111. 12/12 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Mar 5, 2026
  112. Junio C HamanoMar 5, 2026
  113. Paul TarjanMar 5, 2026
  114. 00/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  115. 01/12 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Mar 5, 2026
  116. 02/12 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Mar 5, 2026
  117. 03/12 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Mar 5, 2026
  118. 04/12 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Mar 5, 2026
  119. 05/12 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Mar 5, 2026
  120. 06/12 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Mar 5, 2026
  121. 07/12 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  122. 08/12 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Mar 5, 2026
  123. 09/12 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Mar 5, 2026
  124. 10/12 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Mar 5, 2026
  125. 11/12 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Mar 5, 2026
  126. 12/12 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Mar 5, 2026
  127. Patrick SteinhardtMar 5, 2026
  128. Paul TarjanMar 5, 2026
  129. Junio C HamanoMar 25, 2026
  130. Paul TarjanMar 29, 2026
  131. Patrick SteinhardtMar 30, 2026
  132. Junio C HamanoMar 31, 2026
  133. Paul TarjanMar 31, 2026
  134. 00/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 31, 2026
  135. 01/13 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Mar 31, 2026
  136. 02/13 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Mar 31, 2026
  137. 03/13 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Mar 31, 2026
  138. 04/13 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Mar 31, 2026
  139. 05/13 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Mar 31, 2026
  140. 06/13 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Mar 31, 2026
  141. 07/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Mar 31, 2026
  142. 08/13 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Mar 31, 2026
  143. 09/13 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Mar 31, 2026
  144. 10/13 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Mar 31, 2026
  145. 11/13 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Mar 31, 2026
  146. 12/13 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Mar 31, 2026
  147. 13/13 fsmonitor: fix split-index bitmap bounds in tweak_fsmonitor()Paul Tarjan via GitGitGadget, Mar 31, 2026
  148. Junio C HamanoMar 31, 2026
  149. Junio C HamanoMar 31, 2026
  150. Junio C HamanoMar 31, 2026
  151. Paul TarjanApr 1, 2026
  152. Johannes SchindelinApr 4, 2026
  153. Paul TarjanApr 5, 2026
  154. Johannes SchindelinApr 5, 2026
  155. Paul TarjanApr 5, 2026
  156. Junio C HamanoApr 6, 2026
  157. 00/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Apr 6, 2026
  158. 01/13 t9210: disable GIT_TEST_SPLIT_INDEX for scalar clone testsPaul Tarjan via GitGitGadget, Apr 6, 2026
  159. 02/13 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Apr 6, 2026
  160. 03/13 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Apr 6, 2026
  161. 04/13 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Apr 6, 2026
  162. 05/13 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Apr 6, 2026
  163. 06/13 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Apr 6, 2026
  164. 07/13 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Apr 6, 2026
  165. 08/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Apr 6, 2026
  166. 09/13 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Apr 6, 2026
  167. 10/13 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Apr 6, 2026
  168. 11/13 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Apr 6, 2026
  169. 12/13 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Apr 6, 2026
  170. 13/13 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Apr 6, 2026
  171. Junio C HamanoApr 7, 2026
  172. Junio C HamanoApr 7, 2026
  173. Paul TarjanApr 8, 2026
  174. 00/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Apr 9, 2026
  175. 01/13 t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone testsPaul Tarjan via GitGitGadget, Apr 9, 2026
  176. 02/13 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Apr 9, 2026
  177. 03/13 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Apr 9, 2026
  178. 04/13 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Apr 9, 2026
  179. 05/13 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Apr 9, 2026
  180. 06/13 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Apr 9, 2026
  181. 07/13 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Apr 9, 2026
  182. 08/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Apr 9, 2026
  183. 09/13 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Apr 9, 2026
  184. 10/13 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Apr 9, 2026
  185. 11/13 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Apr 9, 2026
  186. 12/13 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Apr 9, 2026
  187. 13/13 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Apr 9, 2026
  188. Junio C HamanoApr 9, 2026
  189. SZEDER GáborApr 14, 2026
  190. Junio C HamanoApr 14, 2026
  191. Jeff KingApr 14, 2026
  192. 00/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Apr 15, 2026
  193. 01/13 t9210, t9211: disable GIT_TEST_SPLIT_INDEX for scalar clone testsPaul Tarjan via GitGitGadget, Apr 15, 2026
  194. 02/13 fsmonitor: fix khash memory leak in do_handle_clientPaul Tarjan via GitGitGadget, Apr 15, 2026
  195. 03/13 fsmonitor: fix hashmap memory leak in fsmonitor_run_daemonPaul Tarjan via GitGitGadget, Apr 15, 2026
  196. 04/13 compat/win32: add pthread_cond_timedwaitPaul Tarjan via GitGitGadget, Apr 15, 2026
  197. 05/13 fsmonitor: use pthread_cond_timedwait for cookie waitPaul Tarjan via GitGitGadget, Apr 15, 2026
  198. 06/13 fsmonitor: rename fsm-ipc-darwin.c to fsm-ipc-unix.cPaul Tarjan via GitGitGadget, Apr 15, 2026
  199. 07/13 fsmonitor: rename fsm-settings-darwin.c to fsm-settings-unix.cPaul Tarjan via GitGitGadget, Apr 15, 2026
  200. 08/13 fsmonitor: implement filesystem change listener for LinuxPaul Tarjan via GitGitGadget, Apr 15, 2026
  201. 09/13 run-command: add close_fd_above_stderr optionPaul Tarjan via GitGitGadget, Apr 15, 2026
  202. 10/13 fsmonitor: close inherited file descriptors and detach in daemonPaul Tarjan via GitGitGadget, Apr 15, 2026
  203. 11/13 fsmonitor: add timeout to daemon stop commandPaul Tarjan via GitGitGadget, Apr 15, 2026
  204. 12/13 fsmonitor: add tests for LinuxPaul Tarjan via GitGitGadget, Apr 15, 2026
  205. 13/13 fsmonitor: convert shown khash to strset in do_handle_clientPaul Tarjan via GitGitGadget, Apr 15, 2026
  206. Ben KnobleApr 15, 2026
  207. Junio C HamanoApr 15, 2026
  208. Junio C HamanoApr 15, 2026
  209. Ben KnobleApr 15, 2026
  210. Junio C HamanoMay 12, 2026
  211. D. Ben KnobleMay 12, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.