Archive-only list for patches
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 026/222] cleanup: Add conditional guard support
Date: Mon,  6 Jan 2025 16:13:50 +0100	[thread overview]
Message-ID: <20250106151151.592002196@linuxfoundation.org> (raw)
In-Reply-To: <20250106151150.585603565@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Peter Zijlstra <peterz@infradead.org>

[ Upstream commit e4ab322fbaaaf84b23d6cb0e3317a7f68baf36dc ]

Adds:

 - DEFINE_GUARD_COND() / DEFINE_LOCK_GUARD_1_COND() to extend existing
   guards with conditional lock primitives, eg. mutex_trylock(),
   mutex_lock_interruptible().

   nb. both primitives allow NULL 'locks', which cause the lock to
       fail (obviously).

 - extends scoped_guard() to not take the body when the the
   conditional guard 'fails'. eg.

     scoped_guard (mutex_intr, &task->signal_cred_guard_mutex) {
	...
     }

   will only execute the body when the mutex is held.

 - provides scoped_cond_guard(name, fail, args...); which extends
   scoped_guard() to do fail when the lock-acquire fails.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20231102110706.460851167%40infradead.org
Stable-dep-of: fcc22ac5baf0 ("cleanup: Adjust scoped_guard() macros to avoid potential warning")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/linux/cleanup.h  | 52 +++++++++++++++++++++++++++++++++++++---
 include/linux/mutex.h    |  3 ++-
 include/linux/rwsem.h    |  8 +++----
 include/linux/spinlock.h | 15 ++++++++++++
 4 files changed, 70 insertions(+), 8 deletions(-)

diff --git a/include/linux/cleanup.h b/include/linux/cleanup.h
index 53f1a7a932b0..6d7bfa899df0 100644
--- a/include/linux/cleanup.h
+++ b/include/linux/cleanup.h
@@ -92,25 +92,55 @@ static inline class_##_name##_t class_##_name##ext##_constructor(_init_args) \
  *	trivial wrapper around DEFINE_CLASS() above specifically
  *	for locks.
  *
+ * DEFINE_GUARD_COND(name, ext, condlock)
+ *	wrapper around EXTEND_CLASS above to add conditional lock
+ *	variants to a base class, eg. mutex_trylock() or
+ *	mutex_lock_interruptible().
+ *
  * guard(name):
- *	an anonymous instance of the (guard) class
+ *	an anonymous instance of the (guard) class, not recommended for
+ *	conditional locks.
  *
  * scoped_guard (name, args...) { }:
  *	similar to CLASS(name, scope)(args), except the variable (with the
  *	explicit name 'scope') is declard in a for-loop such that its scope is
  *	bound to the next (compound) statement.
  *
+ *	for conditional locks the loop body is skipped when the lock is not
+ *	acquired.
+ *
+ * scoped_cond_guard (name, fail, args...) { }:
+ *      similar to scoped_guard(), except it does fail when the lock
+ *      acquire fails.
+ *
  */
 
 #define DEFINE_GUARD(_name, _type, _lock, _unlock) \
-	DEFINE_CLASS(_name, _type, _unlock, ({ _lock; _T; }), _type _T)
+	DEFINE_CLASS(_name, _type, if (_T) { _unlock; }, ({ _lock; _T; }), _type _T); \
+	static inline void * class_##_name##_lock_ptr(class_##_name##_t *_T) \
+	{ return *_T; }
+
+#define DEFINE_GUARD_COND(_name, _ext, _condlock) \
+	EXTEND_CLASS(_name, _ext, \
+		     ({ void *_t = _T; if (_T && !(_condlock)) _t = NULL; _t; }), \
+		     class_##_name##_t _T) \
+	static inline void * class_##_name##_ext##_lock_ptr(class_##_name##_t *_T) \
+	{ return class_##_name##_lock_ptr(_T); }
 
 #define guard(_name) \
 	CLASS(_name, __UNIQUE_ID(guard))
 
+#define __guard_ptr(_name) class_##_name##_lock_ptr
+
 #define scoped_guard(_name, args...)					\
 	for (CLASS(_name, scope)(args),					\
-	     *done = NULL; !done; done = (void *)1)
+	     *done = NULL; __guard_ptr(_name)(&scope) && !done; done = (void *)1)
+
+#define scoped_cond_guard(_name, _fail, args...) \
+	for (CLASS(_name, scope)(args), \
+	     *done = NULL; !done; done = (void *)1) \
+		if (!__guard_ptr(_name)(&scope)) _fail; \
+		else
 
 /*
  * Additional helper macros for generating lock guards with types, either for
@@ -119,6 +149,7 @@ static inline class_##_name##_t class_##_name##ext##_constructor(_init_args) \
  *
  * DEFINE_LOCK_GUARD_0(name, lock, unlock, ...)
  * DEFINE_LOCK_GUARD_1(name, type, lock, unlock, ...)
+ * DEFINE_LOCK_GUARD_1_COND(name, ext, condlock)
  *
  * will result in the following type:
  *
@@ -140,6 +171,11 @@ typedef struct {							\
 static inline void class_##_name##_destructor(class_##_name##_t *_T)	\
 {									\
 	if (_T->lock) { _unlock; }					\
+}									\
+									\
+static inline void *class_##_name##_lock_ptr(class_##_name##_t *_T)	\
+{									\
+	return _T->lock;						\
 }
 
 
@@ -168,4 +204,14 @@ __DEFINE_LOCK_GUARD_1(_name, _type, _lock)
 __DEFINE_UNLOCK_GUARD(_name, void, _unlock, __VA_ARGS__)		\
 __DEFINE_LOCK_GUARD_0(_name, _lock)
 
+#define DEFINE_LOCK_GUARD_1_COND(_name, _ext, _condlock)		\
+	EXTEND_CLASS(_name, _ext,					\
+		     ({ class_##_name##_t _t = { .lock = l }, *_T = &_t;\
+		        if (_T->lock && !(_condlock)) _T->lock = NULL;	\
+			_t; }),						\
+		     typeof_member(class_##_name##_t, lock) l)		\
+	static inline void * class_##_name##_ext##_lock_ptr(class_##_name##_t *_T) \
+	{ return class_##_name##_lock_ptr(_T); }
+
+
 #endif /* __LINUX_GUARDS_H */
diff --git a/include/linux/mutex.h b/include/linux/mutex.h
index 5b5630e58407..e1c323c7d75b 100644
--- a/include/linux/mutex.h
+++ b/include/linux/mutex.h
@@ -248,6 +248,7 @@ extern void mutex_unlock(struct mutex *lock);
 extern int atomic_dec_and_mutex_lock(atomic_t *cnt, struct mutex *lock);
 
 DEFINE_GUARD(mutex, struct mutex *, mutex_lock(_T), mutex_unlock(_T))
-DEFINE_FREE(mutex, struct mutex *, if (_T) mutex_unlock(_T))
+DEFINE_GUARD_COND(mutex, _try, mutex_trylock(_T))
+DEFINE_GUARD_COND(mutex, _intr, mutex_lock_interruptible(_T) == 0)
 
 #endif /* __LINUX_MUTEX_H */
diff --git a/include/linux/rwsem.h b/include/linux/rwsem.h
index 1dd530ce8b45..9c29689ff505 100644
--- a/include/linux/rwsem.h
+++ b/include/linux/rwsem.h
@@ -203,11 +203,11 @@ extern void up_read(struct rw_semaphore *sem);
 extern void up_write(struct rw_semaphore *sem);
 
 DEFINE_GUARD(rwsem_read, struct rw_semaphore *, down_read(_T), up_read(_T))
-DEFINE_GUARD(rwsem_write, struct rw_semaphore *, down_write(_T), up_write(_T))
-
-DEFINE_FREE(up_read, struct rw_semaphore *, if (_T) up_read(_T))
-DEFINE_FREE(up_write, struct rw_semaphore *, if (_T) up_write(_T))
+DEFINE_GUARD_COND(rwsem_read, _try, down_read_trylock(_T))
+DEFINE_GUARD_COND(rwsem_read, _intr, down_read_interruptible(_T) == 0)
 
+DEFINE_GUARD(rwsem_write, struct rw_semaphore *, down_write(_T), up_write(_T))
+DEFINE_GUARD_COND(rwsem_write, _try, down_write_trylock(_T))
 
 /*
  * downgrade write lock to read lock
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index 31d3d747a9db..ceb56b39c70f 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -507,6 +507,8 @@ DEFINE_LOCK_GUARD_1(raw_spinlock, raw_spinlock_t,
 		    raw_spin_lock(_T->lock),
 		    raw_spin_unlock(_T->lock))
 
+DEFINE_LOCK_GUARD_1_COND(raw_spinlock, _try, raw_spin_trylock(_T->lock))
+
 DEFINE_LOCK_GUARD_1(raw_spinlock_nested, raw_spinlock_t,
 		    raw_spin_lock_nested(_T->lock, SINGLE_DEPTH_NESTING),
 		    raw_spin_unlock(_T->lock))
@@ -515,23 +517,36 @@ DEFINE_LOCK_GUARD_1(raw_spinlock_irq, raw_spinlock_t,
 		    raw_spin_lock_irq(_T->lock),
 		    raw_spin_unlock_irq(_T->lock))
 
+DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irq, _try, raw_spin_trylock_irq(_T->lock))
+
 DEFINE_LOCK_GUARD_1(raw_spinlock_irqsave, raw_spinlock_t,
 		    raw_spin_lock_irqsave(_T->lock, _T->flags),
 		    raw_spin_unlock_irqrestore(_T->lock, _T->flags),
 		    unsigned long flags)
 
+DEFINE_LOCK_GUARD_1_COND(raw_spinlock_irqsave, _try,
+			 raw_spin_trylock_irqsave(_T->lock, _T->flags))
+
 DEFINE_LOCK_GUARD_1(spinlock, spinlock_t,
 		    spin_lock(_T->lock),
 		    spin_unlock(_T->lock))
 
+DEFINE_LOCK_GUARD_1_COND(spinlock, _try, spin_trylock(_T->lock))
+
 DEFINE_LOCK_GUARD_1(spinlock_irq, spinlock_t,
 		    spin_lock_irq(_T->lock),
 		    spin_unlock_irq(_T->lock))
 
+DEFINE_LOCK_GUARD_1_COND(spinlock_irq, _try,
+			 spin_trylock_irq(_T->lock))
+
 DEFINE_LOCK_GUARD_1(spinlock_irqsave, spinlock_t,
 		    spin_lock_irqsave(_T->lock, _T->flags),
 		    spin_unlock_irqrestore(_T->lock, _T->flags),
 		    unsigned long flags)
 
+DEFINE_LOCK_GUARD_1_COND(spinlock_irqsave, _try,
+			 spin_trylock_irqsave(_T->lock, _T->flags))
+
 #undef __LINUX_INSIDE_SPINLOCK_H
 #endif /* __LINUX_SPINLOCK_H */
-- 
2.39.5




  parent reply	other threads:[~2025-01-06 15:25 UTC|newest]

Thread overview: 257+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-06 15:13 [PATCH 6.6 000/222] 6.6.70-rc1 review Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 001/222] drm/amd/display: Fix DSC-re-computing Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 002/222] drm/amd/display: Fix incorrect DSC recompute trigger Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 003/222] docs: media: update location of the media patches Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 004/222] x86/mm: Carve out INVLPG inline asm for use by others Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 005/222] smb/client: rename cifs_ntsd to smb_ntsd Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 006/222] smb/client: rename cifs_sid to smb_sid Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 007/222] smb/client: rename cifs_acl to smb_acl Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 008/222] smb/client: rename cifs_ace to smb_ace Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 009/222] fs/smb/client: implement chmod() for SMB3 POSIX Extensions Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 010/222] smb: client: stop flooding dmesg in smb2_calc_signature() Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 011/222] smb: client: fix use-after-free of signing key Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 012/222] usb: dwc3: gadget: Add missing check for single port RAM in TxFIFO resizing logic Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 013/222] sched: Initialize idle tasks only once Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 014/222] drm/radeon: Delay Connector detecting when HPD singals is unstable Greg Kroah-Hartman
2025-01-08  0:00   ` Deucher, Alexander
2025-01-09 11:33     ` Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 015/222] Revert "drm/radeon: Delay Connector detecting when HPD singals is unstable" Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 016/222] rust: relax most deny-level lints to warnings Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 017/222] rust: allow `clippy::needless_lifetimes` Greg Kroah-Hartman
2025-01-06 19:41   ` Miguel Ojeda
2025-01-09 11:35     ` Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 018/222] NUMA: optimize detection of memory with no node id assigned by firmware Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 019/222] memblock: allow zero threshold in validate_numa_converage() Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 020/222] ext4: convert to new timestamp accessors Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 021/222] ext4: partial zero eof block on unaligned inode size extension Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 022/222] crypto: ecdsa - Convert byte arrays with key coordinates to digits Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 023/222] crypto: ecdsa - Rename keylen to bufsize where necessary Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 024/222] crypto: ecdsa - Use ecc_digits_from_bytes to convert signature Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 025/222] crypto: ecdsa - Avoid signed integer overflow on signature decoding Greg Kroah-Hartman
2025-01-06 15:13 ` Greg Kroah-Hartman [this message]
2025-01-06 15:13 ` [PATCH 6.6 027/222] cleanup: Adjust scoped_guard() macros to avoid potential warning Greg Kroah-Hartman
2025-01-07 10:01   ` Przemek Kitszel
2025-01-07 10:39     ` Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 028/222] media: uvcvideo: Force UVC version to 1.0a for 0408:4035 Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 029/222] media: uvcvideo: Force UVC version to 1.0a for 0408:4033 Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 030/222] wifi: mac80211: export ieee80211_purge_tx_queue() for drivers Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 031/222] wifi: rtw88: use ieee80211_purge_tx_queue() to purge TX skb Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 032/222] wifi: ath12k: Optimize the mac80211 hw data access Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 033/222] wifi: mac80211: Add non-atomic station iterator Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 034/222] wifi: ath12k: fix atomic calls in ath12k_mac_op_set_bitrate_mask() Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 035/222] wifi: ath10k: Update Qualcomm Innovation Center, Inc. copyrights Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 036/222] wifi: ath10k: avoid NULL pointer error during sdio remove Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 037/222] i2c: i801: Add support for Intel Arrow Lake-H Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 038/222] i2c: i801: Add support for Intel Panther Lake Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 039/222] Bluetooth: hci_conn: Reduce hci_conn_drop() calls in two functions Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 040/222] Bluetooth: Add support ITTIM PE50-M75C Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 041/222] Bluetooth: btusb: Add new VID/PID 13d3/3602 for MT7925 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 042/222] Bluetooth: btusb: Add USB HW IDs for MT7921/MT7922/MT7925 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 043/222] Bluetooth: btusb: Add new VID/PID 0489/e111 for MT7925 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 044/222] scsi: hisi_sas: Directly call register snapshot instead of using workqueue Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 045/222] scsi: hisi_sas: Allocate DFX memory during dump trigger Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 046/222] scsi: hisi_sas: Create all dump files during debugfs initialization Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 047/222] clk: qcom: clk-alpha-pll: Add support for zonda ole pll configure Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 048/222] clk: qcom: clk-alpha-pll: Add NSS HUAYRA ALPHA PLL support for ipq9574 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 049/222] mailbox: pcc: Add support for platform notification handling Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 050/222] mailbox: pcc: Support shared interrupt for multiple subspaces Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 051/222] ACPI: PCC: Add PCC shared memory region command and status bitfields Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 052/222] mailbox: pcc: Check before sending MCTP PCC response ACK Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 053/222] remoteproc: qcom: pas: Add sc7180 adsp Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 054/222] remoteproc: qcom: pas: Add support for SA8775p ADSP, CDSP and GPDSP Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 055/222] remoteproc: qcom: pas: enable SAR2130P audio DSP support Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 056/222] fs/ntfs3: Implement fallocate for compressed files Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 057/222] fs/ntfs3: Fix warning in ni_fiemap Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 058/222] usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 059/222] usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 060/222] usb: chipidea: udc: limit usb request length to max 16KB Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 061/222] iio: adc: ad7192: Convert from of specific to fwnode property handling Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 062/222] iio: adc: ad7192: properly check spi_get_device_match_data() Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 063/222] usb: typec: ucsi: add callback for connector status updates Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 064/222] usb: typec: ucsi: glink: move GPIO reading into connector_status callback Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 065/222] usb: typec: ucsi: add update_connector callback Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 066/222] usb: typec: ucsi: glink: set orientation aware if supported Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 067/222] usb: typec: ucsi: glink: be more precise on orientation-aware ports Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 068/222] nvme: use helper nvme_ctrl_state in nvme_keep_alive_finish function Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 069/222] Revert "nvme: make keep-alive synchronous operation" Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 070/222] net/mlx5: unique names for per device caches Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 071/222] softirq: Allow raising SCHED_SOFTIRQ from SMP-call-function on RT kernel Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 072/222] net: renesas: rswitch: fix possible early skb release Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 073/222] xhci: retry Stop Endpoint on buggy NEC controllers Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 074/222] usb: xhci: Limit Stop Endpoint retries Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 075/222] xhci: Turn NEC specific quirk for handling Stop Endpoint errors generic Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 076/222] thunderbolt: Add support for Intel Lunar Lake Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 077/222] thunderbolt: Add support for Intel Panther Lake-M/P Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 078/222] thunderbolt: Dont display nvm_version unless upgrade supported Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 079/222] x86, crash: wrap crash dumping code into crash related ifdefs Greg Kroah-Hartman
2025-01-09 17:39   ` Ignat Korchagin
2025-01-09 18:07     ` Greg Kroah-Hartman
2025-01-09 18:08       ` Ignat Korchagin
2025-01-09 20:44         ` Ignat Korchagin
2025-01-10  9:58           ` Greg Kroah-Hartman
2025-01-10 10:05             ` Ignat Korchagin
2025-01-10 13:51               ` Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 080/222] x86/hyperv: Fix hv tsc page based sched_clock for hibernation Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 081/222] of: address: Remove duplicated functions Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 082/222] of: address: Store number of bus flag cells rather than bool Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 083/222] of: address: Preserve the flags portion on 1:1 dma-ranges mapping Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 084/222] watchdog: rzg2l_wdt: Remove reset de-assert from probe Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 085/222] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 086/222] watchdog: rzg2l_wdt: Power on the watchdog domain in the restart handler Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 087/222] udf_rename(): only access the child content on cross-directory rename Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 088/222] udf: Verify inode link counts before performing rename Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 089/222] ALSA: ump: Use guard() for locking Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 090/222] ALSA: ump: Dont open legacy substream for an inactive group Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 091/222] ALSA: ump: Indicate the inactive group in legacy substream names Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 092/222] ALSA: ump: Update legacy substream names upon FB info update Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 093/222] scsi: mpi3mr: Use ida to manage mrioc ID Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 094/222] scsi: mpi3mr: Start controller indexing from 0 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 095/222] ACPI/IORT: Add PMCG platform information for HiSilicon HIP10/11 Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 096/222] ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 097/222] x86/ptrace: Cleanup the definition of the pt_regs structure Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 098/222] x86/ptrace: Add FRED additional information to " Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 099/222] x86/fred: Clear WFE in missing-ENDBRANCH #CPs Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 100/222] btrfs: rename and export __btrfs_cow_block() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 101/222] btrfs: fix use-after-free when COWing tree bock and tracing is enabled Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 102/222] Bluetooth: btusb: add callback function in btusb suspend/resume Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 103/222] Bluetooth: btusb: mediatek: add callback function in btusb_disconnect Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 104/222] memblock: make memblock_set_node() also warn about use of MAX_NUMNODES Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 105/222] crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 106/222] cleanup: Remove address space of returned pointer Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 107/222] scsi: hisi_sas: Fix a deadlock issue related to automatic dump Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 108/222] usb: typec: ucsi: glink: fix off-by-one in connector_status Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 109/222] usb: xhci: Avoid queuing redundant Stop Endpoint commands Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 110/222] ALSA: ump: Shut up truncated string warning Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 111/222] platform/x86: mlx-platform: call pci_dev_put() to balance the refcount Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 112/222] f2fs: fix to wait dio completion Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 113/222] selinux: ignore unknown extended permissions Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 114/222] btrfs: fix use-after-free in btrfs_encoded_read_endio() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 115/222] mmc: sdhci-msm: fix crypto key eviction Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 116/222] tracing: Have process_string() also allow arrays Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 117/222] libceph: add doutc and *_client debug macros support Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 118/222] ceph: print cluster fsid and client global_id in all debug logs Greg Kroah-Hartman
2025-01-07 12:21   ` Ilya Dryomov
2025-01-07 13:04     ` Greg Kroah-Hartman
2025-01-07 15:52       ` Ilya Dryomov
2025-01-09 11:46         ` Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 119/222] ceph: give up on paths longer than PATH_MAX Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 120/222] net: mctp: handle skb cleanup on sock_queue failures Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 121/222] tracing: Move readpos from seq_buf to trace_seq Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 122/222] powerpc: Remove initialisation of readpos Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 123/222] seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 124/222] tracing: Handle old buffer mappings for event strings and functions Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 125/222] tracing: Fix trace_check_vprintf() when tp_printk is used Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 126/222] tracing: Check "%s" dereference via the field and not the TP_printk format Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 127/222] RDMA/bnxt_re: Allow MSN table capability check Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 128/222] RDMA/bnxt_re: Remove always true dattr validity check Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 129/222] RDMA/mlx5: Enforce same type port association for multiport RoCE Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 130/222] RDMA/bnxt_re: Avoid initializing the software queue for user queues Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 131/222] RDMA/bnxt_re: Avoid sending the modify QP workaround for latest adapters Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 132/222] nvme-pci: 512 byte aligned dma pool segment quirk Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 133/222] RDMA/bnxt_re: Fix the check for 9060 condition Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 134/222] RDMA/bnxt_re: Add check for path mtu in modify_qp Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 135/222] RDMA/bnxt_re: Fix reporting hw_ver in query_device Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 136/222] RDMA/bnxt_re: Fix max_qp_wrs reported Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 137/222] RDMA/bnxt_re: Add support for Variable WQE in Genp7 adapters Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 138/222] RDMA/bnxt_re: Disable use of reserved wqes Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 139/222] RDMA/bnxt_re: Add send queue size check for variable wqe Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 140/222] RDMA/bnxt_re: Fix MSN table size for variable wqe mode Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 141/222] RDMA/bnxt_re: Fix the locking while accessing the QP table Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 142/222] drm/bridge: adv7511_audio: Update Audio InfoFrame properly Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 143/222] net: dsa: microchip: Fix KSZ9477 set_ageing_time function Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 144/222] net: dsa: microchip: Fix LAN937X " Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 145/222] RDMA/hns: Refactor mtr find Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 146/222] RDMA/hns: Remove unused parameters and variables Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 147/222] RDMA/hns: Fix mapping error of zero-hop WQE buffer Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 148/222] RDMA/hns: Fix warning storm caused by invalid input in IO path Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 149/222] RDMA/hns: Fix missing flush CQE for DWQE Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 150/222] net: stmmac: dont create a MDIO bus if unnecessary Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 151/222] net: stmmac: restructure the error path of stmmac_probe_config_dt() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 152/222] net: fix memory leak in tcp_conn_request() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 153/222] ip_tunnel: annotate data-races around t->parms.link Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 154/222] ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_bind_dev() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 155/222] ipv4: ip_tunnel: Unmask upper DSCP bits in ip_md_tunnel_xmit() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 156/222] ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_xmit() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 157/222] net: Fix netns for ip_tunnel_init_flow() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 158/222] netrom: check buffer length before accessing it Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 159/222] net/mlx5: DR, select MSIX vector 0 for completion queue creation Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 160/222] net/mlx5e: macsec: Maintain TX SA from encoding_sa Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 161/222] net/mlx5e: Skip restore TC rules for vport rep without loaded flag Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 162/222] drm/i915/dg1: Fix power gate sequence Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 163/222] netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 164/222] net: llc: reset skb->transport_header Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 165/222] ALSA: usb-audio: US16x08: Initialize array before use Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 166/222] eth: bcmsysport: fix call balance of priv->clk handling routines Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 167/222] net: mv643xx_eth: fix an OF node reference leak Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 168/222] net: wwan: t7xx: Fix FSM command timeout issue Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 169/222] RDMA/rtrs: Ensure ib_sge list is accessible Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 170/222] net: sfc: Correct key_len for efx_tc_ct_zone_ht_params Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 171/222] net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 172/222] net: restrict SO_REUSEPORT to inet sockets Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 173/222] net: wwan: iosm: Properly check for valid exec stage in ipc_mmio_init() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 174/222] af_packet: fix vlan_get_tci() vs MSG_PEEK Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 175/222] af_packet: fix vlan_get_protocol_dgram() " Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 176/222] ila: serialize calls to nf_register_net_hooks() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 177/222] net: ti: icssg-prueth: Fix clearing of IEP_CMP_CFG registers during iep_init Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 178/222] wifi: mac80211: fix mbss changed flags corruption on 32 bit systems Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 179/222] wifi: mac80211: wake the queues in case of failure in resume Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 180/222] drm/amdkfd: Correct the migration DMA map direction Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 181/222] btrfs: flush delalloc workers queue before stopping cleaner kthread during unmount Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 182/222] ALSA: hda/ca0132: Use standard HD-audio quirk matching helpers Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 183/222] ALSA: hda/realtek: Add new alc2xx-fixup-headset-mic model Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 184/222] sound: usb: enable DSD output for ddHiFi TC44C Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 185/222] sound: usb: format: dont warn that raw DSD is unsupported Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 186/222] bpf: fix potential error return Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 187/222] ksmbd: retry iterate_dir in smb2_query_dir Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 188/222] ksmbd: set ATTR_CTIME flags when setting mtime Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 189/222] smb: client: destroy cfid_put_wq on module exit Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 190/222] net: usb: qmi_wwan: add Telit FE910C04 compositions Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 191/222] Bluetooth: hci_core: Fix sleeping function called from invalid context Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 192/222] irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 193/222] ARC: build: Try to guess GCC variant of cross compiler Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 194/222] seq_buf: Make DECLARE_SEQ_BUF() usable Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 195/222] RDMA/bnxt_re: Fix the max WQE size for static WQE support Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 196/222] modpost: fix input MODULE_DEVICE_TABLE() built for 64-bit on 32-bit host Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 197/222] modpost: fix the missed iteration for the max bit in do_input() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 198/222] Revert "bpf: support non-r10 register spill/fill to/from stack in precision tracking" Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 199/222] ALSA: seq: Check UMP support for midi_version change Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 200/222] ALSA hda/realtek: Add quirk for Framework F111:000C Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 201/222] ALSA: seq: oss: Fix races at processing SysEx messages Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 202/222] ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 203/222] kcov: mark in_softirq_really() as __always_inline Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 204/222] scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 205/222] RDMA/uverbs: Prevent integer overflow issue Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 206/222] pinctrl: mcp23s08: Fix sleeping in atomic context due to regmap locking Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 207/222] sky2: Add device ID 11ab:4373 for Marvell 88E8075 Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 208/222] net/sctp: Prevent autoclose integer overflow in sctp_association_init() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 209/222] drm: adv7511: Drop dsi single lane support Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 210/222] dt-bindings: display: adi,adv7533: Drop " Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 211/222] drm: adv7511: Fix use-after-free in adv7533_attach_dsi() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 212/222] fs/proc/task_mmu: fix pagemap flags with PMD THP entries on 32bit Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 213/222] gve: guard XSK operations on the existence of queues Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 214/222] gve: guard XDP xmit NDO on existence of xdp queues Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 215/222] mm/readahead: fix large folio support in async readahead Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 216/222] mm/kmemleak: fix sleeping function called from invalid context at print message Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 217/222] mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim() Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 218/222] mptcp: fix TCP options overflow Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 219/222] mptcp: fix recvbuffer adjust on sleeping rcvmsg Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 220/222] mptcp: dont always assume copied data in mptcp_cleanup_rbuf() Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 221/222] RDMA/bnxt_re: Fix max SGEs for the Work Request Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 222/222] scsi: hisi_sas: Remove redundant checks for automatic debugfs dump Greg Kroah-Hartman
2025-01-06 19:00 ` [PATCH 6.6 000/222] 6.6.70-rc1 review Naresh Kamboju
2025-01-09 11:39   ` Greg Kroah-Hartman
2025-01-06 20:04 ` Miguel Ojeda
2025-01-06 20:13 ` Florian Fainelli
2025-01-07  0:36 ` Peter Schneider
2025-01-07  1:16   ` Peter Schneider
2025-01-07  0:54 ` SeongJae Park
2025-01-07  7:03 ` Ron Economos
2025-01-07 10:24 ` Naresh Kamboju
2025-01-07 13:01   ` Mike Rapoport
2025-01-09 11:52     ` Greg Kroah-Hartman
2025-01-07 12:33 ` Mark Brown
2025-01-07 12:44 ` Jon Hunter
2025-01-07 21:20 ` [PATCH 6.6] " Hardik Garg
2025-01-07 23:15 ` [PATCH 6.6 000/222] " Shuah Khan
2025-01-08 12:27 ` Muhammad Usama Anjum
2025-01-08 14:12 ` Harshit Mogalapalli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250106151151.592002196@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=patches@lists.linux.dev \
    --cc=peterz@infradead.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox