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, Frank Sorenson <sorenson@redhat.com>,
	Pavel Shilovsky <pshilov@microsoft.com>,
	Ronnie Sahlberg <lsahlber@redhat.com>,
	Steve French <stfrench@microsoft.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 114/191] cifs: move cifsFileInfo_put logic into a work-queue
Date: Thu,  2 Jan 2020 23:06:36 +0100	[thread overview]
Message-ID: <20200102215842.068701889@linuxfoundation.org> (raw)
In-Reply-To: <20200102215829.911231638@linuxfoundation.org>

From: Ronnie Sahlberg <lsahlber@redhat.com>

[ Upstream commit 32546a9586aa4565035bb557e191648e022b29e8 ]

This patch moves the final part of the cifsFileInfo_put() logic where we
need a write lock on lock_sem to be processed in a separate thread that
holds no other locks.
This is to prevent deadlocks like the one below:

> there are 6 processes looping to while trying to down_write
> cinode->lock_sem, 5 of them from _cifsFileInfo_put, and one from
> cifs_new_fileinfo
>
> and there are 5 other processes which are blocked, several of them
> waiting on either PG_writeback or PG_locked (which are both set), all
> for the same page of the file
>
> 2 inode_lock() (inode->i_rwsem) for the file
> 1 wait_on_page_writeback() for the page
> 1 down_read(inode->i_rwsem) for the inode of the directory
> 1 inode_lock()(inode->i_rwsem) for the inode of the directory
> 1 __lock_page
>
>
> so processes are blocked waiting on:
>   page flags PG_locked and PG_writeback for one specific page
>   inode->i_rwsem for the directory
>   inode->i_rwsem for the file
>   cifsInodeInflock_sem
>
>
>
> here are the more gory details (let me know if I need to provide
> anything more/better):
>
> [0 00:48:22.765] [UN]  PID: 8863   TASK: ffff8c691547c5c0  CPU: 3
> COMMAND: "reopen_file"
>  #0 [ffff9965007e3ba8] __schedule at ffffffff9b6e6095
>  #1 [ffff9965007e3c38] schedule at ffffffff9b6e64df
>  #2 [ffff9965007e3c48] rwsem_down_write_slowpath at ffffffff9af283d7
>  #3 [ffff9965007e3cb8] legitimize_path at ffffffff9b0f975d
>  #4 [ffff9965007e3d08] path_openat at ffffffff9b0fe55d
>  #5 [ffff9965007e3dd8] do_filp_open at ffffffff9b100a33
>  #6 [ffff9965007e3ee0] do_sys_open at ffffffff9b0eb2d6
>  #7 [ffff9965007e3f38] do_syscall_64 at ffffffff9ae04315
> * (I think legitimize_path is bogus)
>
> in path_openat
>         } else {
>                 const char *s = path_init(nd, flags);
>                 while (!(error = link_path_walk(s, nd)) &&
>                         (error = do_last(nd, file, op)) > 0) {  <<<<
>
> do_last:
>         if (open_flag & O_CREAT)
>                 inode_lock(dir->d_inode);  <<<<
>         else
> so it's trying to take inode->i_rwsem for the directory
>
>      DENTRY           INODE           SUPERBLK     TYPE PATH
> ffff8c68bb8e79c0 ffff8c691158ef20 ffff8c6915bf9000 DIR  /mnt/vm1_smb/
> inode.i_rwsem is ffff8c691158efc0
>
> <struct rw_semaphore 0xffff8c691158efc0>:
>         owner: <struct task_struct 0xffff8c6914275d00> (UN -   8856 -
> reopen_file), counter: 0x0000000000000003
>         waitlist: 2
>         0xffff9965007e3c90     8863   reopen_file      UN 0  1:29:22.926
>   RWSEM_WAITING_FOR_WRITE
>         0xffff996500393e00     9802   ls               UN 0  1:17:26.700
>   RWSEM_WAITING_FOR_READ
>
>
> the owner of the inode.i_rwsem of the directory is:
>
> [0 00:00:00.109] [UN]  PID: 8856   TASK: ffff8c6914275d00  CPU: 3
> COMMAND: "reopen_file"
>  #0 [ffff99650065b828] __schedule at ffffffff9b6e6095
>  #1 [ffff99650065b8b8] schedule at ffffffff9b6e64df
>  #2 [ffff99650065b8c8] schedule_timeout at ffffffff9b6e9f89
>  #3 [ffff99650065b940] msleep at ffffffff9af573a9
>  #4 [ffff99650065b948] _cifsFileInfo_put.cold.63 at ffffffffc0a42dd6 [cifs]
>  #5 [ffff99650065ba38] cifs_writepage_locked at ffffffffc0a0b8f3 [cifs]
>  #6 [ffff99650065bab0] cifs_launder_page at ffffffffc0a0bb72 [cifs]
>  #7 [ffff99650065bb30] invalidate_inode_pages2_range at ffffffff9b04d4bd
>  #8 [ffff99650065bcb8] cifs_invalidate_mapping at ffffffffc0a11339 [cifs]
>  #9 [ffff99650065bcd0] cifs_revalidate_mapping at ffffffffc0a1139a [cifs]
> #10 [ffff99650065bcf0] cifs_d_revalidate at ffffffffc0a014f6 [cifs]
> #11 [ffff99650065bd08] path_openat at ffffffff9b0fe7f7
> #12 [ffff99650065bdd8] do_filp_open at ffffffff9b100a33
> #13 [ffff99650065bee0] do_sys_open at ffffffff9b0eb2d6
> #14 [ffff99650065bf38] do_syscall_64 at ffffffff9ae04315
>
> cifs_launder_page is for page 0xffffd1e2c07d2480
>
> crash> page.index,mapping,flags 0xffffd1e2c07d2480
>       index = 0x8
>       mapping = 0xffff8c68f3cd0db0
>   flags = 0xfffffc0008095
>
>   PAGE-FLAG       BIT  VALUE
>   PG_locked         0  0000001
>   PG_uptodate       2  0000004
>   PG_lru            4  0000010
>   PG_waiters        7  0000080
>   PG_writeback     15  0008000
>
>
> inode is ffff8c68f3cd0c40
> inode.i_rwsem is ffff8c68f3cd0ce0
>      DENTRY           INODE           SUPERBLK     TYPE PATH
> ffff8c68a1f1b480 ffff8c68f3cd0c40 ffff8c6915bf9000 REG
> /mnt/vm1_smb/testfile.8853
>
>
> this process holds the inode->i_rwsem for the parent directory, is
> laundering a page attached to the inode of the file it's opening, and in
> _cifsFileInfo_put is trying to down_write the cifsInodeInflock_sem
> for the file itself.
>
>
> <struct rw_semaphore 0xffff8c68f3cd0ce0>:
>         owner: <struct task_struct 0xffff8c6914272e80> (UN -   8854 -
> reopen_file), counter: 0x0000000000000003
>         waitlist: 1
>         0xffff9965005dfd80     8855   reopen_file      UN 0  1:29:22.912
>   RWSEM_WAITING_FOR_WRITE
>
> this is the inode.i_rwsem for the file
>
> the owner:
>
> [0 00:48:22.739] [UN]  PID: 8854   TASK: ffff8c6914272e80  CPU: 2
> COMMAND: "reopen_file"
>  #0 [ffff99650054fb38] __schedule at ffffffff9b6e6095
>  #1 [ffff99650054fbc8] schedule at ffffffff9b6e64df
>  #2 [ffff99650054fbd8] io_schedule at ffffffff9b6e68e2
>  #3 [ffff99650054fbe8] __lock_page at ffffffff9b03c56f
>  #4 [ffff99650054fc80] pagecache_get_page at ffffffff9b03dcdf
>  #5 [ffff99650054fcc0] grab_cache_page_write_begin at ffffffff9b03ef4c
>  #6 [ffff99650054fcd0] cifs_write_begin at ffffffffc0a064ec [cifs]
>  #7 [ffff99650054fd30] generic_perform_write at ffffffff9b03bba4
>  #8 [ffff99650054fda8] __generic_file_write_iter at ffffffff9b04060a
>  #9 [ffff99650054fdf0] cifs_strict_writev.cold.70 at ffffffffc0a4469b [cifs]
> #10 [ffff99650054fe48] new_sync_write at ffffffff9b0ec1dd
> #11 [ffff99650054fed0] vfs_write at ffffffff9b0eed35
> #12 [ffff99650054ff00] ksys_write at ffffffff9b0eefd9
> #13 [ffff99650054ff38] do_syscall_64 at ffffffff9ae04315
>
> the process holds the inode->i_rwsem for the file to which it's writing,
> and is trying to __lock_page for the same page as in the other processes
>
>
> the other tasks:
> [0 00:00:00.028] [UN]  PID: 8859   TASK: ffff8c6915479740  CPU: 2
> COMMAND: "reopen_file"
>  #0 [ffff9965007b39d8] __schedule at ffffffff9b6e6095
>  #1 [ffff9965007b3a68] schedule at ffffffff9b6e64df
>  #2 [ffff9965007b3a78] schedule_timeout at ffffffff9b6e9f89
>  #3 [ffff9965007b3af0] msleep at ffffffff9af573a9
>  #4 [ffff9965007b3af8] cifs_new_fileinfo.cold.61 at ffffffffc0a42a07 [cifs]
>  #5 [ffff9965007b3b78] cifs_open at ffffffffc0a0709d [cifs]
>  #6 [ffff9965007b3cd8] do_dentry_open at ffffffff9b0e9b7a
>  #7 [ffff9965007b3d08] path_openat at ffffffff9b0fe34f
>  #8 [ffff9965007b3dd8] do_filp_open at ffffffff9b100a33
>  #9 [ffff9965007b3ee0] do_sys_open at ffffffff9b0eb2d6
> #10 [ffff9965007b3f38] do_syscall_64 at ffffffff9ae04315
>
> this is opening the file, and is trying to down_write cinode->lock_sem
>
>
> [0 00:00:00.041] [UN]  PID: 8860   TASK: ffff8c691547ae80  CPU: 2
> COMMAND: "reopen_file"
> [0 00:00:00.057] [UN]  PID: 8861   TASK: ffff8c6915478000  CPU: 3
> COMMAND: "reopen_file"
> [0 00:00:00.059] [UN]  PID: 8858   TASK: ffff8c6914271740  CPU: 2
> COMMAND: "reopen_file"
> [0 00:00:00.109] [UN]  PID: 8862   TASK: ffff8c691547dd00  CPU: 6
> COMMAND: "reopen_file"
>  #0 [ffff9965007c3c78] __schedule at ffffffff9b6e6095
>  #1 [ffff9965007c3d08] schedule at ffffffff9b6e64df
>  #2 [ffff9965007c3d18] schedule_timeout at ffffffff9b6e9f89
>  #3 [ffff9965007c3d90] msleep at ffffffff9af573a9
>  #4 [ffff9965007c3d98] _cifsFileInfo_put.cold.63 at ffffffffc0a42dd6 [cifs]
>  #5 [ffff9965007c3e88] cifs_close at ffffffffc0a07aaf [cifs]
>  #6 [ffff9965007c3ea0] __fput at ffffffff9b0efa6e
>  #7 [ffff9965007c3ee8] task_work_run at ffffffff9aef1614
>  #8 [ffff9965007c3f20] exit_to_usermode_loop at ffffffff9ae03d6f
>  #9 [ffff9965007c3f38] do_syscall_64 at ffffffff9ae0444c
>
> closing the file, and trying to down_write cifsi->lock_sem
>
>
> [0 00:48:22.839] [UN]  PID: 8857   TASK: ffff8c6914270000  CPU: 7
> COMMAND: "reopen_file"
>  #0 [ffff9965006a7cc8] __schedule at ffffffff9b6e6095
>  #1 [ffff9965006a7d58] schedule at ffffffff9b6e64df
>  #2 [ffff9965006a7d68] io_schedule at ffffffff9b6e68e2
>  #3 [ffff9965006a7d78] wait_on_page_bit at ffffffff9b03cac6
>  #4 [ffff9965006a7e10] __filemap_fdatawait_range at ffffffff9b03b028
>  #5 [ffff9965006a7ed8] filemap_write_and_wait at ffffffff9b040165
>  #6 [ffff9965006a7ef0] cifs_flush at ffffffffc0a0c2fa [cifs]
>  #7 [ffff9965006a7f10] filp_close at ffffffff9b0e93f1
>  #8 [ffff9965006a7f30] __x64_sys_close at ffffffff9b0e9a0e
>  #9 [ffff9965006a7f38] do_syscall_64 at ffffffff9ae04315
>
> in __filemap_fdatawait_range
>                         wait_on_page_writeback(page);
> for the same page of the file
>
>
>
> [0 00:48:22.718] [UN]  PID: 8855   TASK: ffff8c69142745c0  CPU: 7
> COMMAND: "reopen_file"
>  #0 [ffff9965005dfc98] __schedule at ffffffff9b6e6095
>  #1 [ffff9965005dfd28] schedule at ffffffff9b6e64df
>  #2 [ffff9965005dfd38] rwsem_down_write_slowpath at ffffffff9af283d7
>  #3 [ffff9965005dfdf0] cifs_strict_writev at ffffffffc0a0c40a [cifs]
>  #4 [ffff9965005dfe48] new_sync_write at ffffffff9b0ec1dd
>  #5 [ffff9965005dfed0] vfs_write at ffffffff9b0eed35
>  #6 [ffff9965005dff00] ksys_write at ffffffff9b0eefd9
>  #7 [ffff9965005dff38] do_syscall_64 at ffffffff9ae04315
>
>         inode_lock(inode);
>
>
> and one 'ls' later on, to see whether the rest of the mount is available
> (the test file is in the root, so we get blocked up on the directory
> ->i_rwsem), so the entire mount is unavailable
>
> [0 00:36:26.473] [UN]  PID: 9802   TASK: ffff8c691436ae80  CPU: 4
> COMMAND: "ls"
>  #0 [ffff996500393d28] __schedule at ffffffff9b6e6095
>  #1 [ffff996500393db8] schedule at ffffffff9b6e64df
>  #2 [ffff996500393dc8] rwsem_down_read_slowpath at ffffffff9b6e9421
>  #3 [ffff996500393e78] down_read_killable at ffffffff9b6e95e2
>  #4 [ffff996500393e88] iterate_dir at ffffffff9b103c56
>  #5 [ffff996500393ec8] ksys_getdents64 at ffffffff9b104b0c
>  #6 [ffff996500393f30] __x64_sys_getdents64 at ffffffff9b104bb6
>  #7 [ffff996500393f38] do_syscall_64 at ffffffff9ae04315
>
> in iterate_dir:
>         if (shared)
>                 res = down_read_killable(&inode->i_rwsem);  <<<<
>         else
>                 res = down_write_killable(&inode->i_rwsem);
>

Reported-by: Frank Sorenson <sorenson@redhat.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/cifs/cifsfs.c   | 13 +++++++-
 fs/cifs/cifsglob.h |  5 +++-
 fs/cifs/file.c     | 74 ++++++++++++++++++++++++++++++----------------
 3 files changed, 65 insertions(+), 27 deletions(-)

diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
index 1a135d1b85bd..07d8ace61f77 100644
--- a/fs/cifs/cifsfs.c
+++ b/fs/cifs/cifsfs.c
@@ -119,6 +119,7 @@ extern mempool_t *cifs_mid_poolp;
 
 struct workqueue_struct	*cifsiod_wq;
 struct workqueue_struct	*decrypt_wq;
+struct workqueue_struct	*fileinfo_put_wq;
 struct workqueue_struct	*cifsoplockd_wq;
 __u32 cifs_lock_secret;
 
@@ -1554,11 +1555,18 @@ init_cifs(void)
 		goto out_destroy_cifsiod_wq;
 	}
 
+	fileinfo_put_wq = alloc_workqueue("cifsfileinfoput",
+				     WQ_UNBOUND|WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);
+	if (!fileinfo_put_wq) {
+		rc = -ENOMEM;
+		goto out_destroy_decrypt_wq;
+	}
+
 	cifsoplockd_wq = alloc_workqueue("cifsoplockd",
 					 WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);
 	if (!cifsoplockd_wq) {
 		rc = -ENOMEM;
-		goto out_destroy_decrypt_wq;
+		goto out_destroy_fileinfo_put_wq;
 	}
 
 	rc = cifs_fscache_register();
@@ -1624,6 +1632,8 @@ out_unreg_fscache:
 	cifs_fscache_unregister();
 out_destroy_cifsoplockd_wq:
 	destroy_workqueue(cifsoplockd_wq);
+out_destroy_fileinfo_put_wq:
+	destroy_workqueue(fileinfo_put_wq);
 out_destroy_decrypt_wq:
 	destroy_workqueue(decrypt_wq);
 out_destroy_cifsiod_wq:
@@ -1653,6 +1663,7 @@ exit_cifs(void)
 	cifs_fscache_unregister();
 	destroy_workqueue(cifsoplockd_wq);
 	destroy_workqueue(decrypt_wq);
+	destroy_workqueue(fileinfo_put_wq);
 	destroy_workqueue(cifsiod_wq);
 	cifs_proc_clean();
 }
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 5d2dd04b55a6..f55e53486e74 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -1265,6 +1265,7 @@ struct cifsFileInfo {
 	struct mutex fh_mutex; /* prevents reopen race after dead ses*/
 	struct cifs_search_info srch_inf;
 	struct work_struct oplock_break; /* work for oplock breaks */
+	struct work_struct put; /* work for the final part of _put */
 };
 
 struct cifs_io_parms {
@@ -1370,7 +1371,8 @@ cifsFileInfo_get_locked(struct cifsFileInfo *cifs_file)
 }
 
 struct cifsFileInfo *cifsFileInfo_get(struct cifsFileInfo *cifs_file);
-void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, bool wait_oplock_hdlr);
+void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, bool wait_oplock_hdlr,
+		       bool offload);
 void cifsFileInfo_put(struct cifsFileInfo *cifs_file);
 
 #define CIFS_CACHE_READ_FLG	1
@@ -1908,6 +1910,7 @@ void cifs_queue_oplock_break(struct cifsFileInfo *cfile);
 extern const struct slow_work_ops cifs_oplock_break_ops;
 extern struct workqueue_struct *cifsiod_wq;
 extern struct workqueue_struct *decrypt_wq;
+extern struct workqueue_struct *fileinfo_put_wq;
 extern struct workqueue_struct *cifsoplockd_wq;
 extern __u32 cifs_lock_secret;
 
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index c32650f14c9b..969543034b4d 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -288,6 +288,8 @@ cifs_down_write(struct rw_semaphore *sem)
 		msleep(10);
 }
 
+static void cifsFileInfo_put_work(struct work_struct *work);
+
 struct cifsFileInfo *
 cifs_new_fileinfo(struct cifs_fid *fid, struct file *file,
 		  struct tcon_link *tlink, __u32 oplock)
@@ -322,6 +324,7 @@ cifs_new_fileinfo(struct cifs_fid *fid, struct file *file,
 	cfile->invalidHandle = false;
 	cfile->tlink = cifs_get_tlink(tlink);
 	INIT_WORK(&cfile->oplock_break, cifs_oplock_break);
+	INIT_WORK(&cfile->put, cifsFileInfo_put_work);
 	mutex_init(&cfile->fh_mutex);
 	spin_lock_init(&cfile->file_info_lock);
 
@@ -376,6 +379,41 @@ cifsFileInfo_get(struct cifsFileInfo *cifs_file)
 	return cifs_file;
 }
 
+static void cifsFileInfo_put_final(struct cifsFileInfo *cifs_file)
+{
+	struct inode *inode = d_inode(cifs_file->dentry);
+	struct cifsInodeInfo *cifsi = CIFS_I(inode);
+	struct cifsLockInfo *li, *tmp;
+	struct super_block *sb = inode->i_sb;
+
+	/*
+	 * Delete any outstanding lock records. We'll lose them when the file
+	 * is closed anyway.
+	 */
+	cifs_down_write(&cifsi->lock_sem);
+	list_for_each_entry_safe(li, tmp, &cifs_file->llist->locks, llist) {
+		list_del(&li->llist);
+		cifs_del_lock_waiters(li);
+		kfree(li);
+	}
+	list_del(&cifs_file->llist->llist);
+	kfree(cifs_file->llist);
+	up_write(&cifsi->lock_sem);
+
+	cifs_put_tlink(cifs_file->tlink);
+	dput(cifs_file->dentry);
+	cifs_sb_deactive(sb);
+	kfree(cifs_file);
+}
+
+static void cifsFileInfo_put_work(struct work_struct *work)
+{
+	struct cifsFileInfo *cifs_file = container_of(work,
+			struct cifsFileInfo, put);
+
+	cifsFileInfo_put_final(cifs_file);
+}
+
 /**
  * cifsFileInfo_put - release a reference of file priv data
  *
@@ -383,15 +421,15 @@ cifsFileInfo_get(struct cifsFileInfo *cifs_file)
  */
 void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
 {
-	_cifsFileInfo_put(cifs_file, true);
+	_cifsFileInfo_put(cifs_file, true, true);
 }
 
 /**
  * _cifsFileInfo_put - release a reference of file priv data
  *
  * This may involve closing the filehandle @cifs_file out on the
- * server. Must be called without holding tcon->open_file_lock and
- * cifs_file->file_info_lock.
+ * server. Must be called without holding tcon->open_file_lock,
+ * cinode->open_file_lock and cifs_file->file_info_lock.
  *
  * If @wait_for_oplock_handler is true and we are releasing the last
  * reference, wait for any running oplock break handler of the file
@@ -399,7 +437,8 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
  * oplock break handler, you need to pass false.
  *
  */
-void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, bool wait_oplock_handler)
+void _cifsFileInfo_put(struct cifsFileInfo *cifs_file,
+		       bool wait_oplock_handler, bool offload)
 {
 	struct inode *inode = d_inode(cifs_file->dentry);
 	struct cifs_tcon *tcon = tlink_tcon(cifs_file->tlink);
@@ -407,7 +446,6 @@ void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, bool wait_oplock_handler)
 	struct cifsInodeInfo *cifsi = CIFS_I(inode);
 	struct super_block *sb = inode->i_sb;
 	struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
-	struct cifsLockInfo *li, *tmp;
 	struct cifs_fid fid;
 	struct cifs_pending_open open;
 	bool oplock_break_cancelled;
@@ -468,24 +506,10 @@ void _cifsFileInfo_put(struct cifsFileInfo *cifs_file, bool wait_oplock_handler)
 
 	cifs_del_pending_open(&open);
 
-	/*
-	 * Delete any outstanding lock records. We'll lose them when the file
-	 * is closed anyway.
-	 */
-	cifs_down_write(&cifsi->lock_sem);
-	list_for_each_entry_safe(li, tmp, &cifs_file->llist->locks, llist) {
-		list_del(&li->llist);
-		cifs_del_lock_waiters(li);
-		kfree(li);
-	}
-	list_del(&cifs_file->llist->llist);
-	kfree(cifs_file->llist);
-	up_write(&cifsi->lock_sem);
-
-	cifs_put_tlink(cifs_file->tlink);
-	dput(cifs_file->dentry);
-	cifs_sb_deactive(sb);
-	kfree(cifs_file);
+	if (offload)
+		queue_work(fileinfo_put_wq, &cifs_file->put);
+	else
+		cifsFileInfo_put_final(cifs_file);
 }
 
 int cifs_open(struct inode *inode, struct file *file)
@@ -816,7 +840,7 @@ reopen_error_exit:
 int cifs_close(struct inode *inode, struct file *file)
 {
 	if (file->private_data != NULL) {
-		cifsFileInfo_put(file->private_data);
+		_cifsFileInfo_put(file->private_data, true, false);
 		file->private_data = NULL;
 	}
 
@@ -4688,7 +4712,7 @@ void cifs_oplock_break(struct work_struct *work)
 							     cinode);
 		cifs_dbg(FYI, "Oplock release rc = %d\n", rc);
 	}
-	_cifsFileInfo_put(cfile, false /* do not wait for ourself */);
+	_cifsFileInfo_put(cfile, false /* do not wait for ourself */, false);
 	cifs_done_oplock_break(cinode);
 }
 
-- 
2.20.1




  parent reply	other threads:[~2020-01-02 22:58 UTC|newest]

Thread overview: 215+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-02 22:04 [PATCH 5.4 000/191] 5.4.8-stable review Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 001/191] Revert "MIPS: futex: Restore \n after sync instructions" Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 002/191] Revert "MIPS: futex: Emit Loongson3 sync workarounds within asm" Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 003/191] scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 004/191] scsi: lpfc: Fix discovery failures when target device connectivity bounces Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 005/191] scsi: mpt3sas: Fix clear pending bit in ioctl status Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 006/191] scsi: lpfc: Fix locking on mailbox command completion Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 007/191] scsi: mpt3sas: Reject NVMe Encap cmnds to unsupported HBA Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 008/191] gpio: mxc: Only get the second IRQ when there is more than one IRQ Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 009/191] scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 010/191] Input: atmel_mxt_ts - disable IRQ across suspend Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 011/191] f2fs: fix to update time in lazytime mode Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 012/191] powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 013/191] tools/power/x86/intel-speed-select: Remove warning for unused result Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 014/191] platform/x86: peaq-wmi: switch to using polled mode of input devices Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 015/191] iommu: rockchip: Free domain on .domain_free Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 016/191] iommu/tegra-smmu: Fix page tables in > 4 GiB memory Greg Kroah-Hartman
2020-01-02 22:04 ` [PATCH 5.4 017/191] dmaengine: xilinx_dma: Clear desc_pendingcount in xilinx_dma_reset Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 018/191] scsi: target: compare full CHAP_A Algorithm strings Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 019/191] scsi: lpfc: Fix hardlockup in lpfc_abort_handler Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 020/191] scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 021/191] scsi: csiostor: Dont enable IRQs too early Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 022/191] scsi: hisi_sas: Replace in_softirq() check in hisi_sas_task_exec() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 023/191] scsi: hisi_sas: Delete the debugfs folder of hisi_sas when the probe fails Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 024/191] powerpc/pseries: Mark accumulate_stolen_time() as notrace Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 025/191] powerpc/pseries: Dont fail hash page table insert for bolted mapping Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 026/191] Input: st1232 - do not reset the chip too early Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 027/191] selftests/powerpc: Fixup clobbers for TM tests Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 028/191] powerpc/tools: Dont quote $objdump in scripts Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 029/191] dma-debug: add a schedule point in debug_dma_dump_mappings() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 030/191] dma-mapping: Add vmap checks to dma_map_single() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 031/191] dma-mapping: fix handling of dma-ranges for reserved memory (again) Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 032/191] dmaengine: fsl-qdma: Handle invalid qdma-queue0 IRQ Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 033/191] leds: lm3692x: Handle failure to probe the regulator Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 034/191] leds: an30259a: add a check for devm_regmap_init_i2c Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 035/191] leds: trigger: netdev: fix handling on interface rename Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 036/191] clocksource/drivers/asm9260: Add a check for of_clk_get Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 037/191] clocksource/drivers/timer-of: Use unique device name instead of timer Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 038/191] dtc: Use pkg-config to locate libyaml Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 039/191] selftests/powerpc: Skip tm-signal-sigreturn-nt if TM not available Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 040/191] powerpc/security/book3s64: Report L1TF status in sysfs Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 041/191] powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 042/191] ext4: update direct I/O read lock pattern for IOCB_NOWAIT Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 043/191] ext4: iomap that extends beyond EOF should be marked dirty Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 044/191] jbd2: Fix statistics for the number of logged blocks Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 045/191] scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 046/191] scsi: lpfc: Fix unexpected error messages during RSCN handling Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 047/191] scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 048/191] f2fs: fix to update dirs i_pino during cross_rename Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 049/191] clk: qcom: smd: Add missing pnoc clock Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 050/191] clk: qcom: Allow constant ratio freq tables for rcg Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 051/191] clk: clk-gpio: propagate rate change to parent Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 052/191] irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 053/191] irqchip: ingenic: Error out if IRQ domain creation failed Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 054/191] dma-direct: check for overflows on 32 bit DMA addresses Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 055/191] mfd: mfd-core: Honour Device Trees request to disable a child-device Greg Kroah-Hartman
2020-01-03 10:23   ` Stephan Gerhold
2020-01-04 12:31     ` Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 056/191] fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 057/191] iommu/arm-smmu-v3: Dont display an error when IRQ lines are missing Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 058/191] i2c: stm32f7: fix & reorder remove & probe error handling Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 059/191] iomap: fix return value of iomap_dio_bio_actor on 32bit systems Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 060/191] Input: ili210x - handle errors from input_mt_init_slots() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 061/191] scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 062/191] scsi: zorro_esp: Limit DMA transfers to 65536 bytes (except on Fastlane) Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 063/191] PCI: rpaphp: Fix up pointer to first drc-info entry Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 064/191] scsi: ufs: fix potential bug which ends in system hang Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 065/191] powerpc/pseries/cmm: Implement release() function for sysfs device Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 066/191] PCI: rpaphp: Dont rely on firmware feature to imply drc-info support Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 067/191] PCI: rpaphp: Annotate and correctly byte swap DRC properties Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 068/191] PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 069/191] powerpc/security: Fix wrong message when RFI Flush is disable Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 070/191] powerpc/eeh: differentiate duplicate detection message Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 071/191] powerpc/book3s/mm: Update Oops message to print the correct translation in use Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 072/191] scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 073/191] clk: pxa: fix one of the pxa RTC clocks Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 074/191] bcache: at least try to shrink 1 node in bch_mca_scan() Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 075/191] HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 076/191] dt-bindings: Improve validation build error handling Greg Kroah-Hartman
2020-01-02 22:05 ` [PATCH 5.4 077/191] HID: logitech-hidpp: Silence intermittent get_battery_capacity errors Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 078/191] HID: i2c-hid: fix no irq after reset on raydium 3118 Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 079/191] ARM: 8937/1: spectre-v2: remove Brahma-B53 from hardening Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 080/191] libnvdimm/btt: fix variable rc set but not used Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 081/191] HID: Improve Windows Precision Touchpad detection Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 082/191] HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 083/191] watchdog: imx7ulp: Fix reboot hang Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 084/191] watchdog: prevent deferral of watchdogd wakeup on RT Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 085/191] watchdog: Fix the race between the release of watchdog_core_data and cdev Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 086/191] powerpc/fixmap: Use __fix_to_virt() instead of fix_to_virt() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 087/191] scsi: pm80xx: Fix for SATA device discovery Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 088/191] scsi: ufs: Fix error handing during hibern8 enter Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 089/191] scsi: scsi_debug: num_tgts must be >= 0 Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 090/191] scsi: NCR5380: Add disconnect_mask module parameter Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 091/191] scsi: target: core: Release SPC-2 reservations when closing a session Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 092/191] scsi: ufs: Fix up auto hibern8 enablement Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 093/191] scsi: iscsi: Dont send data to unbound connection Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 094/191] scsi: target: iscsi: Wait for all commands to finish before freeing a session Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 095/191] f2fs: Fix deadlock in f2fs_gc() context during atomic files handling Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 096/191] habanalabs: skip VA block list update in reset flow Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 097/191] gpio/mpc8xxx: fix qoriq GPIO reading Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 098/191] platform/x86: intel_pmc_core: Fix the SoC naming inconsistency Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 099/191] platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 100/191] gpio: mpc8xxx: Dont overwrite default irq_set_type callback Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 101/191] gpio: lynxpoint: Setup correct IRQ handlers Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 102/191] tools/power/x86/intel-speed-select: Ignore missing config level Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 103/191] Drivers: hv: vmbus: Fix crash handler reset of Hyper-V synic Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 104/191] apparmor: fix unsigned len comparison with less than zero Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 105/191] drm/amdgpu: Call find_vma under mmap_sem Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 106/191] scripts/kallsyms: fix definitely-lost memory leak Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 107/191] powerpc: Dont add -mabi= flags when building with Clang Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 108/191] f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 109/191] cifs: Fix use-after-free bug in cifs_reconnect() Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 110/191] um: virtio: Keep reading on -EAGAIN Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 111/191] io_uring: io_allocate_scq_urings() should return a sane state Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 112/191] of: unittest: fix memory leak in attach_node_and_children Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 113/191] cdrom: respect device capabilities during opening action Greg Kroah-Hartman
2020-01-02 22:06 ` Greg Kroah-Hartman [this message]
2020-01-02 22:06 ` [PATCH 5.4 115/191] perf diff: Use llabs() with 64-bit values Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 116/191] perf script: Fix brstackinsn for AUXTRACE Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 117/191] perf regs: Make perf_reg_name() return "unknown" instead of NULL Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 118/191] s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 119/191] mailbox: imx: Clear the right interrupts at shutdown Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 120/191] libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 121/191] s390/unwind: filter out unreliable bogus %r14 Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 122/191] s390/cpum_sf: Check for SDBT and SDB consistency Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 123/191] ocfs2: fix passing zero to PTR_ERR warning Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 124/191] mailbox: imx: Fix Tx doorbell shutdown path Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 125/191] s390: disable preemption when switching to nodat stack with CALL_ON_STACK Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 126/191] selftests: vm: add fragment CONFIG_TEST_VMALLOC Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 127/191] mm/hugetlbfs: fix error handling when setting up mounts Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 128/191] kernel: sysctl: make drop_caches write-only Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 129/191] userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 130/191] Revert "powerpc/vcpu: Assume dedicated processors as non-preempt" Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 131/191] sctp: fix err handling of stream initialization Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 132/191] md: make sure desc_nr less than MD_SB_DISKS Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 133/191] Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 134/191] netfilter: ebtables: compat: reject all padding in matches/watchers Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 135/191] 6pack,mkiss: fix possible deadlock Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 136/191] powerpc: Fix __clear_user() with KUAP enabled Greg Kroah-Hartman
2020-01-02 22:06 ` [PATCH 5.4 137/191] net/smc: add fallback check to connect() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 138/191] netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 139/191] inetpeer: fix data-race in inet_putpeer / inet_putpeer Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 140/191] net: add a READ_ONCE() in skb_peek_tail() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 141/191] net: icmp: fix data-race in cmp_global_allow() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 142/191] hrtimer: Annotate lockless access to timer->state Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 143/191] tomoyo: Dont use nifty names on sockets Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 144/191] uaccess: disallow > INT_MAX copy sizes Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 145/191] drm: limit to INT_MAX in create_blob ioctl Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 146/191] xfs: fix mount failure crash on invalid iclog memory access Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 147/191] cxgb4/cxgb4vf: fix flow control display for auto negotiation Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 148/191] net: dsa: bcm_sf2: Fix IP fragment location and behavior Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 149/191] net/mlxfw: Fix out-of-memory error in mfa2 flash burning Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 150/191] net: phy: aquantia: add suspend / resume ops for AQR105 Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 151/191] net/sched: act_mirred: Pull mac prior redir to non mac_header_xmit device Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 152/191] net/sched: add delete_empty() to filters and use it in cls_flower Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 153/191] net_sched: sch_fq: properly set sk->sk_pacing_status Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 154/191] net: stmmac: dwmac-meson8b: Fix the RGMII TX delay on Meson8b/8m2 SoCs Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 155/191] ptp: fix the race between the release of ptp_clock and cdev Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 156/191] tcp: Fix highest_sack and highest_sack_seq Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 157/191] udp: fix integer overflow while computing available space in sk_rcvbuf Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 158/191] bnxt_en: Fix MSIX request logic for RDMA driver Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 159/191] bnxt_en: Free context memory in the open path if firmware has been reset Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 160/191] bnxt_en: Return error if FW returns more data than dump length Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 161/191] bnxt_en: Fix bp->fw_health allocation and free logic Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 162/191] bnxt_en: Remove unnecessary NULL checks for fw_health Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 163/191] bnxt_en: Fix the logic that creates the health reporters Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 164/191] bnxt_en: Add missing devlink health reporters for VFs Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 165/191] mlxsw: spectrum_router: Skip loopback RIFs during MAC validation Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 166/191] mlxsw: spectrum: Use dedicated policer for VRRP packets Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 167/191] net: add bool confirm_neigh parameter for dst_ops.update_pmtu Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 168/191] ip6_gre: do not confirm neighbor when do pmtu update Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 169/191] gtp: " Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 170/191] net/dst: add new function skb_dst_update_pmtu_no_confirm Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 171/191] tunnel: do not confirm neighbor when do pmtu update Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 172/191] vti: " Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 173/191] sit: " Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 174/191] net/dst: do not confirm neighbor for vxlan and geneve " Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 175/191] net: dsa: sja1105: Reconcile the meaning of TPID and TPID2 for E/T and P/Q/R/S Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 176/191] net: marvell: mvpp2: phylink requires the link interrupt Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 177/191] gtp: fix wrong condition in gtp_genl_dump_pdp() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 178/191] gtp: avoid zero size hashtable Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 179/191] bonding: fix active-backup transition after link failure Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 180/191] tcp: do not send empty skb from tcp_write_xmit() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 181/191] tcp/dccp: fix possible race __inet_lookup_established() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 182/191] hv_netvsc: Fix tx_table init in rndis_set_subchannel() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 183/191] gtp: fix an use-after-free in ipv4_pdp_find() Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 184/191] gtp: do not allow adding duplicate tid and ms_addr pdp context Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 185/191] bnxt: apply computed clamp value for coalece parameter Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 186/191] ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 187/191] net: phylink: fix interface passed to mac_link_up Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 188/191] net: ena: fix napi handler misbehavior when the napi budget is zero Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 189/191] vhost/vsock: accept only packets with the right dst_cid Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 190/191] mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround Greg Kroah-Hartman
2020-01-02 22:07 ` [PATCH 5.4 191/191] mmc: sdhci-of-esdhc: re-implement erratum A-009204 workaround Greg Kroah-Hartman
2020-01-03 13:29 ` [PATCH 5.4 000/191] 5.4.8-stable review Jeffrin Jose
2020-01-03 14:21 ` Guenter Roeck
2020-01-03 15:03 ` Naresh Kamboju
2020-01-03 15:25   ` Arnd Bergmann
2020-01-03 15:29     ` Arnd Bergmann
2020-01-03 15:45       ` Greg Kroah-Hartman
2020-01-03 15:56         ` Arnd Bergmann
2020-01-03 17:33           ` Mike Kravetz
2020-01-03 17:56             ` Mike Kravetz
2020-01-03 18:40               ` Linus Torvalds
2020-01-03 19:11                 ` Thomas Backlund
2020-01-03 19:23                   ` Linus Torvalds
2020-01-03 22:15                     ` Thomas Backlund
2020-01-06  9:03                 ` Naresh Kamboju
2020-01-04  9:06               ` Greg Kroah-Hartman
2020-01-03 15:48       ` Guenter Roeck
2020-01-03 16:30         ` Greg Kroah-Hartman
2020-01-03 17:51 ` Jon Hunter
2020-01-04  9:21   ` Greg Kroah-Hartman
2020-01-03 21:48 ` shuah
2020-01-04  9:20   ` 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=20200102215842.068701889@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lsahlber@redhat.com \
    --cc=pshilov@microsoft.com \
    --cc=sashal@kernel.org \
    --cc=sorenson@redhat.com \
    --cc=stable@vger.kernel.org \
    --cc=stfrench@microsoft.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).