On Tue, Mar 13, 2018 at 02:51:21PM -0700, akpm@linux-foundation.org wrote:
The patch titled Subject: drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4 has been added to the -mm tree. Its filename is drivers-infiniband-core-verbsc-fix-build-with-gcc-444.patch
This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/drivers-infiniband-core-verbsc-fix-... and later at http://ozlabs.org/~akpm/mmotm/broken-out/drivers-infiniband-core-verbsc-fix-...
Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next and is updated there every 3-4 working days
From: Andrew Morton akpm@linux-foundation.org Subject: drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4
gcc-4.4.4 has issues with initialization of anonymous unions.
drivers/infiniband/core/verbs.c: In function '__ib_drain_sq': drivers/infiniband/core/verbs.c:2204: error: unknown field 'wr_cqe' specified in initializer drivers/infiniband/core/verbs.c:2204: warning: initialization makes integer from pointer without a cast
Work around this.
Fixes: a1ae7d0345edd5 ("RDMA/core: Avoid that ib_drain_qp() triggers an out-of-bounds stack access") Cc: Bart Van Assche bart.vanassche@wdc.com Cc: Steve Wise swise@opengridcomputing.com Cc: Sagi Grimberg sagi@grimberg.me Cc: Jason Gunthorpe jgg@mellanox.com Cc: stable@vger.kernel.org Signed-off-by: Andrew Morton akpm@linux-foundation.org
drivers/infiniband/core/verbs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff -puN drivers/infiniband/core/verbs.c~drivers-infiniband-core-verbsc-fix-build-with-gcc-444 drivers/infiniband/core/verbs.c +++ a/drivers/infiniband/core/verbs.c @@ -2200,8 +2200,9 @@ static void __ib_drain_sq(struct ib_qp * struct ib_send_wr *bad_swr; struct ib_rdma_wr swr = { .wr = {
.next = NULL,
{ .wr_cqe = &sdrain.cqe, }, .opcode = IB_WR_RDMA_WRITE,
}, }; int ret;.wr_cqe = &sdrain.cqe,
_
There were two patches in the series that introduced this, and the same construct was also added in 2a78cb4db487 ("IB/srpt: Fix an out-of-bounds stack access in srpt_zerolength_write()")
We should probably fix both??
Should this go through the rdma -rc tree?
Thanks, Jason