linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Hulk Robot <hulkci@huawei.com>,
	"zhangyi (F)" <yi.zhang@huawei.com>, Theodore Tso <tytso@mit.edu>,
	Jan Kara <jack@suse.cz>,
	stable@kernel.org
Subject: [PATCH 4.4 009/131] ext4: brelse all indirect buffer in ext4_ind_remove_space()
Date: Mon,  1 Apr 2019 19:01:19 +0200	[thread overview]
Message-ID: <20190401170052.555833178@linuxfoundation.org> (raw)
In-Reply-To: <20190401170051.645954551@linuxfoundation.org>

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

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

From: zhangyi (F) <yi.zhang@huawei.com>

commit 674a2b27234d1b7afcb0a9162e81b2e53aeef217 upstream.

All indirect buffers get by ext4_find_shared() should be released no
mater the branch should be freed or not. But now, we forget to release
the lower depth indirect buffers when removing space from the same
higher depth indirect block. It will lead to buffer leak and futher
more, it may lead to quota information corruption when using old quota,
consider the following case.

 - Create and mount an empty ext4 filesystem without extent and quota
   features,
 - quotacheck and enable the user & group quota,
 - Create some files and write some data to them, and then punch hole
   to some files of them, it may trigger the buffer leak problem
   mentioned above.
 - Disable quota and run quotacheck again, it will create two new
   aquota files and write the checked quota information to them, which
   probably may reuse the freed indirect block(the buffer and page
   cache was not freed) as data block.
 - Enable quota again, it will invoke
   vfs_load_quota_inode()->invalidate_bdev() to try to clean unused
   buffers and pagecache. Unfortunately, because of the buffer of quota
   data block is still referenced, quota code cannot read the up to date
   quota info from the device and lead to quota information corruption.

This problem can be reproduced by xfstests generic/231 on ext3 file
system or ext4 file system without extent and quota features.

This patch fix this problem by releasing the missing indirect buffers,
in ext4_ind_remove_space().

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: zhangyi (F) <yi.zhang@huawei.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
Cc: stable@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/ext4/indirect.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

--- a/fs/ext4/indirect.c
+++ b/fs/ext4/indirect.c
@@ -1491,10 +1491,14 @@ end_range:
 					   partial->p + 1,
 					   partial2->p,
 					   (chain+n-1) - partial);
-			BUFFER_TRACE(partial->bh, "call brelse");
-			brelse(partial->bh);
-			BUFFER_TRACE(partial2->bh, "call brelse");
-			brelse(partial2->bh);
+			while (partial > chain) {
+				BUFFER_TRACE(partial->bh, "call brelse");
+				brelse(partial->bh);
+			}
+			while (partial2 > chain2) {
+				BUFFER_TRACE(partial2->bh, "call brelse");
+				brelse(partial2->bh);
+			}
 			return 0;
 		}
 



  parent reply	other threads:[~2019-04-01 17:31 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01 17:01 [PATCH 4.4 000/131] 4.4.178-stable review Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 001/131] mmc: pxamci: fix enum type confusion Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 002/131] drm/vmwgfx: Dont double-free the mode stored in par->set_mode Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 003/131] udf: Fix crash on IO error during truncate Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 004/131] mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 005/131] MIPS: Fix kernel crash for R6 in jump label branch function Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 006/131] futex: Ensure that futex address is aligned in handle_futex_death() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 007/131] ext4: fix NULL pointer dereference while journal is aborted Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 008/131] ext4: fix data corruption caused by unaligned direct AIO Greg Kroah-Hartman
2019-04-01 17:01 ` Greg Kroah-Hartman [this message]
2019-04-01 17:01 ` [PATCH 4.4 010/131] mmc: tmio_mmc_core: dont claim spurious interrupts Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 011/131] media: v4l2-ctrls.c/uvc: zero v4l2_event Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 012/131] locking/lockdep: Add debug_locks check in __lock_downgrade() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 013/131] ALSA: hda - Record the current power state before suspend/resume calls Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 014/131] ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 015/131] mmc: pwrseq_simple: Make reset-gpios optional to match doc Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 016/131] mmc: debugfs: Add a restriction to mmc debugfs clock setting Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 017/131] mmc: make MAN_BKOPS_EN message a debug Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 018/131] mmc: sanitize bus width in debug output Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 019/131] mmc: core: shut up "voltage-ranges unspecified" pr_info() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 020/131] usb: dwc3: gadget: Fix suspend/resume during device mode Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 021/131] arm64: mm: Add trace_irqflags annotations to do_debug_exception() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 022/131] mmc: core: fix using wrong io voltage if mmc_select_hs200 fails Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 023/131] mm/rmap: replace BUG_ON(anon_vma->degree) with VM_WARN_ON Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 024/131] extcon: usb-gpio: Dont miss event during suspend/resume Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 025/131] kbuild: setlocalversion: print error to STDERR Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 026/131] usb: gadget: composite: fix dereference after null check coverify warning Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 027/131] usb: gadget: Add the gserial port checking in gs_start_tx() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 028/131] tcp/dccp: drop SYN packets if accept queue is full Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 029/131] serial: sprd: adjust TIMEOUT to a big value Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 030/131] Hang/soft lockup in d_invalidate with simultaneous calls Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 031/131] arm64: traps: disable irq in die() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 032/131] usb: renesas_usbhs: gadget: fix unused-but-set-variable warning Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 033/131] serial: sprd: clear timeout interrupt only rather than all interrupts Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 034/131] lib/int_sqrt: optimize small argument Greg Kroah-Hartman
2019-04-01 17:42   ` Joe Perches
2019-04-02  6:59     ` Greg Kroah-Hartman
2019-04-02  9:00       ` Joe Perches
2019-04-02 11:10         ` Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 035/131] USB: core: only clean up what we allocated Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 036/131] rtc: Fix overflow when converting time64_t to rtc_time Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 037/131] ath10k: avoid possible string overflow Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 038/131] Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 039/131] Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 040/131] sched/fair: Fix new tasks load avg removed from source CPU in wake_up_new_task() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 041/131] mmc: block: Allow more than 8 partitions per card Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 042/131] arm64: fix COMPAT_SHMLBA definition for large pages Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 043/131] efi: stub: define DISABLE_BRANCH_PROFILING for all architectures Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 044/131] ARM: 8458/1: bL_switcher: add GIC dependency Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 045/131] ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 046/131] android: unconditionally remove callbacks in sync_fence_free() Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 047/131] vmstat: make vmstat_updater deferrable again and shut down on idle Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 048/131] hid-sensor-hub.c: fix wrong do_div() usage Greg Kroah-Hartman
2019-04-01 17:01 ` [PATCH 4.4 049/131] arm64: hide __efistub_ aliases from kallsyms Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 050/131] perf: Synchronously free aux pages in case of allocation failure Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 051/131] net: diag: support v4mapped sockets in inet_diag_find_one_icsk() Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 052/131] Revert "mmc: block: dont use parameter prefix if built as module" Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 053/131] writeback: initialize inode members that track writeback history Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 054/131] coresight: fixing lockdep error Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 055/131] coresight: coresight_unregister() function cleanup Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 056/131] coresight: release reference taken by bus_find_device() Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 057/131] coresight: remove csdevs link from topology Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 058/131] stm class: Fix locking in unbinding policy path Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 059/131] stm class: Fix link list locking Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 060/131] stm class: Prevent user-controllable allocations Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 061/131] stm class: Support devices with multiple instances Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 062/131] stm class: Fix unlocking braino in the error path Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 063/131] stm class: Guard output assignment against concurrency Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 064/131] stm class: Fix unbalanced module/device refcounting Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 065/131] stm class: Fix a race in unlinking Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 066/131] coresight: "DEVICE_ATTR_RO" should defined as static Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 067/131] coresight: etm4x: Check every parameter used by dma_xx_coherent Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 068/131] asm-generic: Fix local variable shadow in __set_fixmap_offset Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 069/131] staging: ashmem: Avoid deadlock with mmap/shrink Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 070/131] staging: ashmem: Add missing include Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 071/131] staging: ion: Set minimum carveout heap allocation order to PAGE_SHIFT Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 072/131] staging: goldfish: audio: fix compiliation on arm Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 073/131] ARM: 8510/1: rework ARM_CPU_SUSPEND dependencies Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 074/131] arm64/kernel: fix incorrect EL0 check in inv_entry macro Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 075/131] =?UTF-8?q?mac80211:=20fix=20"warning:=20=E2=80=98target=5Fmetric?= =?UTF-8?q?=E2=80=99=20may=20be=20used=20uninitialized"?= Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 076/131] perf/ring_buffer: Refuse to begin AUX transaction after rb->aux_mmap_count drops Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 077/131] arm64: kernel: Include _AC definition in page.h Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 078/131] PM / Hibernate: Call flush_icache_range() on pages restored in-place Greg Kroah-Hartman
2019-04-01 20:39   ` Pavel Machek
2019-04-03 11:00     ` Catalin Marinas
2019-04-03 13:40       ` Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 079/131] stm class: Do not leak the chrdev in error path Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 080/131] stm class: Fix stm device initialization order Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 081/131] ipv6: fix endianness error in icmpv6_err Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 082/131] usb: gadget: configfs: add mutex lock before unregister gadget Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 083/131] usb: gadget: rndis: free response queue during REMOTE_NDIS_RESET_MSG Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 084/131] cpu/hotplug: Handle unbalanced hotplug enable/disable Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 085/131] video: fbdev: Set pixclock = 0 in goldfishfb Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 086/131] arm64: kconfig: drop CONFIG_RTC_LIB dependency Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 087/131] mmc: mmc: fix switch timeout issue caused by jiffies precision Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 088/131] cfg80211: size various nl80211 messages correctly Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 089/131] stmmac: copy unicast mac address to MAC registers Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 090/131] dccp: do not use ipv6 header for ipv4 flow Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 091/131] mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 092/131] net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 093/131] net: rose: fix a possible stack overflow Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 094/131] Add hlist_add_tail_rcu() (Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net) Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 095/131] packets: Always register packet sk in the same order Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 096/131] tcp: do not use ipv6 header for ipv4 flow Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 097/131] vxlan: Dont call gro_cells_destroy() before device is unregistered Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 098/131] sctp: get sctphdr by offset in sctp_compute_cksum Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 099/131] mac8390: Fix mmio access size probe Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 100/131] btrfs: remove WARN_ON in log_dir_items Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 101/131] btrfs: raid56: properly unmap parity page in finish_parity_scrub() Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 102/131] ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 103/131] ALSA: compress: add support for 32bit calls in a 64bit kernel Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 104/131] ALSA: rawmidi: Fix potential Spectre v1 vulnerability Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 105/131] ALSA: seq: oss: Fix " Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 106/131] ALSA: pcm: Fix possible OOB access in PCM oss plugins Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 107/131] ALSA: pcm: Dont suspend stream in unrecoverable PCM state Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 108/131] scsi: sd: Fix a race between closing an sd device and sd I/O Greg Kroah-Hartman
2019-04-01 17:02 ` [PATCH 4.4 109/131] scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 110/131] scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 111/131] tty: atmel_serial: fix a potential NULL pointer dereference Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 112/131] staging: vt6655: Remove vif check from vnt_interrupt Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 113/131] staging: vt6655: Fix interrupt race condition on device start up Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 114/131] serial: max310x: Fix to avoid potential NULL pointer dereference Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 115/131] serial: sh-sci: Fix setting SCSCR_TIE while transferring data Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 116/131] USB: serial: cp210x: add new device id Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 117/131] USB: serial: ftdi_sio: add additional NovaTech products Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 118/131] USB: serial: mos7720: fix mos_parport refcount imbalance on error path Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 119/131] USB: serial: option: set driver_info for SIM5218 and compatibles Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 120/131] USB: serial: option: add Olicard 600 Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 121/131] Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 122/131] fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 123/131] gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 124/131] perf intel-pt: Fix TSC slip Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 125/131] x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 126/131] KVM: Reject device ioctls from processes other than the VMs creator Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 127/131] xhci: Fix port resume done detection for SS ports with LPM enabled Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 128/131] Revert "USB: core: only clean up what we allocated" Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 129/131] arm64: support keyctl() system call in 32-bit mode Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 130/131] coresight: removing bind/unbind options from sysfs Greg Kroah-Hartman
2019-04-01 17:03 ` [PATCH 4.4 131/131] stm class: Hide STM-specific options if STM is disabled Greg Kroah-Hartman
2019-04-01 22:43 ` [PATCH 4.4 000/131] 4.4.178-stable review kernelci.org bot
2019-04-02  2:57 ` Naresh Kamboju
2019-04-02  9:02 ` Jon Hunter
2019-04-02 19:04 ` Guenter Roeck
2019-04-02 23:56 ` shuah

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=20190401170052.555833178@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=hulkci@huawei.com \
    --cc=jack@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=yi.zhang@huawei.com \
    /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;
as well as URLs for NNTP newsgroup(s).