[v2,5.4,0/2] Backport few dfs related fixes to cifs

Message ID 20230607203333.26669-1-risbhat@amazon.com
Headers
Series Backport few dfs related fixes to cifs |

Message

Rishabh Bhatnagar June 7, 2023, 8:33 p.m. UTC
  Recently we have been seeing kernel panic in cifs_reconnect function
while accessing tgt_list. Looks like tgt_list is not initialized
correctly. There are fixes already present in 5.10 and later trees.
Backporting them to 5.4

 CIFS VFS: \\172.30.1.14 cifs_reconnect: no target servers for DFS
 failover
 BUG: unable to handle page fault for address: fffffffffffffff8
 #PF: supervisor read access in kernel mode
 #PF: error_code(0x0000) - not-present page
 PGD 260e067 P4D 260e067 PUD 2610067 PMD 0
 Oops: 0000 [#1] SMP PTI
 RIP: 0010:cifs_reconnect+0x51d/0xef0 [cifs]
 RSP: 0018:ffffc90000693da0 EFLAGS: 00010282
 RAX: fffffffffffffff8 RBX: ffff8887fa63b800 RCX: fffffffffffffff8
 Call Trace:
 cifs_handle_standard+0x18d/0x1b0 [cifs]
 cifs_demultiplex_thread+0xa5c/0xc90 [cifs]
 kthread+0x113/0x130

Paulo Alcantara (2):
  cifs: get rid of unused parameter in reconn_setup_dfs_targets()
  cifs: handle empty list of targets in cifs_reconnect()

 fs/cifs/connect.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
  

Comments

Paulo Alcantara June 8, 2023, 8:54 p.m. UTC | #1
Rishabh Bhatnagar <risbhat@amazon.com> writes:

> Recently we have been seeing kernel panic in cifs_reconnect function
> while accessing tgt_list. Looks like tgt_list is not initialized
> correctly. There are fixes already present in 5.10 and later trees.
> Backporting them to 5.4
>
>  CIFS VFS: \\172.30.1.14 cifs_reconnect: no target servers for DFS
>  failover
>  BUG: unable to handle page fault for address: fffffffffffffff8
>  #PF: supervisor read access in kernel mode
>  #PF: error_code(0x0000) - not-present page
>  PGD 260e067 P4D 260e067 PUD 2610067 PMD 0
>  Oops: 0000 [#1] SMP PTI
>  RIP: 0010:cifs_reconnect+0x51d/0xef0 [cifs]
>  RSP: 0018:ffffc90000693da0 EFLAGS: 00010282
>  RAX: fffffffffffffff8 RBX: ffff8887fa63b800 RCX: fffffffffffffff8
>  Call Trace:
>  cifs_handle_standard+0x18d/0x1b0 [cifs]
>  cifs_demultiplex_thread+0xa5c/0xc90 [cifs]
>  kthread+0x113/0x130
>
> Paulo Alcantara (2):
>   cifs: get rid of unused parameter in reconn_setup_dfs_targets()
>   cifs: handle empty list of targets in cifs_reconnect()
>
>  fs/cifs/connect.c | 15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)

Looks good.
  
Greg KH June 12, 2023, 9:18 a.m. UTC | #2
On Thu, Jun 08, 2023 at 05:54:26PM -0300, Paulo Alcantara wrote:
> Rishabh Bhatnagar <risbhat@amazon.com> writes:
> 
> > Recently we have been seeing kernel panic in cifs_reconnect function
> > while accessing tgt_list. Looks like tgt_list is not initialized
> > correctly. There are fixes already present in 5.10 and later trees.
> > Backporting them to 5.4
> >
> >  CIFS VFS: \\172.30.1.14 cifs_reconnect: no target servers for DFS
> >  failover
> >  BUG: unable to handle page fault for address: fffffffffffffff8
> >  #PF: supervisor read access in kernel mode
> >  #PF: error_code(0x0000) - not-present page
> >  PGD 260e067 P4D 260e067 PUD 2610067 PMD 0
> >  Oops: 0000 [#1] SMP PTI
> >  RIP: 0010:cifs_reconnect+0x51d/0xef0 [cifs]
> >  RSP: 0018:ffffc90000693da0 EFLAGS: 00010282
> >  RAX: fffffffffffffff8 RBX: ffff8887fa63b800 RCX: fffffffffffffff8
> >  Call Trace:
> >  cifs_handle_standard+0x18d/0x1b0 [cifs]
> >  cifs_demultiplex_thread+0xa5c/0xc90 [cifs]
> >  kthread+0x113/0x130
> >
> > Paulo Alcantara (2):
> >   cifs: get rid of unused parameter in reconn_setup_dfs_targets()
> >   cifs: handle empty list of targets in cifs_reconnect()
> >
> >  fs/cifs/connect.c | 15 ++++++++-------
> >  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> Looks good.

Now queued up, thanks.

greg k-h