stable.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, Ilya Dryomov <ilya.dryomov@inktank.com>,
	Sage Weil <sage@redhat.com>
Subject: [PATCH 3.14 096/114] libceph: add process_one_ticket() helper
Date: Mon, 15 Sep 2014 12:26:36 -0700	[thread overview]
Message-ID: <20140915192644.424076568@linuxfoundation.org> (raw)
In-Reply-To: <20140915192641.428509513@linuxfoundation.org>

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

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

From: Ilya Dryomov <ilya.dryomov@inktank.com>

commit 597cda357716a3cf8d994cb11927af917c8d71fa upstream.

Add a helper for processing individual cephx auth tickets.  Needed for
the next commit, which deals with allocating ticket buffers.  (Most of
the diff here is whitespace - view with git diff -b).

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Reviewed-by: Sage Weil <sage@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 net/ceph/auth_x.c |  228 +++++++++++++++++++++++++++++-------------------------
 1 file changed, 124 insertions(+), 104 deletions(-)

--- a/net/ceph/auth_x.c
+++ b/net/ceph/auth_x.c
@@ -129,17 +129,131 @@ static void remove_ticket_handler(struct
 	kfree(th);
 }
 
+static int process_one_ticket(struct ceph_auth_client *ac,
+			      struct ceph_crypto_key *secret,
+			      void **p, void *end,
+			      void *dbuf, void *ticket_buf)
+{
+	struct ceph_x_info *xi = ac->private;
+	int type;
+	u8 tkt_struct_v, blob_struct_v;
+	struct ceph_x_ticket_handler *th;
+	void *dp, *dend;
+	int dlen;
+	char is_enc;
+	struct timespec validity;
+	struct ceph_crypto_key old_key;
+	void *tp, *tpend;
+	struct ceph_timespec new_validity;
+	struct ceph_crypto_key new_session_key;
+	struct ceph_buffer *new_ticket_blob;
+	unsigned long new_expires, new_renew_after;
+	u64 new_secret_id;
+	int ret;
+
+	ceph_decode_need(p, end, sizeof(u32) + 1, bad);
+
+	type = ceph_decode_32(p);
+	dout(" ticket type %d %s\n", type, ceph_entity_type_name(type));
+
+	tkt_struct_v = ceph_decode_8(p);
+	if (tkt_struct_v != 1)
+		goto bad;
+
+	th = get_ticket_handler(ac, type);
+	if (IS_ERR(th)) {
+		ret = PTR_ERR(th);
+		goto out;
+	}
+
+	/* blob for me */
+	dlen = ceph_x_decrypt(secret, p, end, dbuf,
+			      TEMP_TICKET_BUF_LEN);
+	if (dlen <= 0) {
+		ret = dlen;
+		goto out;
+	}
+	dout(" decrypted %d bytes\n", dlen);
+	dp = dbuf;
+	dend = dp + dlen;
+
+	tkt_struct_v = ceph_decode_8(&dp);
+	if (tkt_struct_v != 1)
+		goto bad;
+
+	memcpy(&old_key, &th->session_key, sizeof(old_key));
+	ret = ceph_crypto_key_decode(&new_session_key, &dp, dend);
+	if (ret)
+		goto out;
+
+	ceph_decode_copy(&dp, &new_validity, sizeof(new_validity));
+	ceph_decode_timespec(&validity, &new_validity);
+	new_expires = get_seconds() + validity.tv_sec;
+	new_renew_after = new_expires - (validity.tv_sec / 4);
+	dout(" expires=%lu renew_after=%lu\n", new_expires,
+	     new_renew_after);
+
+	/* ticket blob for service */
+	ceph_decode_8_safe(p, end, is_enc, bad);
+	tp = ticket_buf;
+	if (is_enc) {
+		/* encrypted */
+		dout(" encrypted ticket\n");
+		dlen = ceph_x_decrypt(&old_key, p, end, ticket_buf,
+				      TEMP_TICKET_BUF_LEN);
+		if (dlen < 0) {
+			ret = dlen;
+			goto out;
+		}
+		dlen = ceph_decode_32(&tp);
+	} else {
+		/* unencrypted */
+		ceph_decode_32_safe(p, end, dlen, bad);
+		ceph_decode_need(p, end, dlen, bad);
+		ceph_decode_copy(p, ticket_buf, dlen);
+	}
+	tpend = tp + dlen;
+	dout(" ticket blob is %d bytes\n", dlen);
+	ceph_decode_need(&tp, tpend, 1 + sizeof(u64), bad);
+	blob_struct_v = ceph_decode_8(&tp);
+	new_secret_id = ceph_decode_64(&tp);
+	ret = ceph_decode_buffer(&new_ticket_blob, &tp, tpend);
+	if (ret)
+		goto out;
+
+	/* all is well, update our ticket */
+	ceph_crypto_key_destroy(&th->session_key);
+	if (th->ticket_blob)
+		ceph_buffer_put(th->ticket_blob);
+	th->session_key = new_session_key;
+	th->ticket_blob = new_ticket_blob;
+	th->validity = new_validity;
+	th->secret_id = new_secret_id;
+	th->expires = new_expires;
+	th->renew_after = new_renew_after;
+	dout(" got ticket service %d (%s) secret_id %lld len %d\n",
+	     type, ceph_entity_type_name(type), th->secret_id,
+	     (int)th->ticket_blob->vec.iov_len);
+	xi->have_keys |= th->service;
+
+out:
+	return ret;
+
+bad:
+	ret = -EINVAL;
+	goto out;
+}
+
 static int ceph_x_proc_ticket_reply(struct ceph_auth_client *ac,
 				    struct ceph_crypto_key *secret,
 				    void *buf, void *end)
 {
-	struct ceph_x_info *xi = ac->private;
-	int num;
 	void *p = buf;
-	int ret;
 	char *dbuf;
 	char *ticket_buf;
 	u8 reply_struct_v;
+	u32 num;
+	int ret;
 
 	dbuf = kmalloc(TEMP_TICKET_BUF_LEN, GFP_NOFS);
 	if (!dbuf)
@@ -150,112 +264,18 @@ static int ceph_x_proc_ticket_reply(stru
 	if (!ticket_buf)
 		goto out_dbuf;
 
-	ceph_decode_need(&p, end, 1 + sizeof(u32), bad);
-	reply_struct_v = ceph_decode_8(&p);
+	ceph_decode_8_safe(&p, end, reply_struct_v, bad);
 	if (reply_struct_v != 1)
-		goto bad;
-	num = ceph_decode_32(&p);
-	dout("%d tickets\n", num);
-	while (num--) {
-		int type;
-		u8 tkt_struct_v, blob_struct_v;
-		struct ceph_x_ticket_handler *th;
-		void *dp, *dend;
-		int dlen;
-		char is_enc;
-		struct timespec validity;
-		struct ceph_crypto_key old_key;
-		void *tp, *tpend;
-		struct ceph_timespec new_validity;
-		struct ceph_crypto_key new_session_key;
-		struct ceph_buffer *new_ticket_blob;
-		unsigned long new_expires, new_renew_after;
-		u64 new_secret_id;
-
-		ceph_decode_need(&p, end, sizeof(u32) + 1, bad);
-
-		type = ceph_decode_32(&p);
-		dout(" ticket type %d %s\n", type, ceph_entity_type_name(type));
-
-		tkt_struct_v = ceph_decode_8(&p);
-		if (tkt_struct_v != 1)
-			goto bad;
-
-		th = get_ticket_handler(ac, type);
-		if (IS_ERR(th)) {
-			ret = PTR_ERR(th);
-			goto out;
-		}
-
-		/* blob for me */
-		dlen = ceph_x_decrypt(secret, &p, end, dbuf,
-				      TEMP_TICKET_BUF_LEN);
-		if (dlen <= 0) {
-			ret = dlen;
-			goto out;
-		}
-		dout(" decrypted %d bytes\n", dlen);
-		dend = dbuf + dlen;
-		dp = dbuf;
-
-		tkt_struct_v = ceph_decode_8(&dp);
-		if (tkt_struct_v != 1)
-			goto bad;
+		return -EINVAL;
 
-		memcpy(&old_key, &th->session_key, sizeof(old_key));
-		ret = ceph_crypto_key_decode(&new_session_key, &dp, dend);
-		if (ret)
-			goto out;
+	ceph_decode_32_safe(&p, end, num, bad);
+	dout("%d tickets\n", num);
 
-		ceph_decode_copy(&dp, &new_validity, sizeof(new_validity));
-		ceph_decode_timespec(&validity, &new_validity);
-		new_expires = get_seconds() + validity.tv_sec;
-		new_renew_after = new_expires - (validity.tv_sec / 4);
-		dout(" expires=%lu renew_after=%lu\n", new_expires,
-		     new_renew_after);
-
-		/* ticket blob for service */
-		ceph_decode_8_safe(&p, end, is_enc, bad);
-		tp = ticket_buf;
-		if (is_enc) {
-			/* encrypted */
-			dout(" encrypted ticket\n");
-			dlen = ceph_x_decrypt(&old_key, &p, end, ticket_buf,
-					      TEMP_TICKET_BUF_LEN);
-			if (dlen < 0) {
-				ret = dlen;
-				goto out;
-			}
-			dlen = ceph_decode_32(&tp);
-		} else {
-			/* unencrypted */
-			ceph_decode_32_safe(&p, end, dlen, bad);
-			ceph_decode_need(&p, end, dlen, bad);
-			ceph_decode_copy(&p, ticket_buf, dlen);
-		}
-		tpend = tp + dlen;
-		dout(" ticket blob is %d bytes\n", dlen);
-		ceph_decode_need(&tp, tpend, 1 + sizeof(u64), bad);
-		blob_struct_v = ceph_decode_8(&tp);
-		new_secret_id = ceph_decode_64(&tp);
-		ret = ceph_decode_buffer(&new_ticket_blob, &tp, tpend);
+	while (num--) {
+		ret = process_one_ticket(ac, secret, &p, end,
+					 dbuf, ticket_buf);
 		if (ret)
 			goto out;
-
-		/* all is well, update our ticket */
-		ceph_crypto_key_destroy(&th->session_key);
-		if (th->ticket_blob)
-			ceph_buffer_put(th->ticket_blob);
-		th->session_key = new_session_key;
-		th->ticket_blob = new_ticket_blob;
-		th->validity = new_validity;
-		th->secret_id = new_secret_id;
-		th->expires = new_expires;
-		th->renew_after = new_renew_after;
-		dout(" got ticket service %d (%s) secret_id %lld len %d\n",
-		     type, ceph_entity_type_name(type), th->secret_id,
-		     (int)th->ticket_blob->vec.iov_len);
-		xi->have_keys |= th->service;
 	}
 
 	ret = 0;



  parent reply	other threads:[~2014-09-15 19:26 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-15 19:25 [PATCH 3.14 000/114] 3.14.19-stable review Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 001/114] media: xc5000: Fix get_frequency() Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 002/114] media: xc4000: " Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 003/114] media: au0828: Only alt setting logic when needed Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 005/114] media: mt9v032: fix hblank calculation Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 006/114] media: v4l: vsp1: Remove the unneeded vsp1_video_buffer video field Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 007/114] media: sms: Remove CONFIG_ prefix from Kconfig symbols Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 008/114] iommu/amd: Fix cleanup_domain for mass device removal Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 009/114] spi: orion: fix incorrect handling of cell-index DT property Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 010/114] spi: omap2-mcspi: Configure hardware when slave driver changes mode Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 011/114] s390/locking: Reenable optimistic spinning Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 013/114] firmware: Do not use WARN_ON(!spin_is_locked()) Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 014/114] tpm: missing tpm_chip_put in tpm_get_random() Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 015/114] tpm: Provide a generic means to override the chip returned timeouts Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 016/114] tpm: Properly clean sysfs entries in error path Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 017/114] CAPABILITIES: remove undefined caps from all processes Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 018/114] kernel/smp.c:on_each_cpu_cond(): fix warning in fallback path Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 019/114] mfd: omap-usb-host: Fix improper mask use Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 020/114] regulator: arizona-ldo1: remove bypass functionality Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 021/114] powerpc/mm/numa: Fix break placement Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 022/114] powerpc/mm: Use read barrier when creating real_pte Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 023/114] powerpc/pseries: Failure on removing device node Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 024/114] powerpc/pseries: Avoid deadlock on removing ddw Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 025/114] powerpc/thp: Add write barrier after updating the valid bit Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 026/114] powerpc/thp: Dont recompute vsid and ssize in loop on invalidate Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 027/114] powerpc/thp: Invalidate old 64K based hash page mapping before insert of 4k pte Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 028/114] powerpc/thp: Handle combo pages in invalidate Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 029/114] powerpc/thp: Invalidate with vpn in loop Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 030/114] powerpc/thp: Use ACCESS_ONCE when loading pmdp Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 031/114] Drivers: scsi: storvsc: Implement a eh_timed_out handler Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 032/114] Drivers: scsi: storvsc: Filter commands based on the storage protocol version Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 033/114] Drivers: scsi: storvsc: Change the limits to reflect the values on the host Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 034/114] Drivers: scsi: storvsc: Set cmd_per_lun to reflect value supported by the Host Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 035/114] Drivers: scsi: storvsc: Fix a bug in handling VMBUS protocol version Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 036/114] drivers: scsi: storvsc: Set srb_flags in all cases Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 037/114] drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 038/114] scsi_scan: Restrict sequential scan to 256 LUNs Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 039/114] scsi: add a blacklist flag which enables VPD page inquiries Greg Kroah-Hartman
2014-09-15 21:23   ` Sitsofe Wheeler
2014-09-15 19:25 ` [PATCH 3.14 040/114] scsi: do not issue SCSI RSOC command to Promise Vtrak E610f Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 041/114] scsi_transport_srp: Fix fast_io_fail_tmo=dev_loss_tmo=off behavior Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 042/114] MIPS: GIC: Prevent array overrun Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 043/114] MIPS: O32/32-bit: Fix bug which can cause incorrect system call restarts Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 044/114] MIPS: ptrace: Test correct tasks flags in task_user_regset_view() Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 045/114] MIPS: ptrace: Change GP regset to use correct core dump register layout Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 046/114] MIPS: Prevent user from setting FCSR cause bits Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 047/114] MIPS: tlbex: Fix a missing statement for HUGETLB Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 048/114] MIPS: Remove BUG_ON(!is_fpu_owner()) in do_ade() Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 049/114] MIPS: asm/reg.h: Make 32- and 64-bit definitions available at the same time Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 050/114] MIPS: OCTEON: make get_system_type() thread-safe Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 051/114] ASoC: wm8994: Prevent double lock of accdet_lock mutex on wm1811 Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 052/114] ASoC: pcm: fix dpcm_path_put in dpcm runtime update Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 053/114] ASoC: wm_adsp: Add missing MODULE_LICENSE Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 054/114] ASoC: blackfin: use samples to set silence Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 055/114] ASoC: samsung: Correct I2S DAI suspend/resume ops Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 056/114] ASoC: adau1701: fix adau1701_reg_read() Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 057/114] ASoC: max98090: Fix missing free_irq Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 058/114] ASoC: pxa: pxa-ssp: small leak in probe() Greg Kroah-Hartman
2014-09-15 19:25 ` [PATCH 3.14 059/114] ASoC: pxa-ssp: drop SNDRV_PCM_FMTBIT_S24_LE Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 061/114] ASoC: rt5640: Do not allow regmap to use bulk read-write operations Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 062/114] bfa: Fix undefined bit shift on big-endian architectures with 32-bit DMA address Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 063/114] bq2415x_charger: Fix Atomic Sleep Bug Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 064/114] ACPICA: Utilities: Fix memory leak in acpi_ut_copy_iobject_to_iobject Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 065/114] ACPI / hotplug: Check scan handlers in acpi_scan_hot_remove() Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 066/114] spi/pxa2xx: Add ACPI ID for Intel Braswell Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 067/114] ACPI: Run fixed event device notifications in process context Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 068/114] ACPI / scan: not cache _SUN value in struct acpi_device_pnp Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 069/114] ACPI / cpuidle: fix deadlock between cpuidle_lock and cpu_hotplug.lock Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 070/114] xen/events/fifo: reset control block and local HEADs on resume Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 071/114] ring-buffer: Always reset iterator to reader page Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 072/114] ring-buffer: Up rb_iter_peek() loop count to 3 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 073/114] mnt: Only change user settable mount flags in remount Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 074/114] mnt: Move the test for MNT_LOCK_READONLY from change_mount_flags into do_remount Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 075/114] mnt: Correct permission checks in do_remount Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 076/114] mnt: Change the default remount atime from relatime to the existing value Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 077/114] mnt: Add tests for unprivileged remount cases that have found to be faulty Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 078/114] get rid of propagate_umount() mistakenly treating slaves as busy Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 079/114] fix EBUSY on umount() from MNT_SHRINKABLE Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 080/114] Bluetooth: btmrvl: wait for HOST_SLEEP_ENABLE event in suspend Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 081/114] Bluetooth: never linger on process exit Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 082/114] Bluetooth: Avoid use of session socket after the session gets freed Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 083/114] fix copy_tree() regression Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 084/114] md/raid1,raid10: always abort recover on write error Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 085/114] md/raid6: avoid data corruption during recovery of double-degraded RAID6 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 086/114] md/raid10: fix memory leak when reshaping a RAID10 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 087/114] md/raid10: Fix memory leak when raid10 reshape completes Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 088/114] RDMA/iwcm: Use a default listen backlog if needed Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 089/114] RDMA/uapi: Include socket.h in rdma_user_cm.h Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 090/114] xfs: ensure verifiers are attached to recovered buffers Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 091/114] xfs: quotacheck leaves dquot buffers without verifiers Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 092/114] xfs: dont dirty buffers beyond EOF Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 093/114] xfs: dont zero partial page cache pages during O_DIRECT writes Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 094/114] xfs: dont zero partial page cache pages during O_DIRECT write Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 095/114] libceph: set last_piece in ceph_msg_data_pages_cursor_init() correctly Greg Kroah-Hartman
2014-09-15 19:26 ` Greg Kroah-Hartman [this message]
2014-09-15 19:26 ` [PATCH 3.14 097/114] libceph: do not hard code max auth ticket len Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 098/114] CIFS: Fix STATUS_CANNOT_DELETE error mapping for SMB2 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 099/114] CIFS: Fix async reading on reconnects Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 100/114] CIFS: Possible null ptr deref in SMB2_tcon Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 101/114] CIFS: Fix wrong directory attributes after rename Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 102/114] vfs: add d_is_dir() Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 103/114] CIFS: Fix directory rename error Greg Kroah-Hartman
2014-09-16  5:17   ` Pavel Shilovsky
2014-09-16 14:40     ` Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 104/114] CIFS: Fix wrong filename length for SMB2 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 105/114] CIFS: Fix wrong restart readdir for SMB1 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 106/114] mtd/ftl: fix the double free of the buffers allocated in build_maps() Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 107/114] mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc() Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 108/114] blkcg: dont call into policy draining if root_blkg is already gone Greg Kroah-Hartman
2014-09-17 11:16   ` Ben Hutchings
2014-09-17 16:22     ` Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 109/114] IB/srp: Fix deadlock between host removal and multipathd Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 110/114] drm/nouveau: Bump version from 1.1.1 to 1.1.2 Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 111/114] vfs: fix bad hashing of dentries Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 112/114] libceph: gracefully handle large reply messages from the mon Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 113/114] KEYS: Fix use-after-free in assoc_array_gc() Greg Kroah-Hartman
2014-09-15 19:26 ` [PATCH 3.14 114/114] KEYS: Fix termination condition in assoc array garbage collection Greg Kroah-Hartman
2014-09-15 21:36 ` [PATCH 3.14 000/114] 3.14.19-stable review Holger Hoffstätte
2014-09-16  1:55 ` Guenter Roeck
2014-09-16 18:41 ` Shuah Khan

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=20140915192644.424076568@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ilya.dryomov@inktank.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sage@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 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).