nfc/nci: Add the inconsistency check between the input data length and count
[ Upstream commit 068648aab7
]
write$nci(r0, &(0x7f0000000740)=ANY=[@ANYBLOB="610501"], 0xf)
Syzbot constructed a write() call with a data length of 3 bytes but a count value
of 15, which passed too little data to meet the basic requirements of the function
nci_rf_intf_activated_ntf_packet().
Therefore, increasing the comparison between data length and count value to avoid
problems caused by inconsistent data length and count.
Reported-and-tested-by: syzbot+71bfed2b2bcea46c98f2@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
833112b7f1
commit
41f5e2840c
@ -121,6 +121,10 @@ static ssize_t virtual_ncidev_write(struct file *file,
|
|||||||
kfree_skb(skb);
|
kfree_skb(skb);
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
}
|
}
|
||||||
|
if (strnlen(skb->data, count) != count) {
|
||||||
|
kfree_skb(skb);
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
nci_recv_frame(ndev, skb);
|
nci_recv_frame(ndev, skb);
|
||||||
return count;
|
return count;
|
||||||
|
Reference in New Issue
Block a user