summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Starke <daniel.starke@siemens.com>2022-04-14 02:42:25 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-05-09 09:16:33 +0200
commit4eae80de03a144ee239b447c0fced2a82b871cf4 (patch)
tree1b5aef59b9522232b6bf20c7c0d1813fb8c73d73
parent9cd2e69c866ecaff82a266bf6bc5f705674c0567 (diff)
downloadlinux-stable-4eae80de03a144ee239b447c0fced2a82b871cf4.tar.gz
linux-stable-4eae80de03a144ee239b447c0fced2a82b871cf4.tar.bz2
linux-stable-4eae80de03a144ee239b447c0fced2a82b871cf4.zip
tty: n_gsm: fix incorrect UA handling
commit ff9166c623704337bd6fe66fce2838d9768a6634 upstream. n_gsm is based on the 3GPP 07.010 and its newer version is the 3GPP 27.010. See https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=1516 The changes from 07.010 to 27.010 are non-functional. Therefore, I refer to the newer 27.010 here. Chapter 5.4.4.2 states that any received unnumbered acknowledgment (UA) with its poll/final (PF) bit set to 0 shall be discarded. Currently, all UA frame are handled in the same way regardless of the PF bit. This does not comply with the standard. Remove the UA case in gsm_queue() to process only UA frames with PF bit set to 1 to abide the standard. Fixes: e1eaea46bb40 ("tty: n_gsm line discipline") Cc: stable@vger.kernel.org Signed-off-by: Daniel Starke <daniel.starke@siemens.com> Link: https://lore.kernel.org/r/20220414094225.4527-20-daniel.starke@siemens.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/tty/n_gsm.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/tty/n_gsm.c b/drivers/tty/n_gsm.c
index 15be4a235783..e440c7f6d20e 100644
--- a/drivers/tty/n_gsm.c
+++ b/drivers/tty/n_gsm.c
@@ -1865,7 +1865,6 @@ static void gsm_queue(struct gsm_mux *gsm)
}
}
break;
- case UA:
case UA|PF:
if (cr == 0 || dlci == NULL)
break;