public inbox for linux-kernel@vger.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, Jeff Layton <jlayton@redhat.com>,
	Pavel Shilovsky <piastry@etersoft.ru>,
	Steve French <smfrench@gmail.com>
Subject: [PATCH 3.12 102/212] CIFS: Fix symbolic links usage
Date: Mon,  2 Dec 2013 11:14:53 -0800	[thread overview]
Message-ID: <20131202191258.741725418@linuxfoundation.org> (raw)
In-Reply-To: <20131202191248.517975703@linuxfoundation.org>

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

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

From: Pavel Shilovsky <piastry@etersoft.ru>

commit eb85d94bdd91fb4dbea4ee465d4349cbea4eaaca upstream.

Now we treat any reparse point as a symbolic link and map it to a Unix
one that is not true in a common case due to many reparse point types
supported by SMB servers.

Distinguish reparse point types into two groups:
1) that can be accessed directly through a reparse point
(junctions, deduplicated files, NFS symlinks);
2) that need to be processed manually (Windows symbolic links, DFS);

and map only Windows symbolic links to Unix ones.

Acked-by: Jeff Layton <jlayton@redhat.com>
Reported-and-tested-by: Joao Correia <joaomiguelcorreia@gmail.com>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <smfrench@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 fs/cifs/cifsglob.h  |    2 +-
 fs/cifs/inode.c     |   23 +++++++++++++----------
 fs/cifs/readdir.c   |   40 ++++++++--------------------------------
 fs/cifs/smb1ops.c   |   21 ++++++++++++++++++++-
 fs/cifs/smb2inode.c |   16 ++++++++++++----
 fs/cifs/smb2proto.h |    2 +-
 6 files changed, 55 insertions(+), 49 deletions(-)

--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -261,7 +261,7 @@ struct smb_version_operations {
 	/* query path data from the server */
 	int (*query_path_info)(const unsigned int, struct cifs_tcon *,
 			       struct cifs_sb_info *, const char *,
-			       FILE_ALL_INFO *, bool *);
+			       FILE_ALL_INFO *, bool *, bool *);
 	/* query file data from the server */
 	int (*query_file_info)(const unsigned int, struct cifs_tcon *,
 			       struct cifs_fid *, FILE_ALL_INFO *);
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -542,7 +542,8 @@ static int cifs_sfu_mode(struct cifs_fat
 /* Fill a cifs_fattr struct with info from FILE_ALL_INFO */
 static void
 cifs_all_info_to_fattr(struct cifs_fattr *fattr, FILE_ALL_INFO *info,
-		       struct cifs_sb_info *cifs_sb, bool adjust_tz)
+		       struct cifs_sb_info *cifs_sb, bool adjust_tz,
+		       bool symlink)
 {
 	struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb);
 
@@ -569,7 +570,11 @@ cifs_all_info_to_fattr(struct cifs_fattr
 	fattr->cf_createtime = le64_to_cpu(info->CreationTime);
 
 	fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks);
-	if (fattr->cf_cifsattrs & ATTR_DIRECTORY) {
+
+	if (symlink) {
+		fattr->cf_mode = S_IFLNK;
+		fattr->cf_dtype = DT_LNK;
+	} else if (fattr->cf_cifsattrs & ATTR_DIRECTORY) {
 		fattr->cf_mode = S_IFDIR | cifs_sb->mnt_dir_mode;
 		fattr->cf_dtype = DT_DIR;
 		/*
@@ -578,10 +583,6 @@ cifs_all_info_to_fattr(struct cifs_fattr
 		 */
 		if (!tcon->unix_ext)
 			fattr->cf_flags |= CIFS_FATTR_UNKNOWN_NLINK;
-	} else if (fattr->cf_cifsattrs & ATTR_REPARSE) {
-		fattr->cf_mode = S_IFLNK;
-		fattr->cf_dtype = DT_LNK;
-		fattr->cf_nlink = le32_to_cpu(info->NumberOfLinks);
 	} else {
 		fattr->cf_mode = S_IFREG | cifs_sb->mnt_file_mode;
 		fattr->cf_dtype = DT_REG;
@@ -626,7 +627,8 @@ cifs_get_file_info(struct file *filp)
 	rc = server->ops->query_file_info(xid, tcon, &cfile->fid, &find_data);
 	switch (rc) {
 	case 0:
-		cifs_all_info_to_fattr(&fattr, &find_data, cifs_sb, false);
+		cifs_all_info_to_fattr(&fattr, &find_data, cifs_sb, false,
+				       false);
 		break;
 	case -EREMOTE:
 		cifs_create_dfs_fattr(&fattr, inode->i_sb);
@@ -673,6 +675,7 @@ cifs_get_inode_info(struct inode **inode
 	bool adjust_tz = false;
 	struct cifs_fattr fattr;
 	struct cifs_search_info *srchinf = NULL;
+	bool symlink = false;
 
 	tlink = cifs_sb_tlink(cifs_sb);
 	if (IS_ERR(tlink))
@@ -702,12 +705,12 @@ cifs_get_inode_info(struct inode **inode
 		}
 		data = (FILE_ALL_INFO *)buf;
 		rc = server->ops->query_path_info(xid, tcon, cifs_sb, full_path,
-						  data, &adjust_tz);
+						  data, &adjust_tz, &symlink);
 	}
 
 	if (!rc) {
-		cifs_all_info_to_fattr(&fattr, (FILE_ALL_INFO *)data, cifs_sb,
-				       adjust_tz);
+		cifs_all_info_to_fattr(&fattr, data, cifs_sb, adjust_tz,
+				       symlink);
 	} else if (rc == -EREMOTE) {
 		cifs_create_dfs_fattr(&fattr, sb);
 		rc = 0;
--- a/fs/cifs/readdir.c
+++ b/fs/cifs/readdir.c
@@ -134,22 +134,6 @@ out:
 	dput(dentry);
 }
 
-/*
- * Is it possible that this directory might turn out to be a DFS referral
- * once we go to try and use it?
- */
-static bool
-cifs_dfs_is_possible(struct cifs_sb_info *cifs_sb)
-{
-#ifdef CONFIG_CIFS_DFS_UPCALL
-	struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb);
-
-	if (tcon->Flags & SMB_SHARE_IS_IN_DFS)
-		return true;
-#endif
-	return false;
-}
-
 static void
 cifs_fill_common_info(struct cifs_fattr *fattr, struct cifs_sb_info *cifs_sb)
 {
@@ -159,27 +143,19 @@ cifs_fill_common_info(struct cifs_fattr
 	if (fattr->cf_cifsattrs & ATTR_DIRECTORY) {
 		fattr->cf_mode = S_IFDIR | cifs_sb->mnt_dir_mode;
 		fattr->cf_dtype = DT_DIR;
-		/*
-		 * Windows CIFS servers generally make DFS referrals look
-		 * like directories in FIND_* responses with the reparse
-		 * attribute flag also set (since DFS junctions are
-		 * reparse points). We must revalidate at least these
-		 * directory inodes before trying to use them (if
-		 * they are DFS we will get PATH_NOT_COVERED back
-		 * when queried directly and can then try to connect
-		 * to the DFS target)
-		 */
-		if (cifs_dfs_is_possible(cifs_sb) &&
-		    (fattr->cf_cifsattrs & ATTR_REPARSE))
-			fattr->cf_flags |= CIFS_FATTR_NEED_REVAL;
-	} else if (fattr->cf_cifsattrs & ATTR_REPARSE) {
-		fattr->cf_mode = S_IFLNK;
-		fattr->cf_dtype = DT_LNK;
 	} else {
 		fattr->cf_mode = S_IFREG | cifs_sb->mnt_file_mode;
 		fattr->cf_dtype = DT_REG;
 	}
 
+	/*
+	 * We need to revalidate it further to make a decision about whether it
+	 * is a symbolic link, DFS referral or a reparse point with a direct
+	 * access like junctions, deduplicated files, NFS symlinks.
+	 */
+	if (fattr->cf_cifsattrs & ATTR_REPARSE)
+		fattr->cf_flags |= CIFS_FATTR_NEED_REVAL;
+
 	/* non-unix readdir doesn't provide nlink */
 	fattr->cf_flags |= CIFS_FATTR_UNKNOWN_NLINK;
 
--- a/fs/cifs/smb1ops.c
+++ b/fs/cifs/smb1ops.c
@@ -534,10 +534,12 @@ cifs_is_path_accessible(const unsigned i
 static int
 cifs_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,
 		     struct cifs_sb_info *cifs_sb, const char *full_path,
-		     FILE_ALL_INFO *data, bool *adjustTZ)
+		     FILE_ALL_INFO *data, bool *adjustTZ, bool *symlink)
 {
 	int rc;
 
+	*symlink = false;
+
 	/* could do find first instead but this returns more info */
 	rc = CIFSSMBQPathInfo(xid, tcon, full_path, data, 0 /* not legacy */,
 			      cifs_sb->local_nls, cifs_sb->mnt_cifs_flags &
@@ -554,6 +556,23 @@ cifs_query_path_info(const unsigned int
 						CIFS_MOUNT_MAP_SPECIAL_CHR);
 		*adjustTZ = true;
 	}
+
+	if (!rc && (le32_to_cpu(data->Attributes) & ATTR_REPARSE)) {
+		int tmprc;
+		int oplock = 0;
+		__u16 netfid;
+
+		/* Need to check if this is a symbolic link or not */
+		tmprc = CIFSSMBOpen(xid, tcon, full_path, FILE_OPEN,
+				    FILE_READ_ATTRIBUTES, 0, &netfid, &oplock,
+				    NULL, cifs_sb->local_nls,
+			cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
+		if (tmprc == -EOPNOTSUPP)
+			*symlink = true;
+		else
+			CIFSSMBClose(xid, tcon, netfid);
+	}
+
 	return rc;
 }
 
--- a/fs/cifs/smb2inode.c
+++ b/fs/cifs/smb2inode.c
@@ -123,12 +123,13 @@ move_smb2_info_to_cifs(FILE_ALL_INFO *ds
 int
 smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,
 		     struct cifs_sb_info *cifs_sb, const char *full_path,
-		     FILE_ALL_INFO *data, bool *adjust_tz)
+		     FILE_ALL_INFO *data, bool *adjust_tz, bool *symlink)
 {
 	int rc;
 	struct smb2_file_all_info *smb2_data;
 
 	*adjust_tz = false;
+	*symlink = false;
 
 	smb2_data = kzalloc(sizeof(struct smb2_file_all_info) + MAX_NAME * 2,
 			    GFP_KERNEL);
@@ -136,9 +137,16 @@ smb2_query_path_info(const unsigned int
 		return -ENOMEM;
 
 	rc = smb2_open_op_close(xid, tcon, cifs_sb, full_path,
-				FILE_READ_ATTRIBUTES, FILE_OPEN,
-				OPEN_REPARSE_POINT, smb2_data,
-				SMB2_OP_QUERY_INFO);
+				FILE_READ_ATTRIBUTES, FILE_OPEN, 0,
+				smb2_data, SMB2_OP_QUERY_INFO);
+	if (rc == -EOPNOTSUPP) {
+		*symlink = true;
+		/* Failed on a symbolic link - query a reparse point info */
+		rc = smb2_open_op_close(xid, tcon, cifs_sb, full_path,
+					FILE_READ_ATTRIBUTES, FILE_OPEN,
+					OPEN_REPARSE_POINT, smb2_data,
+					SMB2_OP_QUERY_INFO);
+	}
 	if (rc)
 		goto out;
 
--- a/fs/cifs/smb2proto.h
+++ b/fs/cifs/smb2proto.h
@@ -61,7 +61,7 @@ extern void move_smb2_info_to_cifs(FILE_
 extern int smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,
 				struct cifs_sb_info *cifs_sb,
 				const char *full_path, FILE_ALL_INFO *data,
-				bool *adjust_tz);
+				bool *adjust_tz, bool *symlink);
 extern int smb2_set_path_size(const unsigned int xid, struct cifs_tcon *tcon,
 			      const char *full_path, __u64 size,
 			      struct cifs_sb_info *cifs_sb, bool set_alloc);



  parent reply	other threads:[~2013-12-02 20:03 UTC|newest]

Thread overview: 222+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-02 19:13 [PATCH 3.12 000/212] 3.12.3-stable review Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 001/212] parisc: sticon - unbreak on 64bit kernel Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 002/212] ARM: OMAP2+: irq, AM33XX add missing register check Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 003/212] ARM: sa11x0/assabet: ensure CS2 is configured appropriately Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 004/212] ARM: 7876/1: clear Thumb-2 IT state on exception handling Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 005/212] ARM: integrator_cp: Set LCD{0,1} enable lines when turning on CLCD Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 006/212] ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 007/212] ARM: at91: fix hanged boot due to early rtc-interrupt Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 008/212] ARM: at91: fix hanged boot due to early rtt-interrupt Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 009/212] ARM: i.MX6q: fix the wrong parent of can_root clock Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 010/212] Staging: tidspbridge: disable driver Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 011/212] staging/lustre/ptlrpc: fix ptlrpc_stop_pinger logic Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 012/212] staging: zsmalloc: Ensure handle is never 0 on success Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 013/212] Staging: zram: Fix memory leak by refcount mismatch Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 014/212] staging: vt6656: [BUG] Fix for TX USB resets from vendors driver Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 015/212] staging: r8188eu: Fix AP mode Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 016/212] backlight: atmel-pwm-bl: fix gpio polarity in remove Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 017/212] backlight: atmel-pwm-bl: fix reported brightness Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 018/212] ASoC: wm_adsp: Interpret ADSP memory region lengths as 32 bit words Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 019/212] ASoC: ak4642: prevent un-necessary changes to SG_SL1 Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 020/212] ASoC: cs42l52: Correct MIC CTL mask Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 021/212] ASoC: wm8962: Turn on regcache_cache_only before disabling regulator Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 022/212] ASoC: blackfin: Fix missing break Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 023/212] ASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 024/212] ASoC: arizona: Set FLL to free-run before disabling Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 025/212] ASoC: wm5110: Add post SYSCLK register patch for rev D chip Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 026/212] genirq: Set the irq thread policy without checking CAP_SYS_NICE Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 027/212] perf tools: Remove cast of non-variadic function to variadic Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 028/212] perf tools: Synthesize anon MMAP records again Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 029/212] alarmtimer: return EINVAL instead of ENOTSUPP if rtcdev doesnt exist Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 030/212] pinctrl: dove: unset twsi option3 for gconfig as well Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 031/212] regulator: ti-abb: Fix operator precedence typo Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 032/212] rbtree: fix rbtree_postorder_for_each_entry_safe() iterator Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 033/212] devpts: plug the memory leak in kill_sb Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 034/212] parisc: break out SOCK_NONBLOCK define to own asm header file Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 035/212] i2c: wmt: add missing clk_disable_unprepare() on error Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 036/212] i2c: mux: gpio: use reg value for i2c_add_mux_adapter Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 037/212] i2c: mux: gpio: use gpio_set_value_cansleep() Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 038/212] ARM: dts: Add max77686 RTC interrupt to cros5250-common Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 039/212] ARM: bcm2835: add missing #xxx-cells to I2C nodes Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 040/212] cfg80211: fix scheduled scan pointer access Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 041/212] gpio: twl4030: Fix regression for twl gpio output Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 042/212] gpio: mvebu: make mvchip->irqbase signed for error handling Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 043/212] gpio: msm: make msm_gpio.summary_irq " Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 044/212] gpio: rcar: NULL dereference on error in probe() Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 045/212] libata: Fix display of sata speed Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 046/212] drivers/libata: Set max sector to 65535 for Slimtype DVD A DS8A9SH drive Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 047/212] vsprintf: check real user/group id for %pK Greg Kroah-Hartman
2013-12-02 19:13 ` [PATCH 3.12 048/212] rtlwifi: rtl8188ee: Fix smatch warning in rtl8188ee/hw.c Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 049/212] rtlwifi: Fix endian error in extracting packet type Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 050/212] rtlwifi: rtl8192se: Fix wrong assignment Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 051/212] rtlwifi: rtl8192cu: Fix more pointer arithmetic errors Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 052/212] ipc, msg: fix message length check for negative values Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 053/212] ahci: Add Device IDs for Intel Wildcat Point-LP Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 054/212] ahci: disabled FBS prior to issuing software reset Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 055/212] ahci: add Marvell 9230 to the AHCI PCI device list Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 056/212] ahci: add support for IBM Akebono platform device Greg Kroah-Hartman
2013-12-02 20:50   ` Josh Boyer
2013-12-02 20:53     ` Tejun Heo
2013-12-02 21:31       ` Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 057/212] iscsi-target: Fix mutex_trylock usage in iscsit_increment_maxcmdsn Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 058/212] iscsi-target: fix extract_param to handle buffer length corner case Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 059/212] iscsi-target: chap auth shouldnt match username with trailing garbage Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 060/212] IB/ipath: Convert ipath_user_sdma_pin_pages() to use get_user_pages_fast() Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 061/212] IB/qib: Convert qib_user_sdma_pin_pages() " Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 062/212] IB/qib: Fix txselect regression Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 063/212] IB/srp: Remove target from list before freeing Scsi_Host structure Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 064/212] IB/srp: Avoid offlining operational SCSI devices Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 065/212] IB/srp: Report receive errors correctly Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 066/212] loop: fix crash if blk_alloc_queue fails Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 067/212] loop: fix crash when using unassigned loop device Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 068/212] mtd: nand: hack ONFI for non-power-of-2 dimensions Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 069/212] mtd: m25p80: fix allocation size Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 070/212] mtd: map: fixed bug in 64-bit systems Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 071/212] mtd: atmel_nand: fix bug driver will in a dead lock if no nand detected Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 072/212] mtd: gpmi: fix kernel BUG due to racing DMA operations Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 073/212] mtd: gpmi: fix the NULL pointer Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 074/212] ext4: avoid bh leak in retry path of ext4_expand_extra_isize_ea() Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 075/212] xen/blkback: fix reference counting Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 076/212] rtlwifi: rtl8192de: Fix incorrect signal strength for unassociated AP Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 077/212] rtlwifi: rtl8192se: " Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 078/212] rtlwifi: rtl8192cu: " Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 079/212] ath5k: fix regression in tx status processing Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 080/212] qeth: avoid buffer overflow in snmp ioctl Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 081/212] rt2400pci: fix RSSI read Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 082/212] mm: ensure get_unmapped_area() returns higher address than mmap_min_addr Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 083/212] mm/zswap: bugfix: memory leak when invalidate and reclaim occur concurrently Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 084/212] mmc: atmel-mci: abort transfer on timeout error Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 085/212] mmc: atmel-mci: fix oops in atmci_tasklet_func Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 086/212] dm mpath: fix race condition between multipath_dtr and pg_init_done Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 087/212] dm array: fix bug in growing array Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 088/212] dm cache: fix a race condition between queuing new migrations and quiescing for a shutdown Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 089/212] dm: allocate buffer for messages with small number of arguments using GFP_NOIO Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 090/212] ioatdma: Fix bug in selftest after removal of DMA_MEMSET Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 091/212] ioatdma: fix sed pool selection Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 092/212] ioatdma: fix selection of 16 vs 8 source path Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 093/212] iser-target: Avoid using FRMR for single dma entry requests Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 094/212] target: Fix delayed Task Aborted Status (TAS) handling bug Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 095/212] blk-core: Fix memory corruption if blkcg_init_queue fails Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 096/212] PM / hibernate: Avoid overflow in hibernate_preallocate_memory() Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 097/212] PM / runtime: Use pm_runtime_put_sync() in __device_release_driver() Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 098/212] PM / Hibernate: Do not crash kernel in free_basic_memory_bitmaps() Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 099/212] qxl: avoid an oops in the deferred io code Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 100/212] drm/qxl: fix memory leak in release list handling Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 101/212] bcache: Fix dirty_data accounting Greg Kroah-Hartman
2013-12-02 19:14 ` Greg Kroah-Hartman [this message]
2013-12-02 19:14 ` [PATCH 3.12 103/212] mwifiex: correct packet length for packets from SDIO interface Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 104/212] mwifiex: fix wrong eth_hdr usage for bridged packets in AP mode Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 105/212] audit: printk USER_AVC messages when audit isnt enabled Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 106/212] audit: use nlmsg_len() to get message payload length Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 107/212] audit: fix info leak in AUDIT_GET requests Greg Kroah-Hartman
2013-12-02 19:14 ` [PATCH 3.12 108/212] audit: add child record before the create to handle case where create fails Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 109/212] audit: log the audit_names record type Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 110/212] PCI: Remove duplicate pci_disable_device() from pcie_portdrv_remove() Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 111/212] ACPI / hotplug: Fix conflicted PCI bridge notify handlers Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 112/212] selinux: correct locking in selinux_netlbl_socket_connect) Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 113/212] avr32: setup crt for early panic() Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 114/212] avr32: fix out-of-range jump in large kernels Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 115/212] n_tty: Fix 4096-byte canonical reads Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 116/212] tty: incorrect test of echo_buf() result for ECHO_OP_START Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 117/212] n_tty: Fix echo overrun tail computation Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 118/212] tty: Reset hupped state on open Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 119/212] n_tty: Ensure reader restarts worker for next reader Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 120/212] prism54: set netdev type to "wlan" Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 121/212] regulator: pfuze100: allow misprogrammed ID Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 122/212] sony-laptop: do not scribble keyboard backlight registers on resume Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 123/212] ftrace: Fix function graph with loading of modules Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 124/212] drm/vmwgfx: Resource evict fixes Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 125/212] drm/ttm: Fix memory type compatibility check Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 126/212] drm/ttm: Handle in-memory region copies Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 127/212] drm/ttm: Fix ttm_bo_move_memcpy Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 128/212] drm/i915/dvo: call ->mode_set callback only when the port is running Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 129/212] drm/i915: flush cursors harder Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 130/212] drm/i915: restore the early forcewake cleanup Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 131/212] drm/i915: Replicate BIOS eDP bpp clamping hack for hsw Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 132/212] drm/nouveau: when bailing out of a pushbuf ioctl, do not remove previous fence Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 133/212] drm/radeon/si: fix define for MC_SEQ_TRAIN_WAKEUP_CNTL Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 134/212] drm/radeon: activate UVD clocks before sending the destroy msg Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 135/212] drm/radeon: fix UVD destroy IB size Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 136/212] drm/radeon: dont share PPLLs on DCE4.1 Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 137/212] radeon/i2c: do not count reg index in number of i2c byte we are writing Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 138/212] drm/radeon: hook up backlight functions for CI and KV family Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 139/212] drm/radeon: adjust TN dpm parameters for stability (v2) Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 140/212] radeon: workaround pinning failure on low ram gpu Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 141/212] ib_isert: Avoid duplicate iscsit_increment_maxcmdsn call Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 142/212] edac, highbank: Fix interrupt setup of mem and l2 controller Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 143/212] HID: wiimote: fix inverted pro-controller axes Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 144/212] setfacl removes part of ACL when setting POSIX ACLs to Samba Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 145/212] raid5: Use slow_path to release stripe when mddev->thread is null Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 146/212] md: fix calculation of stacking limits on level change Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 147/212] md/raid5: Before freeing old multi-thread worker, it should flush them Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 148/212] md: test mddev->flags more safely in md_check_recovery Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 149/212] HID: uhid: fix leak for 64/32 UHID_CREATE Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 150/212] powerpc/signals: Improved mark VSX not saved with small contexts fix Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 151/212] iio:accel:kxsd9 fix missing mutex unlock Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 152/212] arm64: Move PTE_PROT_NONE higher up Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 153/212] s390/uaccess: add missing page table walk range check Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 154/212] workqueue: fix ordered workqueues in NUMA setups Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 155/212] cgroup: use a dedicated workqueue for cgroup destruction Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 156/212] cgroup: fix cgroup_subsys_state leak for seq_files Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 157/212] cpuset: Fix memory allocator deadlock Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 158/212] ALSA: hda/realtek - Set pcbeep amp for ALC668 Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 159/212] ALSA: hda/realtek - Add support of ALC231 codec Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 160/212] ALSA: hda - Fix hp-mic mode without VREF bits Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 161/212] ALSA: hda - Create Headhpone Mic Jack Mode when really needed Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 162/212] ALSA: hda - Initialize missing bass speaker pin for ASUS AIO ET2700 Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 163/212] ALSA: hda - Check leaf nodes to find aamix amps Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 164/212] tracing: Allow events to have NULL strings Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 165/212] Revert "Input: ALPS - add support for model found on Dell XT2" Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 166/212] Input: evdev - fall back to vmalloc for client event buffer Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 167/212] Input: cypress_ps2 - do not consider data bad if palm is detected Greg Kroah-Hartman
2013-12-02 19:15 ` [PATCH 3.12 168/212] Input: i8042 - add PNP modaliases Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 169/212] HID: dont ignore eGalax/D-Wav/EETI HIDs Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 170/212] Input: usbtouchscreen: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 171/212] mfd: lpc_ich: Add Device IDs for Intel Wildcat Point-LP PCH Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 172/212] mfd: rtsx: Modify rts5249_optimize_phy Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 173/212] cpufreq: highbank-cpufreq: Enable Midway/ECX-2000 Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 174/212] sh: ecovec: fixup compile error on sdhi Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 175/212] GFS2: Fix ref count bug relating to atomic_open Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 176/212] HID: multitouch: Fix GeneralTouch products and add more PIDs Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 177/212] HID: logitech - lg2ff: Add IDs for Formula Vibration Feedback Wheel Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 178/212] HID: hid-multitouch: add support for SiS panels Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 179/212] HID: hid-sensor-hub: fix report size Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 180/212] HID: multicouh: add PID VID to support 1 new Wistron optical touch device Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 181/212] HID:hid-lg4ff: Scale autocentering force properly on Logitech wheel Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 182/212] HID:hid-lg4ff: Switch autocentering off when strength is set to zero Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 183/212] HID:hid-lg4ff: Initialize device properties before we touch autocentering Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 184/212] HID: lg: fix ReportDescriptor for Logitech Formula Vibration Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 185/212] gpio: pl061: move irqdomain initialization Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 186/212] drm/radeon/vm: dont attempt to update ptes if ib allocation fails Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 187/212] media: mxl111sf: Dont use dynamic static allocation Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 188/212] media: af9035: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 189/212] media: af9015: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 190/212] media: dw2102: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 191/212] media: dibusb-common: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 192/212] media: cxusb: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 193/212] media: av7110_hw: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 194/212] media: cimax2: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 195/212] media: cx18: struct i2c_client is too big for stack Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 196/212] media: lirc_zilog: Dont use dynamic static allocation Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 197/212] media: v4l2-async: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 198/212] media: tuner-xc2028: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 199/212] media: tuners: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 200/212] media: stv090x: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 201/212] media: stv0367: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 202/212] media: stb0899_drv: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 203/212] media: dvb-frontends: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 204/212] media: dvb-frontends: again, " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 205/212] media: s5h1420: " Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 206/212] X.509: Remove certificate date checks Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 207/212] HID: roccat: add new device return value Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 208/212] HID: roccat: fix Coverity CID 141438 Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 209/212] HID: roccat: add missing special driver declarations Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 210/212] HID: add support for LEETGION Hellion Gaming Mouse Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 211/212] HID: enable Mayflash USB Gamecube Adapter Greg Kroah-Hartman
2013-12-02 19:16 ` [PATCH 3.12 212/212] HID: apple: option to swap the Option ("Alt") and Command ("Flag") keys Greg Kroah-Hartman
2013-12-03  2:46 ` [PATCH 3.12 000/212] 3.12.3-stable review Guenter Roeck
2013-12-03  3:04   ` Greg Kroah-Hartman
2013-12-03 21:53 ` Shuah Khan
2013-12-04 17:03   ` Greg Kroah-Hartman
2013-12-04 11:04 ` Satoru Takeuchi
2013-12-04 17:03   ` Greg Kroah-Hartman

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=20131202191258.741725418@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=jlayton@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=piastry@etersoft.ru \
    --cc=smfrench@gmail.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