1
0
Fork 0
alistair23-linux/drivers/isdn
Meng Xu 02388bf87f isdn/i4l: fetch the ppp_write buffer in one shot
In isdn_ppp_write(), the header (i.e., protobuf) of the buffer is
fetched twice from userspace. The first fetch is used to peek at the
protocol of the message and reset the huptimer if necessary; while the
second fetch copies in the whole buffer. However, given that buf resides
in userspace memory, a user process can race to change its memory content
across fetches. By doing so, we can either avoid resetting the huptimer
for any type of packets (by first setting proto to PPP_LCP and later
change to the actual type) or force resetting the huptimer for LCP
packets.

This patch changes this double-fetch behavior into two single fetches
decided by condition (lp->isdn_device < 0 || lp->isdn_channel <0).
A more detailed discussion can be found at
https://marc.info/?l=linux-kernel&m=150586376926123&w=2

Signed-off-by: Meng Xu <mengxu.gatech@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-09-20 16:01:36 -07:00
..
capi isdn: kcapi: make capi_version const 2017-08-07 14:55:36 -07:00
divert isdn: divert: fix sprintf buffer overflow warning 2017-07-14 09:03:11 -07:00
gigaset net: introduce __skb_put_[zero, data, u8] 2017-06-20 13:30:14 -04:00
hardware isdn: hfcsusb: constify usb_device_id 2017-08-08 21:38:27 -07:00
hisax isdn: hisax: hfc_usb: constify usb_device_id 2017-08-08 21:38:27 -07:00
hysdn hysdn: fix to a race condition in put_log_buffer 2017-08-07 11:25:14 -07:00
i4l isdn/i4l: fetch the ppp_write buffer in one shot 2017-09-20 16:01:36 -07:00
isdnloop isdn: isdnloop: fix logic error in isdnloop_sendbuf 2017-09-07 20:03:54 -07:00
mISDN mISDN: Fix null pointer dereference at mISDN_FsmNew 2017-08-11 14:56:23 -07:00
Kconfig tty: Added a CONFIG_TTY option to allow removal of TTY 2013-01-18 16:15:27 -08:00
Makefile isdn: i4l: move active-isdn drivers to staging 2016-03-05 15:00:38 -08:00