From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Mike Kravetz <mike.kravetz@oracle.com>,
Miaohe Lin <linmiaohe@huawei.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
David Hildenbrand <david@redhat.com>,
James Houghton <jthoughton@google.com>,
Mina Almasry <almasrymina@google.com>,
Muchun Song <songmuchun@bytedance.com>,
Naoya Horiguchi <naoya.horiguchi@linux.dev>,
Peter Xu <peterx@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 6.1 142/207] hugetlb: really allocate vma lock for all sharable vmas
Date: Wed, 4 Jan 2023 17:06:40 +0100 [thread overview]
Message-ID: <20230104160516.419267605@linuxfoundation.org> (raw)
In-Reply-To: <20230104160511.905925875@linuxfoundation.org>
From: Mike Kravetz <mike.kravetz@oracle.com>
commit e700898fa075c69b3ae02b702ab57fb75e1a82ec upstream.
Commit bbff39cc6cbc ("hugetlb: allocate vma lock for all sharable vmas")
removed the pmd sharable checks in the vma lock helper routines. However,
it left the functional version of helper routines behind #ifdef
CONFIG_ARCH_WANT_HUGE_PMD_SHARE. Therefore, the vma lock is not being
used for sharable vmas on architectures that do not support pmd sharing.
On these architectures, a potential fault/truncation race is exposed that
could leave pages in a hugetlb file past i_size until the file is removed.
Move the functional vma lock helpers outside the ifdef, and remove the
non-functional stubs. Since the vma lock is not just for pmd sharing,
rename the routine __vma_shareable_flags_pmd.
Link: https://lkml.kernel.org/r/20221212235042.178355-1-mike.kravetz@oracle.com
Fixes: bbff39cc6cbc ("hugetlb: allocate vma lock for all sharable vmas")
Signed-off-by: Mike Kravetz <mike.kravetz@oracle.com>
Reviewed-by: Miaohe Lin <linmiaohe@huawei.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: James Houghton <jthoughton@google.com>
Cc: Mina Almasry <almasrymina@google.com>
Cc: Muchun Song <songmuchun@bytedance.com>
Cc: Naoya Horiguchi <naoya.horiguchi@linux.dev>
Cc: Peter Xu <peterx@redhat.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
mm/hugetlb.c | 333 ++++++++++++++++++++++++++---------------------------------
1 file changed, 148 insertions(+), 185 deletions(-)
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -255,6 +255,152 @@ static inline struct hugepage_subpool *s
return subpool_inode(file_inode(vma->vm_file));
}
+/*
+ * hugetlb vma_lock helper routines
+ */
+static bool __vma_shareable_lock(struct vm_area_struct *vma)
+{
+ return vma->vm_flags & (VM_MAYSHARE | VM_SHARED) &&
+ vma->vm_private_data;
+}
+
+void hugetlb_vma_lock_read(struct vm_area_struct *vma)
+{
+ if (__vma_shareable_lock(vma)) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ down_read(&vma_lock->rw_sema);
+ }
+}
+
+void hugetlb_vma_unlock_read(struct vm_area_struct *vma)
+{
+ if (__vma_shareable_lock(vma)) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ up_read(&vma_lock->rw_sema);
+ }
+}
+
+void hugetlb_vma_lock_write(struct vm_area_struct *vma)
+{
+ if (__vma_shareable_lock(vma)) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ down_write(&vma_lock->rw_sema);
+ }
+}
+
+void hugetlb_vma_unlock_write(struct vm_area_struct *vma)
+{
+ if (__vma_shareable_lock(vma)) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ up_write(&vma_lock->rw_sema);
+ }
+}
+
+int hugetlb_vma_trylock_write(struct vm_area_struct *vma)
+{
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ if (!__vma_shareable_lock(vma))
+ return 1;
+
+ return down_write_trylock(&vma_lock->rw_sema);
+}
+
+void hugetlb_vma_assert_locked(struct vm_area_struct *vma)
+{
+ if (__vma_shareable_lock(vma)) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ lockdep_assert_held(&vma_lock->rw_sema);
+ }
+}
+
+void hugetlb_vma_lock_release(struct kref *kref)
+{
+ struct hugetlb_vma_lock *vma_lock = container_of(kref,
+ struct hugetlb_vma_lock, refs);
+
+ kfree(vma_lock);
+}
+
+static void __hugetlb_vma_unlock_write_put(struct hugetlb_vma_lock *vma_lock)
+{
+ struct vm_area_struct *vma = vma_lock->vma;
+
+ /*
+ * vma_lock structure may or not be released as a result of put,
+ * it certainly will no longer be attached to vma so clear pointer.
+ * Semaphore synchronizes access to vma_lock->vma field.
+ */
+ vma_lock->vma = NULL;
+ vma->vm_private_data = NULL;
+ up_write(&vma_lock->rw_sema);
+ kref_put(&vma_lock->refs, hugetlb_vma_lock_release);
+}
+
+static void __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma)
+{
+ if (__vma_shareable_lock(vma)) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ __hugetlb_vma_unlock_write_put(vma_lock);
+ }
+}
+
+static void hugetlb_vma_lock_free(struct vm_area_struct *vma)
+{
+ /*
+ * Only present in sharable vmas.
+ */
+ if (!vma || !__vma_shareable_lock(vma))
+ return;
+
+ if (vma->vm_private_data) {
+ struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
+
+ down_write(&vma_lock->rw_sema);
+ __hugetlb_vma_unlock_write_put(vma_lock);
+ }
+}
+
+static void hugetlb_vma_lock_alloc(struct vm_area_struct *vma)
+{
+ struct hugetlb_vma_lock *vma_lock;
+
+ /* Only establish in (flags) sharable vmas */
+ if (!vma || !(vma->vm_flags & VM_MAYSHARE))
+ return;
+
+ /* Should never get here with non-NULL vm_private_data */
+ if (vma->vm_private_data)
+ return;
+
+ vma_lock = kmalloc(sizeof(*vma_lock), GFP_KERNEL);
+ if (!vma_lock) {
+ /*
+ * If we can not allocate structure, then vma can not
+ * participate in pmd sharing. This is only a possible
+ * performance enhancement and memory saving issue.
+ * However, the lock is also used to synchronize page
+ * faults with truncation. If the lock is not present,
+ * unlikely races could leave pages in a file past i_size
+ * until the file is removed. Warn in the unlikely case of
+ * allocation failure.
+ */
+ pr_warn_once("HugeTLB: unable to allocate vma specific lock\n");
+ return;
+ }
+
+ kref_init(&vma_lock->refs);
+ init_rwsem(&vma_lock->rw_sema);
+ vma_lock->vma = vma;
+ vma->vm_private_data = vma_lock;
+}
+
/* Helper that removes a struct file_region from the resv_map cache and returns
* it for use.
*/
@@ -6557,7 +6703,8 @@ bool hugetlb_reserve_pages(struct inode
}
/*
- * vma specific semaphore used for pmd sharing synchronization
+ * vma specific semaphore used for pmd sharing and fault/truncation
+ * synchronization
*/
hugetlb_vma_lock_alloc(vma);
@@ -6813,149 +6960,6 @@ void adjust_range_if_pmd_sharing_possibl
*end = ALIGN(*end, PUD_SIZE);
}
-static bool __vma_shareable_flags_pmd(struct vm_area_struct *vma)
-{
- return vma->vm_flags & (VM_MAYSHARE | VM_SHARED) &&
- vma->vm_private_data;
-}
-
-void hugetlb_vma_lock_read(struct vm_area_struct *vma)
-{
- if (__vma_shareable_flags_pmd(vma)) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- down_read(&vma_lock->rw_sema);
- }
-}
-
-void hugetlb_vma_unlock_read(struct vm_area_struct *vma)
-{
- if (__vma_shareable_flags_pmd(vma)) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- up_read(&vma_lock->rw_sema);
- }
-}
-
-void hugetlb_vma_lock_write(struct vm_area_struct *vma)
-{
- if (__vma_shareable_flags_pmd(vma)) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- down_write(&vma_lock->rw_sema);
- }
-}
-
-void hugetlb_vma_unlock_write(struct vm_area_struct *vma)
-{
- if (__vma_shareable_flags_pmd(vma)) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- up_write(&vma_lock->rw_sema);
- }
-}
-
-int hugetlb_vma_trylock_write(struct vm_area_struct *vma)
-{
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- if (!__vma_shareable_flags_pmd(vma))
- return 1;
-
- return down_write_trylock(&vma_lock->rw_sema);
-}
-
-void hugetlb_vma_assert_locked(struct vm_area_struct *vma)
-{
- if (__vma_shareable_flags_pmd(vma)) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- lockdep_assert_held(&vma_lock->rw_sema);
- }
-}
-
-void hugetlb_vma_lock_release(struct kref *kref)
-{
- struct hugetlb_vma_lock *vma_lock = container_of(kref,
- struct hugetlb_vma_lock, refs);
-
- kfree(vma_lock);
-}
-
-static void __hugetlb_vma_unlock_write_put(struct hugetlb_vma_lock *vma_lock)
-{
- struct vm_area_struct *vma = vma_lock->vma;
-
- /*
- * vma_lock structure may or not be released as a result of put,
- * it certainly will no longer be attached to vma so clear pointer.
- * Semaphore synchronizes access to vma_lock->vma field.
- */
- vma_lock->vma = NULL;
- vma->vm_private_data = NULL;
- up_write(&vma_lock->rw_sema);
- kref_put(&vma_lock->refs, hugetlb_vma_lock_release);
-}
-
-static void __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma)
-{
- if (__vma_shareable_flags_pmd(vma)) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- __hugetlb_vma_unlock_write_put(vma_lock);
- }
-}
-
-static void hugetlb_vma_lock_free(struct vm_area_struct *vma)
-{
- /*
- * Only present in sharable vmas.
- */
- if (!vma || !__vma_shareable_flags_pmd(vma))
- return;
-
- if (vma->vm_private_data) {
- struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;
-
- down_write(&vma_lock->rw_sema);
- __hugetlb_vma_unlock_write_put(vma_lock);
- }
-}
-
-static void hugetlb_vma_lock_alloc(struct vm_area_struct *vma)
-{
- struct hugetlb_vma_lock *vma_lock;
-
- /* Only establish in (flags) sharable vmas */
- if (!vma || !(vma->vm_flags & VM_MAYSHARE))
- return;
-
- /* Should never get here with non-NULL vm_private_data */
- if (vma->vm_private_data)
- return;
-
- vma_lock = kmalloc(sizeof(*vma_lock), GFP_KERNEL);
- if (!vma_lock) {
- /*
- * If we can not allocate structure, then vma can not
- * participate in pmd sharing. This is only a possible
- * performance enhancement and memory saving issue.
- * However, the lock is also used to synchronize page
- * faults with truncation. If the lock is not present,
- * unlikely races could leave pages in a file past i_size
- * until the file is removed. Warn in the unlikely case of
- * allocation failure.
- */
- pr_warn_once("HugeTLB: unable to allocate vma specific lock\n");
- return;
- }
-
- kref_init(&vma_lock->refs);
- init_rwsem(&vma_lock->rw_sema);
- vma_lock->vma = vma;
- vma->vm_private_data = vma_lock;
-}
-
/*
* Search for a shareable pmd page for hugetlb. In any case calls pmd_alloc()
* and returns the corresponding pte. While this is not necessary for the
@@ -7044,47 +7048,6 @@ int huge_pmd_unshare(struct mm_struct *m
#else /* !CONFIG_ARCH_WANT_HUGE_PMD_SHARE */
-void hugetlb_vma_lock_read(struct vm_area_struct *vma)
-{
-}
-
-void hugetlb_vma_unlock_read(struct vm_area_struct *vma)
-{
-}
-
-void hugetlb_vma_lock_write(struct vm_area_struct *vma)
-{
-}
-
-void hugetlb_vma_unlock_write(struct vm_area_struct *vma)
-{
-}
-
-int hugetlb_vma_trylock_write(struct vm_area_struct *vma)
-{
- return 1;
-}
-
-void hugetlb_vma_assert_locked(struct vm_area_struct *vma)
-{
-}
-
-void hugetlb_vma_lock_release(struct kref *kref)
-{
-}
-
-static void __hugetlb_vma_unlock_write_free(struct vm_area_struct *vma)
-{
-}
-
-static void hugetlb_vma_lock_free(struct vm_area_struct *vma)
-{
-}
-
-static void hugetlb_vma_lock_alloc(struct vm_area_struct *vma)
-{
-}
-
pte_t *huge_pmd_share(struct mm_struct *mm, struct vm_area_struct *vma,
unsigned long addr, pud_t *pud)
{
next prev parent reply other threads:[~2023-01-04 16:19 UTC|newest]
Thread overview: 222+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-04 16:04 [PATCH 6.1 000/207] 6.1.4-rc1 review Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 001/207] drm/amdgpu: skip MES for S0ix as well since its part of GFX Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 002/207] drm/amdgpu: skip mes self test after s0i3 resume for MES IP v11.0 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 003/207] media: stv0288: use explicitly signed char Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 004/207] cxl/region: Fix memdev reuse check Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 005/207] arm64: dts: qcom: sc8280xp: fix UFS DMA coherency Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 006/207] arm64: Prohibit instrumentation on arch_stack_walk() Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 007/207] soc: qcom: Select REMAP_MMIO for LLCC driver Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 008/207] soc: qcom: Select REMAP_MMIO for ICC_BWMON driver Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 009/207] kest.pl: Fix grub2 menu handling for rebooting Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 010/207] ktest.pl minconfig: Unset configs instead of just removing them Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 011/207] jbd2: use the correct print format Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 012/207] perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 013/207] perf/x86/intel/uncore: Clear attr_update properly Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 014/207] arm64: dts: qcom: sdm845-db845c: correct SPI2 pins drive strength Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 015/207] arm64: dts: qcom: sc8280xp: fix UFS reference clocks Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 016/207] mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 017/207] phy: qcom-qmp-combo: fix out-of-bounds clock access Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 018/207] drm/amd/pm: update SMU13.0.0 reported maximum shader clock Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 019/207] drm/amd/pm: correct SMU13.0.0 pstate profiling clock settings Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 020/207] btrfs: fix uninitialized parent in insert_state Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 021/207] btrfs: fix extent map use-after-free when handling missing device in read_one_chunk Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 022/207] btrfs: fix resolving backrefs for inline extent followed by prealloc Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 023/207] ARM: ux500: do not directly dereference __iomem Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 024/207] arm64: dts: qcom: sdm850-samsung-w737: correct I2C12 pins drive strength Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 025/207] random: use rejection sampling for uniform bounded random integers Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 026/207] x86/fpu/xstate: Fix XSTATE_WARN_ON() to emit relevant diagnostics Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 027/207] arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 028/207] cxl/region: Fix missing probe failure Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 029/207] EDAC/mc_sysfs: Increase legacy channel support to 12 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 030/207] selftests: Use optional USERCFLAGS and USERLDFLAGS Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 031/207] x86/MCE/AMD: Clear DFR errors found in THR handler Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 032/207] random: add helpers for random numbers with given floor or range Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 033/207] PM/devfreq: governor: Add a private governor_data for governor Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 034/207] cpufreq: Init completion before kobject_init_and_add() Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 035/207] ext2: unbugger ext2_empty_dir() Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 036/207] media: s5p-mfc: Fix to handle reference queue during finishing Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 037/207] media: s5p-mfc: Clear workbit to handle error condition Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 038/207] media: s5p-mfc: Fix in register read and write for H264 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 039/207] bpf: Resolve fext program type when checking map compatibility Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 040/207] ALSA: patch_realtek: Fix Dell Inspiron Plus 16 Greg Kroah-Hartman
2023-01-04 16:04 ` [PATCH 6.1 041/207] ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 042/207] platform/x86: thinkpad_acpi: Fix max_brightness of thinklight Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 043/207] platform/x86: ideapad-laptop: Revert "check for touchpad support in _CFG" Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 044/207] platform/x86: ideapad-laptop: Add new _CFG bit numbers for future use Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 045/207] platform/x86: ideapad-laptop: support for more special keys in WMI Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 046/207] ACPI: video: Simplify __acpi_video_get_backlight_type() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 047/207] ACPI: video: Prefer native over vendor Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 048/207] platform/x86: ideapad-laptop: Refactor ideapad_sync_touchpad_state() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 049/207] platform/x86: ideapad-laptop: Do not send KEY_TOUCHPAD* events on probe / resume Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 050/207] platform/x86: ideapad-laptop: Only toggle ps2 aux port on/off on select models Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 051/207] platform/x86: ideapad-laptop: Send KEY_TOUCHPAD_TOGGLE on some models Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 052/207] platform/x86: ideapad-laptop: Stop writing VPCCMD_W_TOUCHPAD at probe time Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 053/207] platform/x86: intel-uncore-freq: add Emerald Rapids support Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 054/207] ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 055/207] platform/x86: x86-android-tablets: Add Medion Lifetab S10346 data Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 056/207] platform/x86: x86-android-tablets: Add Lenovo Yoga Tab 3 (YT3-X90F) charger + fuel-gauge data Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 057/207] platform/x86: x86-android-tablets: Add Advantech MICA-071 extra button Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 058/207] HID: Ignore HP Envy x360 eu0009nv stylus battery Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 059/207] ALSA: usb-audio: Add new quirk FIXED_RATE for JBL Quantum810 Wireless Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 060/207] fs: dlm: fix sock release if listen fails Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 061/207] fs: dlm: retry accept() until -EAGAIN or error returns Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 062/207] mptcp: netlink: fix some error return code Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 063/207] mptcp: remove MPTCP ifdef in TCP SYN cookies Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 064/207] mptcp: dedicated request sock for subflow in v6 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 065/207] mptcp: use proper req destructor for IPv6 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 066/207] dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 067/207] dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 068/207] dm thin: Use last transactions pmd->root when commit failed Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 069/207] dm thin: resume even if in FAIL mode Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 070/207] dm thin: Fix UAF in run_timer_softirq() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 071/207] dm integrity: Fix UAF in dm_integrity_dtr() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 072/207] dm clone: Fix UAF in clone_dtr() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 073/207] dm cache: Fix UAF in destroy() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 074/207] dm cache: set needs_check flag after aborting metadata Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 075/207] ata: ahci: fix enum constants for gcc-13 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 076/207] PCI/DOE: Fix maximum data object length miscalculation Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 077/207] tracing/hist: Fix out-of-bound write on action_data.var_ref_idx Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 078/207] perf/core: Call LSM hook after copying perf_event_attr Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 079/207] xtensa: add __umulsidi3 helper Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 080/207] of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 081/207] ima: Fix hash dependency to correct algorithm Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 082/207] KVM: VMX: Resume guest immediately when injecting #GP on ECREATE Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 083/207] KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 084/207] KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 085/207] KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 086/207] x86/microcode/intel: Do not retry microcode reloading on the APs Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 087/207] ftrace/x86: Add back ftrace_expected for ftrace bug reports Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 088/207] x86/kprobes: Fix kprobes instruction boudary check with CONFIG_RETHUNK Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 089/207] x86/kprobes: Fix optprobe optimization " Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 090/207] tracing: Fix race where eprobes can be called before the event Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 091/207] powerpc/ftrace: fix syscall tracing on PPC64_ELF_ABI_V1 Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 092/207] tracing: Fix complicated dependency of CONFIG_TRACER_MAX_TRACE Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 093/207] tracing/hist: Fix wrong return value in parse_action_params() Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 094/207] tracing/probes: Handle system names with hyphens Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 095/207] tracing: Fix issue of missing one synthetic field Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 096/207] tracing: Fix infinite loop in tracing_read_pipe on overflowed print_trace_line Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 097/207] staging: media: tegra-video: fix chan->mipi value on error Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 098/207] staging: media: tegra-video: fix device_node use after free Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 099/207] arm64: dts: mediatek: mt8195-demo: fix the memory size of node secmon Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 100/207] ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod Greg Kroah-Hartman
2023-01-04 16:05 ` [PATCH 6.1 101/207] media: dvb-core: Fix double free in dvb_register_device() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 102/207] media: dvb-core: Fix UAF due to refcount races at releasing Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 103/207] cifs: fix confusing debug message Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 104/207] cifs: fix missing display of three mount options Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 105/207] cifs: set correct tcon status after initial tree connect Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 106/207] cifs: set correct ipc " Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 107/207] cifs: set correct status of tcon ipc when reconnecting Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 108/207] ravb: Fix "failed to switch device to config mode" message during unbind Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 109/207] rtc: ds1347: fix value written to century register Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 110/207] drm/amdgpu: fix mmhub register base coding error Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 111/207] block: mq-deadline: Fix dd_finish_request() for zoned devices Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 112/207] block: mq-deadline: Do not break sequential write streams to zoned HDDs Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 113/207] md/bitmap: Fix bitmap chunk size overflow issues Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 114/207] efi: Add iMac Pro 2017 to uefi skip cert quirk Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 115/207] wifi: wilc1000: sdio: fix module autoloading Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 116/207] ASoC: jz4740-i2s: Handle independent FIFO flush bits Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 117/207] ipu3-imgu: Fix NULL pointer dereference in imgu_subdev_set_selection() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 118/207] ipmi: fix long wait in unload when IPMI disconnect Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 119/207] mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 120/207] ima: Fix a potential NULL pointer access in ima_restore_measurement_list Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 121/207] ipmi: fix use after free in _ipmi_destroy_user() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 122/207] mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with gd25q256_post_bfpt Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 123/207] ima: Fix memory leak in __ima_inode_hash() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 124/207] um: virt-pci: Avoid GCC non-NULL warning Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 125/207] crypto: ccree,hisilicon - Fix dependencies to correct algorithm Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 126/207] PCI: Fix pci_device_is_present() for VFs by checking PF Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 127/207] PCI/sysfs: Fix double free in error path Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 128/207] RISC-V: kexec: Fix memory leak of fdt buffer Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 129/207] riscv: Fixup compile error with !MMU Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 130/207] RISC-V: kexec: Fix memory leak of elf header buffer Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 131/207] riscv: stacktrace: Fixup ftrace_graph_ret_addr retp argument Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 132/207] riscv: mm: notify remote harts about mmu cache updates Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 133/207] crypto: n2 - add missing hash statesize Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 134/207] crypto: ccp - Add support for TEE for PCI ID 0x14CA Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 135/207] driver core: Fix bus_type.match() error handling in __driver_attach() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 136/207] bus: mhi: host: Fix race between channel preparation and M0 event Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 138/207] phy: qcom-qmp-combo: fix sc8180x reset Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 139/207] iommu/amd: Fix ivrs_acpihid cmdline parsing code Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 140/207] iommu/amd: Fix ill-formed ivrs_ioapic, ivrs_hpet and ivrs_acpihid options Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 141/207] test_kprobes: Fix implicit declaration error of test_kprobes Greg Kroah-Hartman
2023-01-04 16:06 ` Greg Kroah-Hartman [this message]
2023-01-04 16:06 ` [PATCH 6.1 143/207] remoteproc: imx_dsp_rproc: Add mutex protection for workqueue Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 144/207] remoteproc: core: Do pm_relax when in RPROC_OFFLINE state Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 145/207] remoteproc: imx_rproc: Correct i.MX93 DRAM mapping Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 146/207] parisc: led: Fix potential null-ptr-deref in start_task() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 147/207] parisc: Drop locking in pdc console code Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 148/207] parisc: Fix locking in pdc_iodc_print() firmware call Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 149/207] parisc: Add missing FORCE prerequisites in Makefile Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 150/207] parisc: Drop duplicate kgdb_pdc console Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 151/207] parisc: Drop PMD_SHIFT from calculation in pgtable.h Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 152/207] device_cgroup: Roll back to original exceptions after copy failure Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 153/207] drm/connector: send hotplug uevent on connector cleanup Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 154/207] drm/vmwgfx: Validate the box size for the snooped cursor Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 155/207] drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 156/207] drm/etnaviv: move idle mapping reaping into separate function Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 157/207] drm/i915/dsi: fix VBT send packet port selection for dual link DSI Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 158/207] drm/ingenic: Fix missing platform_driver_unregister() call in ingenic_drm_init() Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 159/207] drm/etnaviv: reap idle mapping if it doesnt match the softpin address Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 160/207] arm64: efi: Execute runtime services from a dedicated stack Greg Kroah-Hartman
2023-01-04 16:06 ` [PATCH 6.1 161/207] ext4: silence the warning when evicting inode with dioread_nolock Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 162/207] ext4: add inode table check in __ext4_get_inode_loc to aovid possible infinite loop Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 163/207] ext4: remove trailing newline from ext4_msg() message Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 164/207] ext4: correct inconsistent error msg in nojournal mode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 165/207] fs: ext4: initialize fsdata in pagecache_write() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 166/207] ext4: fix use-after-free in ext4_orphan_cleanup Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 167/207] ext4: fix undefined behavior in bit shift for ext4_check_flag_values Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 168/207] ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 169/207] ext4: add helper to check quota inums Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 170/207] ext4: fix bug_on in __es_tree_search caused by bad quota inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 171/207] ext4: fix reserved cluster accounting in __es_remove_extent() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 172/207] ext4: journal_path mount options should follow links Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 173/207] ext4: check and assert if marking an no_delete evicting inode dirty Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 174/207] ext4: fix bug_on in __es_tree_search caused by bad boot loader inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 175/207] ext4: dont allow journal inode to have encrypt flag Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 176/207] ext4: disable fast-commit of encrypted dir operations Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 177/207] ext4: fix leaking uninitialized memory in fast-commit journal Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 178/207] ext4: dont set up encryption key during jbd2 transaction Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 179/207] ext4: add missing validation of fast-commit record lengths Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 180/207] ext4: fix unaligned memory access in ext4_fc_reserve_space() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 181/207] ext4: fix off-by-one errors in fast-commit block filling Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 182/207] ext4: fix uninititialized value in ext4_evict_inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 183/207] ext4: init quota for old.inode in ext4_rename Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 184/207] ext4: dont fail GETFSUUID when the caller provides a long buffer Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 185/207] ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 186/207] ext4: fix corruption when online resizing a 1K bigalloc fs Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 187/207] ext4: fix error code return to user-space in ext4_get_branch() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 188/207] ext4: fix bad checksum after online resize Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 189/207] ext4: dont return EINVAL from GETFSUUID when reporting UUID length Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 190/207] ext4: fix corrupt backup group descriptors after online resize Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 191/207] ext4: avoid BUG_ON when creating xattrs Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 192/207] ext4: fix deadlock due to mbcache entry corruption Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 193/207] ext4: fix kernel BUG in ext4_write_inline_data_end() Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 194/207] ext4: fix inode leak in ext4_xattr_inode_create() on an error path Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 195/207] ext4: initialize quota before expanding inode in setproject ioctl Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 196/207] ext4: avoid unaccounted block allocation when expanding inode Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 197/207] ext4: allocate extended attribute value in vmalloc area Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 198/207] drm/i915/ttm: consider CCS for backup objects Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 199/207] drm/amd/display: Add DCN314 display SG Support Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 200/207] drm/amdgpu: handle polaris10/11 overlap asics (v2) Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 201/207] drm/amdgpu: make display pinning more flexible (v2) Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 202/207] drm/i915: improve the catch-all evict to handle lock contention Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 203/207] drm/i915/migrate: Account for the reserved_space Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 204/207] drm/amd/pm: add missing SMU13.0.0 mm_dpm feature mapping Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 205/207] drm/amd/pm: add missing SMU13.0.7 " Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 206/207] drm/amd/pm: bump SMU13.0.0 driver_if header to version 0x34 Greg Kroah-Hartman
2023-01-04 16:07 ` [PATCH 6.1 207/207] drm/amd/pm: correct the fan speed retrieving in PWM for some SMU13 asics Greg Kroah-Hartman
2023-01-04 19:46 ` [PATCH 6.1 000/207] 6.1.4-rc1 review Allen Pais
2023-01-04 21:04 ` Florian Fainelli
2023-01-04 22:18 ` Shuah Khan
2023-01-05 0:21 ` Guenter Roeck
2023-01-05 7:02 ` Jon Hunter
2023-01-05 7:19 ` Bagas Sanjaya
2023-01-05 8:41 ` Naresh Kamboju
2023-01-05 11:13 ` Sudip Mukherjee (Codethink)
2023-01-05 11:23 ` Ron Economos
2023-01-05 14:43 ` Justin Forbes
2023-01-05 19:34 ` Pavel Machek
2023-01-06 6:58 ` Greg Kroah-Hartman
2023-01-06 23:53 ` Tyler Hicks
2023-01-07 7:13 ` Thorsten Leemhuis
2023-01-06 0:04 ` Rudi Heitbaum
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=20230104160516.419267605@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=almasrymina@google.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=david@redhat.com \
--cc=jthoughton@google.com \
--cc=linmiaohe@huawei.com \
--cc=mike.kravetz@oracle.com \
--cc=naoya.horiguchi@linux.dev \
--cc=patches@lists.linux.dev \
--cc=peterx@redhat.com \
--cc=songmuchun@bytedance.com \
--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