Dear victim,
this Is National Crime Investigation Center USA.
In our Investigation from banks on International and National Funds
Transfer (INFT) protocols In The past 10 years from all banks
Worldwide. We have come across your contact details and record with
One of this Bank. in view of The carried Investigations, we have
Contacted you confidentially for vital Information toward your
transactions with This bank. It was clear That The bank have delayed
Your payment Thereby looking for a means to divert your fund to
Different Individual account not belonging to you.
How ever, all bank officials who mishandled your Transaction has been
Duly sacked and management dissolved and dismissed from bank work as a
Result of This attempt. Upon our Investigation conclusion, we found
Out that your Transaction was Legitimate and for This reason, a
Compensation Amount of $3,150,567.00 (Three million one hundred and
Fifty thousand, five hundred and sixty seven dollars) has been
Allocated to you for Immediate payment through our accredited bank,
Platinum Federal Credit Union USA. Kindly contact the compensation
paying officer with The below details.
Email: mrs.sophiar.robin424(a)gmail.com,
Yours Sincerely
mrs.sophiar.robin,
The LPUART hardware doesn't zero out the parity bit on the received
characters. This behavior won't impact the use cases of CS8 because
the parity bit is the 9th bit which is not currently used by software.
But the parity bit for CS7 must be zeroed out by software in order to
get the correct raw data.
Signed-off-by: Shenwei Wang <shenwei.wang(a)nxp.com>
---
changes in v2
- remove the "inline" keyword from the function of lpuart_tty_insert_flip_string;
changes in v1
- fix the code indent and whitespace issue;
drivers/tty/serial/fsl_lpuart.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index fc7d235a1e270..afa0f941c862f 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -274,6 +274,8 @@ struct lpuart_port {
int rx_dma_rng_buf_len;
unsigned int dma_tx_nents;
wait_queue_head_t dma_wait;
+ bool is_cs7; /* Set to true when character size is 7 */
+ /* and the parity is enabled */
};
struct lpuart_soc_data {
@@ -1022,6 +1024,9 @@ static void lpuart32_rxint(struct lpuart_port *sport)
flg = TTY_OVERRUN;
}
+ if (sport->is_cs7)
+ rx &= 0x7F;
+
if (tty_insert_flip_char(port, rx, flg) == 0)
sport->port.icount.buf_overrun++;
}
@@ -1107,6 +1112,17 @@ static void lpuart_handle_sysrq(struct lpuart_port *sport)
}
}
+static int lpuart_tty_insert_flip_string(struct tty_port *port,
+ unsigned char *chars, size_t size, bool is_cs7)
+{
+ int i;
+
+ if (is_cs7)
+ for (i = 0; i < size; i++)
+ chars[i] &= 0x7F;
+ return tty_insert_flip_string(port, chars, size);
+}
+
static void lpuart_copy_rx_to_tty(struct lpuart_port *sport)
{
struct tty_port *port = &sport->port.state->port;
@@ -1217,7 +1233,8 @@ static void lpuart_copy_rx_to_tty(struct lpuart_port *sport)
if (ring->head < ring->tail) {
count = sport->rx_sgl.length - ring->tail;
- copied = tty_insert_flip_string(port, ring->buf + ring->tail, count);
+ copied = lpuart_tty_insert_flip_string(port, ring->buf + ring->tail,
+ count, sport->is_cs7);
if (copied != count)
sport->port.icount.buf_overrun++;
ring->tail = 0;
@@ -1227,7 +1244,8 @@ static void lpuart_copy_rx_to_tty(struct lpuart_port *sport)
/* Finally we read data from tail to head */
if (ring->tail < ring->head) {
count = ring->head - ring->tail;
- copied = tty_insert_flip_string(port, ring->buf + ring->tail, count);
+ copied = lpuart_tty_insert_flip_string(port, ring->buf + ring->tail,
+ count, sport->is_cs7);
if (copied != count)
sport->port.icount.buf_overrun++;
/* Wrap ring->head if needed */
@@ -2066,6 +2084,7 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios,
ctrl = old_ctrl = lpuart32_read(&sport->port, UARTCTRL);
bd = lpuart32_read(&sport->port, UARTBAUD);
modem = lpuart32_read(&sport->port, UARTMODIR);
+ sport->is_cs7 = false;
/*
* only support CS8 and CS7, and for CS7 must enable PE.
* supported mode:
@@ -2184,6 +2203,9 @@ lpuart32_set_termios(struct uart_port *port, struct ktermios *termios,
lpuart32_write(&sport->port, ctrl, UARTCTRL);
/* restore control register */
+ if ((ctrl & (UARTCTRL_PE | UARTCTRL_M)) == UARTCTRL_PE)
+ sport->is_cs7 = true;
+
if (old && sport->lpuart_dma_rx_use) {
if (!lpuart_start_rx_dma(sport))
rx_dma_timer_init(sport);
--
2.25.1
This is the start of the stable review cycle for the 4.14.290 release.
There are 37 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Fri, 29 Jul 2022 16:09:50 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.14.290-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.14.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.14.290-rc1
Jeffrey Hugo <quic_jhugo(a)quicinc.com>
PCI: hv: Fix interrupt mapping for multi-MSI
Jeffrey Hugo <quic_jhugo(a)quicinc.com>
PCI: hv: Reuse existing IRTE allocation in compose_msi_msg()
Jeffrey Hugo <quic_jhugo(a)quicinc.com>
PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI
Jeffrey Hugo <quic_jhugo(a)quicinc.com>
PCI: hv: Fix multi-MSI to allow more than one MSI vector
Jose Alonso <joalonsof(a)gmail.com>
net: usb: ax88179_178a needs FLAG_SEND_ZLP
Jiri Slaby <jslaby(a)suse.cz>
tty: use new tty_insert_flip_string_and_push_buffer() in pty_write()
Jiri Slaby <jslaby(a)suse.cz>
tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push()
Jiri Slaby <jslaby(a)suse.cz>
tty: drop tty_schedule_flip()
Jiri Slaby <jslaby(a)suse.cz>
tty: the rest, stop using tty_schedule_flip()
Jiri Slaby <jslaby(a)suse.cz>
tty: drivers/tty/, stop using tty_schedule_flip()
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: Fix bt_skb_sendmmsg not allocating partial chunks
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: SCO: Fix sco_send_frame returning skb->len
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: Fix passing NULL to PTR_ERR
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: RFCOMM: Replace use of memcpy_from_msg with bt_skb_sendmmsg
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: Add bt_skb_sendmmsg helper
Luiz Augusto von Dentz <luiz.von.dentz(a)intel.com>
Bluetooth: Add bt_skb_sendmsg helper
Takashi Iwai <tiwai(a)suse.de>
ALSA: memalloc: Align buffer allocations in page size
Xiaomeng Tong <xiam0nd.tong(a)gmail.com>
tilcdc: tilcdc_external: fix an incorrect NULL check on list iterator
Jyri Sarha <jsarha(a)ti.com>
drm/tilcdc: Remove obsolete crtc_mode_valid() hack
Eric Dumazet <edumazet(a)google.com>
bpf: Make sure mac_header was set before using it
Wang Cheng <wanngchenng(a)gmail.com>
mm/mempolicy: fix uninit-value in mpol_rebind_policy()
Jason A. Donenfeld <Jason(a)zx2c4.com>
Revert "Revert "char/random: silence a lockdep splat with printk()""
Hristo Venev <hristo(a)venev.name>
be2net: Fix buffer overflow in be_get_module_eeprom
Kuniyuki Iwashima <kuniyu(a)amazon.com>
tcp: Fix a data-race around sysctl_tcp_notsent_lowat.
Kuniyuki Iwashima <kuniyu(a)amazon.com>
igmp: Fix a data-race around sysctl_igmp_max_memberships.
Kuniyuki Iwashima <kuniyu(a)amazon.com>
igmp: Fix data-races around sysctl_igmp_llm_reports.
Junxiao Chang <junxiao.chang(a)intel.com>
net: stmmac: fix dma queue left shift overflow issue
Robert Hancock <robert.hancock(a)calian.com>
i2c: cadence: Change large transfer count reset logic to be unconditional
Kuniyuki Iwashima <kuniyu(a)amazon.com>
tcp: Fix a data-race around sysctl_tcp_probe_interval.
Kuniyuki Iwashima <kuniyu(a)amazon.com>
tcp: Fix a data-race around sysctl_tcp_probe_threshold.
Kuniyuki Iwashima <kuniyu(a)amazon.com>
tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept.
Kuniyuki Iwashima <kuniyu(a)amazon.com>
ip: Fix a data-race around sysctl_fwmark_reflect.
Peter Zijlstra <peterz(a)infradead.org>
perf/core: Fix data race between perf_event_set_output() and perf_mmap_close()
Miaoqian Lin <linmq006(a)gmail.com>
power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe
Hangyu Hua <hbh25y(a)gmail.com>
xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup()
Demi Marie Obenour <demi(a)invisiblethingslab.com>
xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE
-------------
Diffstat:
Makefile | 4 +-
arch/alpha/kernel/srmcons.c | 2 +-
drivers/char/random.c | 4 +-
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 28 +++---
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 1 -
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 2 -
drivers/gpu/drm/tilcdc/tilcdc_external.c | 96 +++-----------------
drivers/gpu/drm/tilcdc/tilcdc_external.h | 1 -
drivers/gpu/drm/tilcdc/tilcdc_panel.c | 9 --
drivers/gpu/drm/tilcdc/tilcdc_tfp410.c | 9 --
drivers/i2c/busses/i2c-cadence.c | 30 ++-----
drivers/net/ethernet/emulex/benet/be_cmds.c | 10 +--
drivers/net/ethernet/emulex/benet/be_cmds.h | 2 +-
drivers/net/ethernet/emulex/benet/be_ethtool.c | 31 ++++---
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 3 +
drivers/net/usb/ax88179_178a.c | 16 ++--
drivers/pci/host/pci-hyperv.c | 101 ++++++++++++++++++----
drivers/power/reset/arm-versatile-reboot.c | 1 +
drivers/s390/char/keyboard.h | 4 +-
drivers/staging/speakup/spk_ttyio.c | 4 +-
drivers/tty/cyclades.c | 6 +-
drivers/tty/goldfish.c | 2 +-
drivers/tty/moxa.c | 4 +-
drivers/tty/pty.c | 14 +--
drivers/tty/serial/lpc32xx_hs.c | 2 +-
drivers/tty/tty_buffer.c | 66 +++++++++-----
drivers/tty/vt/keyboard.c | 6 +-
drivers/tty/vt/vt.c | 2 +-
drivers/xen/gntdev.c | 3 +-
include/linux/tty_flip.h | 4 +-
include/net/bluetooth/bluetooth.h | 65 ++++++++++++++
include/net/inet_sock.h | 3 +-
include/net/ip.h | 2 +-
include/net/tcp.h | 2 +-
kernel/bpf/core.c | 8 +-
kernel/events/core.c | 45 +++++++---
mm/mempolicy.c | 2 +-
net/bluetooth/rfcomm/core.c | 50 +++++++++--
net/bluetooth/rfcomm/sock.c | 46 +++-------
net/bluetooth/sco.c | 30 +++----
net/ipv4/igmp.c | 23 +++--
net/ipv4/tcp_output.c | 4 +-
net/xfrm/xfrm_policy.c | 5 +-
sound/core/memalloc.c | 1 +
44 files changed, 410 insertions(+), 343 deletions(-)