Thread (24 messages) read the whole thread 24 messages, 3 authors, 2018-06-27

Re: [PATCH rdma-next 06/12] RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR

From: Leon Romanovsky <leon@kernel.org>
Date: 2018-06-25 08:08:19
Also in: linux-rdma

On Sun, Jun 24, 2018 at 01:57:51PM -0600, Jason Gunthorpe wrote:
On Sun, Jun 24, 2018 at 11:23:47AM +0300, Leon Romanovsky wrote:
quoted
From: Leon Romanovsky <redacted>

Number of specs is provided by user and in valid case can be equal to zero.
Such argument causes to call to kcalloc() with zero-length request and in
return the ZERO_SIZE_PTR is assigned. This pointer is different from NULL
and makes various if (..) checks to success.
The one seems really weird. There is nothing wrong with ZERO_SIZE_PTR,
but this description and fix suggest that something did

ptr = kalloc(0);
ptr[0] = ...;

Which is not allowed of course. Doesn't this mean there is also a
missing range check someplace?
I don't know, this issue was found during code review of
ib_uvrebs_ex_create_flow(), may or may not be real issue.

Thanks
Jason

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help