On Tue, Mar 13, 2018 at 02:51:21PM -0700, akpm@xxxxxxxxxxxxxxxxxxxx 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-build-with-gcc-444.patch > and later at > http://ozlabs.org/~akpm/mmotm/broken-out/drivers-infiniband-core-verbsc-fix-build-with-gcc-444.patch > > 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@xxxxxxxxxxxxxxxxxxxx> > 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@xxxxxxx> > Cc: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> > Cc: Sagi Grimberg <sagi@xxxxxxxxxxx> > Cc: Jason Gunthorpe <jgg@xxxxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > > 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, > - .wr_cqe = &sdrain.cqe, > }, > }; > int ret; > _ > 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