linux/include/net/nfc
Suren Baghdasaryan e285d5bfb7 NFC: Fix the number of pipes
According to ETSI TS 102 622 specification chapter 4.4 pipe identifier
is 7 bits long which allows for 128 unique pipe IDs. Because
NFC_HCI_MAX_PIPES is used as the number of pipes supported and not
as the max pipe ID, its value should be 128 instead of 127.

nfc_hci_recv_from_llc extracts pipe ID from packet header using
NFC_HCI_FRAGMENT(0x7F) mask which allows for pipe ID value of 127.
Same happens when NCI_HCP_MSG_GET_PIPE() is being used. With
pipes array having only 127 elements and pipe ID of 127 the OOB memory
access will result.

Cc: Samuel Ortiz <sameo@linux.intel.com>
Cc: Allen Pais <allen.pais@oracle.com>
Cc: "David S. Miller" <davem@davemloft.net>
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-18 19:55:01 -07:00
..
digital.h NFC: digital: Add support for NFC DEP Response Waiting Time 2016-07-11 02:01:14 +02:00
hci.h NFC: Fix the number of pipes 2018-09-18 19:55:01 -07:00
llc.h NFC: hci: delete unused nfc_llc_get_rx_head_tail_room() 2016-07-04 12:14:05 +02:00
nci_core.h nfc: nci: Add nci_nfcc_loopback to the nci core 2016-05-04 01:48:16 +02:00
nci.h NFC: nfcmrvl: add i2c driver 2015-10-27 04:21:14 +01:00
nfc.h NFC: Add nfc_dbg() macro 2017-04-05 10:15:20 +02:00