All of lore.kernel.org
 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, Joe Thornber <ejt@redhat.com>,
	Mike Snitzer <snitzer@redhat.com>,
	Sasha Levin <alexander.levin@microsoft.com>
Subject: [PATCH 4.4 099/113] dm thin metadata: try to avoid ever aborting transactions
Date: Mon,  8 Oct 2018 20:31:40 +0200	[thread overview]
Message-ID: <20181008175536.690730890@linuxfoundation.org> (raw)
In-Reply-To: <20181008175530.864641368@linuxfoundation.org>

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

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

From: Joe Thornber <ejt@redhat.com>

[ Upstream commit 3ab91828166895600efd9cdc3a0eb32001f7204a ]

Committing a transaction can consume some metadata of it's own, we now
reserve a small amount of metadata to cover this.  Free metadata
reported by the kernel will not include this reserve.

If any of the reserve has been used after a commit we enter a new
internal state PM_OUT_OF_METADATA_SPACE.  This is reported as
PM_READ_ONLY, so no userland changes are needed.  If the metadata
device is resized the pool will move back to PM_WRITE.

These changes mean we never need to abort and rollback a transaction due
to running out of metadata space.  This is particularly important
because there have been a handful of reports of data corruption against
DM thin-provisioning that can all be attributed to the thin-pool having
ran out of metadata space.

Signed-off-by: Joe Thornber <ejt@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/md/dm-thin-metadata.c |   36 ++++++++++++++++++++
 drivers/md/dm-thin.c          |   73 +++++++++++++++++++++++++++++++++++++-----
 2 files changed, 100 insertions(+), 9 deletions(-)

--- a/drivers/md/dm-thin-metadata.c
+++ b/drivers/md/dm-thin-metadata.c
@@ -190,6 +190,12 @@ struct dm_pool_metadata {
 	sector_t data_block_size;
 
 	/*
+	 * We reserve a section of the metadata for commit overhead.
+	 * All reported space does *not* include this.
+	 */
+	dm_block_t metadata_reserve;
+
+	/*
 	 * Set if a transaction has to be aborted but the attempt to roll back
 	 * to the previous (good) transaction failed.  The only pool metadata
 	 * operation possible in this state is the closing of the device.
@@ -827,6 +833,22 @@ static int __commit_transaction(struct d
 	return dm_tm_commit(pmd->tm, sblock);
 }
 
+static void __set_metadata_reserve(struct dm_pool_metadata *pmd)
+{
+	int r;
+	dm_block_t total;
+	dm_block_t max_blocks = 4096; /* 16M */
+
+	r = dm_sm_get_nr_blocks(pmd->metadata_sm, &total);
+	if (r) {
+		DMERR("could not get size of metadata device");
+		pmd->metadata_reserve = max_blocks;
+	} else {
+		sector_div(total, 10);
+		pmd->metadata_reserve = min(max_blocks, total);
+	}
+}
+
 struct dm_pool_metadata *dm_pool_metadata_open(struct block_device *bdev,
 					       sector_t data_block_size,
 					       bool format_device)
@@ -860,6 +882,8 @@ struct dm_pool_metadata *dm_pool_metadat
 		return ERR_PTR(r);
 	}
 
+	__set_metadata_reserve(pmd);
+
 	return pmd;
 }
 
@@ -1763,6 +1787,13 @@ int dm_pool_get_free_metadata_block_coun
 	down_read(&pmd->root_lock);
 	if (!pmd->fail_io)
 		r = dm_sm_get_nr_free(pmd->metadata_sm, result);
+
+	if (!r) {
+		if (*result < pmd->metadata_reserve)
+			*result = 0;
+		else
+			*result -= pmd->metadata_reserve;
+	}
 	up_read(&pmd->root_lock);
 
 	return r;
@@ -1875,8 +1906,11 @@ int dm_pool_resize_metadata_dev(struct d
 	int r = -EINVAL;
 
 	down_write(&pmd->root_lock);
-	if (!pmd->fail_io)
+	if (!pmd->fail_io) {
 		r = __resize_space_map(pmd->metadata_sm, new_count);
+		if (!r)
+			__set_metadata_reserve(pmd);
+	}
 	up_write(&pmd->root_lock);
 
 	return r;
--- a/drivers/md/dm-thin.c
+++ b/drivers/md/dm-thin.c
@@ -200,7 +200,13 @@ struct dm_thin_new_mapping;
 enum pool_mode {
 	PM_WRITE,		/* metadata may be changed */
 	PM_OUT_OF_DATA_SPACE,	/* metadata may be changed, though data may not be allocated */
+
+	/*
+	 * Like READ_ONLY, except may switch back to WRITE on metadata resize. Reported as READ_ONLY.
+	 */
+	PM_OUT_OF_METADATA_SPACE,
 	PM_READ_ONLY,		/* metadata may not be changed */
+
 	PM_FAIL,		/* all I/O fails */
 };
 
@@ -1301,7 +1307,35 @@ static void set_pool_mode(struct pool *p
 
 static void requeue_bios(struct pool *pool);
 
-static void check_for_space(struct pool *pool)
+static bool is_read_only_pool_mode(enum pool_mode mode)
+{
+	return (mode == PM_OUT_OF_METADATA_SPACE || mode == PM_READ_ONLY);
+}
+
+static bool is_read_only(struct pool *pool)
+{
+	return is_read_only_pool_mode(get_pool_mode(pool));
+}
+
+static void check_for_metadata_space(struct pool *pool)
+{
+	int r;
+	const char *ooms_reason = NULL;
+	dm_block_t nr_free;
+
+	r = dm_pool_get_free_metadata_block_count(pool->pmd, &nr_free);
+	if (r)
+		ooms_reason = "Could not get free metadata blocks";
+	else if (!nr_free)
+		ooms_reason = "No free metadata blocks";
+
+	if (ooms_reason && !is_read_only(pool)) {
+		DMERR("%s", ooms_reason);
+		set_pool_mode(pool, PM_OUT_OF_METADATA_SPACE);
+	}
+}
+
+static void check_for_data_space(struct pool *pool)
 {
 	int r;
 	dm_block_t nr_free;
@@ -1327,14 +1361,16 @@ static int commit(struct pool *pool)
 {
 	int r;
 
-	if (get_pool_mode(pool) >= PM_READ_ONLY)
+	if (get_pool_mode(pool) >= PM_OUT_OF_METADATA_SPACE)
 		return -EINVAL;
 
 	r = dm_pool_commit_metadata(pool->pmd);
 	if (r)
 		metadata_operation_failed(pool, "dm_pool_commit_metadata", r);
-	else
-		check_for_space(pool);
+	else {
+		check_for_metadata_space(pool);
+		check_for_data_space(pool);
+	}
 
 	return r;
 }
@@ -1400,6 +1436,19 @@ static int alloc_data_block(struct thin_
 		return r;
 	}
 
+	r = dm_pool_get_free_metadata_block_count(pool->pmd, &free_blocks);
+	if (r) {
+		metadata_operation_failed(pool, "dm_pool_get_free_metadata_block_count", r);
+		return r;
+	}
+
+	if (!free_blocks) {
+		/* Let's commit before we use up the metadata reserve. */
+		r = commit(pool);
+		if (r)
+			return r;
+	}
+
 	return 0;
 }
 
@@ -1431,6 +1480,7 @@ static int should_error_unserviceable_bi
 	case PM_OUT_OF_DATA_SPACE:
 		return pool->pf.error_if_no_space ? -ENOSPC : 0;
 
+	case PM_OUT_OF_METADATA_SPACE:
 	case PM_READ_ONLY:
 	case PM_FAIL:
 		return -EIO;
@@ -2401,8 +2451,9 @@ static void set_pool_mode(struct pool *p
 		error_retry_list(pool);
 		break;
 
+	case PM_OUT_OF_METADATA_SPACE:
 	case PM_READ_ONLY:
-		if (old_mode != new_mode)
+		if (!is_read_only_pool_mode(old_mode))
 			notify_of_pool_mode_change(pool, "read-only");
 		dm_pool_metadata_read_only(pool->pmd);
 		pool->process_bio = process_bio_read_only;
@@ -3333,6 +3384,10 @@ static int maybe_resize_metadata_dev(str
 		DMINFO("%s: growing the metadata device from %llu to %llu blocks",
 		       dm_device_name(pool->pool_md),
 		       sb_metadata_dev_size, metadata_dev_size);
+
+		if (get_pool_mode(pool) == PM_OUT_OF_METADATA_SPACE)
+			set_pool_mode(pool, PM_WRITE);
+
 		r = dm_pool_resize_metadata_dev(pool->pmd, metadata_dev_size);
 		if (r) {
 			metadata_operation_failed(pool, "dm_pool_resize_metadata_dev", r);
@@ -3636,7 +3691,7 @@ static int pool_message(struct dm_target
 	struct pool_c *pt = ti->private;
 	struct pool *pool = pt->pool;
 
-	if (get_pool_mode(pool) >= PM_READ_ONLY) {
+	if (get_pool_mode(pool) >= PM_OUT_OF_METADATA_SPACE) {
 		DMERR("%s: unable to service pool target messages in READ_ONLY or FAIL mode",
 		      dm_device_name(pool->pool_md));
 		return -EOPNOTSUPP;
@@ -3710,6 +3765,7 @@ static void pool_status(struct dm_target
 	dm_block_t nr_blocks_data;
 	dm_block_t nr_blocks_metadata;
 	dm_block_t held_root;
+	enum pool_mode mode;
 	char buf[BDEVNAME_SIZE];
 	char buf2[BDEVNAME_SIZE];
 	struct pool_c *pt = ti->private;
@@ -3780,9 +3836,10 @@ static void pool_status(struct dm_target
 		else
 			DMEMIT("- ");
 
-		if (pool->pf.mode == PM_OUT_OF_DATA_SPACE)
+		mode = get_pool_mode(pool);
+		if (mode == PM_OUT_OF_DATA_SPACE)
 			DMEMIT("out_of_data_space ");
-		else if (pool->pf.mode == PM_READ_ONLY)
+		else if (is_read_only_pool_mode(mode))
 			DMEMIT("ro ");
 		else
 			DMEMIT("rw ");



  parent reply	other threads:[~2018-10-08 18:38 UTC|newest]

Thread overview: 132+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-08 18:30 [PATCH 4.4 000/113] 4.4.160-stable review Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 001/113] crypto: skcipher - Fix -Wstringop-truncation warnings Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 002/113] tsl2550: fix lux1_input error in low light Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 003/113] vmci: type promotion bug in qp_host_get_user_memory() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 004/113] x86/numa_emulation: Fix emulated-to-physical node mapping Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 005/113] staging: rts5208: fix missing error check on call to rtsx_write_register Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 006/113] uwb: hwa-rc: fix memory leak at probe Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 007/113] power: vexpress: fix corruption in notifier registration Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 008/113] Bluetooth: Add a new Realtek 8723DE ID 0bda:b009 Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 009/113] USB: serial: kobil_sct: fix modem-status error handling Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 010/113] 6lowpan: iphc: reset mac_header after decompress to fix panic Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 011/113] md-cluster: clear another nodes suspend_area after the copy is finished Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 012/113] media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 013/113] powerpc/kdump: Handle crashkernel memory reservation failure Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 014/113] media: fsl-viu: fix error handling in viu_of_probe() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 015/113] x86/tsc: Add missing header to tsc_msr.c Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 016/113] x86/entry/64: Add two more instruction suffixes Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 017/113] scsi: target/iscsi: Make iscsit_ta_authentication() respect the output buffer size Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 018/113] scsi: klist: Make it safe to use klists in atomic context Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 019/113] scsi: ibmvscsi: Improve strings handling Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 020/113] usb: wusbcore: security: cast sizeof to int for comparison Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 021/113] powerpc/powernv/ioda2: Reduce upper limit for DMA window size Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 022/113] alarmtimer: Prevent overflow for relative nanosleep Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 023/113] s390/extmem: fix gcc 8 stringop-overflow warning Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 024/113] ALSA: snd-aoa: add of_node_put() in error path Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 025/113] media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 026/113] media: soc_camera: ov772x: correct setting of banding filter Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 027/113] media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 028/113] staging: android: ashmem: Fix mmap size validation Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 029/113] drivers/tty: add error handling for pcmcia_loop_config Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 030/113] media: tm6000: add error handling for dvb_register_adapter Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 031/113] ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 032/113] ath10k: protect ath10k_htt_rx_ring_free with rx_ring.lock Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 033/113] rndis_wlan: potential buffer overflow in rndis_wlan_auth_indication() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 034/113] wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 035/113] ARM: mvebu: declare asm symbols as character arrays in pmsu.c Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 036/113] HID: hid-ntrig: add error handling for sysfs_create_group Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 037/113] scsi: bnx2i: add error handling for ioremap_nocache Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 038/113] EDAC, i7core: Fix memleaks and use-after-free on probe and remove Greg Kroah-Hartman
2018-10-08 18:30   ` [4.4,038/113] " Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 039/113] ASoC: dapm: Fix potential DAI widget pointer deref when linking DAIs Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 040/113] module: exclude SHN_UNDEF symbols from kallsyms api Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 041/113] nfsd: fix corrupted reply to badly ordered compound Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 042/113] ARM: dts: dra7: fix DCAN node addresses Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 043/113] floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 044/113] serial: cpm_uart: return immediately from console poll Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 045/113] spi: tegra20-slink: explicitly enable/disable clock Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 046/113] spi: sh-msiof: Fix invalid SPI use during system suspend Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 047/113] spi: sh-msiof: Fix handling of write value for SISTR register Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 048/113] spi: rspi: Fix invalid SPI use during system suspend Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 049/113] spi: rspi: Fix interrupted DMA transfers Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 050/113] USB: fix error handling in usb_driver_claim_interface() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 051/113] USB: handle NULL config in usb_find_alt_setting() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 052/113] slub: make ->cpu_partial unsigned int Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 053/113] media: uvcvideo: Support realteks UVC 1.5 device Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 054/113] USB: usbdevfs: sanitize flags more Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 055/113] USB: usbdevfs: restore warning for nonsensical flags Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 056/113] Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_outstanding_interrupt()" Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 057/113] USB: remove LPM management from usb_driver_claim_interface() Greg Kroah-Hartman
2018-10-08 18:30 ` [PATCH 4.4 058/113] Input: elantech - enable middle button of touchpad on ThinkPad P72 Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 059/113] IB/srp: Avoid that sg_reset -d ${srp_device} triggers an infinite loop Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 060/113] scsi: target: iscsi: Use bin2hex instead of a re-implementation Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 061/113] serial: imx: restore handshaking irq for imx1 Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 062/113] arm64: KVM: Tighten guest core register access from userspace Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 063/113] ext4: never move the system.data xattr out of the inode body Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 064/113] thermal: of-thermal: disable passive polling when thermal zone is disabled Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 065/113] net: hns: fix length and page_offset overflow when CONFIG_ARM64_64K_PAGES Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 066/113] e1000: check on netif_running() before calling e1000_up() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 067/113] e1000: ensure to free old tx/rx rings in set_ringparam() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 068/113] hwmon: (ina2xx) fix sysfs shunt resistor read access Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 069/113] hwmon: (adt7475) Make adt7475_read_word() return errors Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 070/113] i2c: i801: Allow ACPI AML access I/O ports not reserved for SMBus Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 071/113] arm64: cpufeature: Track 32bit EL0 support Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 072/113] arm64: KVM: Sanitize PSTATE.M when being set from userspace Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 073/113] media: v4l: event: Prevent freeing event subscriptions while accessed Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 074/113] KVM: PPC: Book3S HV: Dont truncate HPTE index in xlate function Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 075/113] mac80211: correct use of IEEE80211_VHT_CAP_RXSTBC_X Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 076/113] mac80211_hwsim: " Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 077/113] gpio: adp5588: Fix sleep-in-atomic-context bug Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 078/113] mac80211: mesh: fix HWMP sequence numbering to follow standard Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 079/113] cfg80211: nl80211_update_ft_ies() to validate NL80211_ATTR_IE Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 080/113] RAID10 BUG_ON in raise_barrier when force is true and conf->barrier is 0 Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 081/113] i2c: uniphier: issue STOP only for last message or I2C_M_STOP Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 082/113] i2c: uniphier-f: " Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 083/113] net: cadence: Fix a sleep-in-atomic-context bug in macb_halt_tx() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 084/113] fs/cifs: dont translate SFM_SLASH (U+F026) to backslash Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 085/113] cfg80211: fix a type issue in ieee80211_chandef_to_operating_class() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 086/113] mac80211: fix a race between restart and CSA flows Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 087/113] mac80211: Fix station bandwidth setting after channel switch Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 088/113] mac80211: shorten the IBSS debug messages Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 089/113] tools/vm/slabinfo.c: fix sign-compare warning Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 090/113] tools/vm/page-types.c: fix "defined but not used" warning Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 091/113] mm: madvise(MADV_DODUMP): allow hugetlbfs pages Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 092/113] usb: gadget: fotg210-udc: Fix memory leak of fotg210->ep[i] Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 093/113] pinctrl: msm: Really mask level interrupts to prevent latching Greg Kroah-Hartman
2018-10-09  6:33   ` Nathan Chancellor
2018-10-09  9:23     ` Greg Kroah-Hartman
2018-10-09 16:57       ` Bjorn Andersson
2018-10-10  7:12     ` Linus Walleij
2018-10-10  7:53       ` Nathan Chancellor
2018-10-10 12:12         ` Linus Walleij
2018-10-10 12:45           ` Greg KH
2018-10-10 14:39             ` Sasha Levin
2018-10-10 15:03               ` Greg KH
2018-10-08 18:31 ` [PATCH 4.4 094/113] perf probe powerpc: Ignore SyS symbols irrespective of endianness Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 095/113] RDMA/ucma: check fd type in ucma_migrate_id() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 096/113] USB: yurex: Check for truncation in yurex_read() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 097/113] drm/nouveau/TBDdevinit: dont fail when PMU/PRE_OS is missing from VBIOS Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 098/113] fs/cifs: suppress a string overflow warning Greg Kroah-Hartman
2018-10-08 18:31 ` Greg Kroah-Hartman [this message]
2018-10-08 18:31 ` [PATCH 4.4 100/113] arch/hexagon: fix kernel/dma.c build warning Greg Kroah-Hartman
2018-10-08 18:31   ` Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 101/113] hexagon: modify ffs() and fls() to return int Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 102/113] arm64: jump_label.h: use asm_volatile_goto macro instead of "asm goto" Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 103/113] r8169: Clear RTL_FLAG_TASK_*_PENDING when clearing RTL_FLAG_TASK_ENABLED Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 104/113] s390/qeth: dont dump past end of unknown HW header Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 105/113] cifs: read overflow in is_valid_oplock_break() Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 106/113] xen/manage: dont complain about an empty value in control/sysrq node Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 107/113] xen: avoid crash in disable_hotplug_cpu Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 108/113] xen: fix GCC warning and remove duplicate EVTCHN_ROW/EVTCHN_COL usage Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 109/113] smb2: fix missing files in root share directory listing Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 110/113] ALSA: hda/realtek - Cannot adjust speakers volume on Dell XPS 27 7760 Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 111/113] crypto: mxs-dcp - Fix wait logic on chan threads Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 112/113] proc: restrict kernel stack dumps to root Greg Kroah-Hartman
2018-10-08 18:31 ` [PATCH 4.4 113/113] ocfs2: fix locking for res->tracking and dlm->tracking_list Greg Kroah-Hartman
2018-10-08 23:23 ` [PATCH 4.4 000/113] 4.4.160-stable review Shuah Khan
2018-10-09  1:29 ` Nathan Chancellor
2018-10-09 21:05 ` Guenter Roeck
2018-10-10  5:53   ` Greg Kroah-Hartman
2018-10-10  4:20 ` Naresh Kamboju
2018-10-10  6:56 ` Jon Hunter
2018-10-10  6:56   ` Jon Hunter

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=20181008175536.690730890@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=alexander.levin@microsoft.com \
    --cc=ejt@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=snitzer@redhat.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.