From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751161AbeAVRKO (ORCPT ); Mon, 22 Jan 2018 12:10:14 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:58604 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751040AbeAVRKK (ORCPT ); Mon, 22 Jan 2018 12:10:10 -0500 Subject: Re: [PATCH] RDS: Fix rds-ping inducing kernel panic To: David Miller , leon@kernel.org Cc: keescook@chromium.org, honli@redhat.com, linux-kernel@vger.kernel.org, sowmini.varadhan@oracle.com, sbeattie@ubuntu.com, apw@canonical.com, fenlason@redhat.com, netdev@vger.kernel.org, linux-rdma@vger.kernel.org, rds-devel@oss.oracle.com References: <20180122112415.GA41074@beast> <20180122151054.GJ1393@mtr-leonro.local> <20180122.104730.362327971778717733.davem@davemloft.net> From: Santosh Shilimkar Organization: Oracle Corporation Message-ID: <2cf712c8-3c1f-17de-743f-0fe26331da2e@oracle.com> Date: Mon, 22 Jan 2018 09:04:28 -0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20180122.104730.362327971778717733.davem@davemloft.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8782 signatures=668655 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1801220240 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/22/2018 7:47 AM, David Miller wrote: > From: Leon Romanovsky > Date: Mon, 22 Jan 2018 17:10:54 +0200 > >> On Mon, Jan 22, 2018 at 03:24:15AM -0800, Kees Cook wrote: >>> diff --git a/net/rds/ib_send.c b/net/rds/ib_send.c >>> index 8557a1cae041..5fbf635d17cb 100644 >>> --- a/net/rds/ib_send.c >>> +++ b/net/rds/ib_send.c >>> @@ -506,7 +506,7 @@ int rds_ib_xmit(struct rds_connection *conn, struct rds_message *rm, >>> int flow_controlled = 0; >>> int nr_sig = 0; >>> >>> - BUG_ON(off % RDS_FRAG_SIZE); >>> + BUG_ON(!conn->c_loopback && off % RDS_FRAG_SIZE); >>> BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); >> >> To be honest this function full of BUG_ONs and it looks fishy to have them there. >> Why don't we return EINVAL instead of crashing system? > > I completely agree that these assertions should just cause an error-out > rather than trigger a BUG(). Andy did remove bunch of them but there are still few more left overs. Will have a look at remainder set since most of them were added during early development and remained there. Thanks Dave/Leon. Regards, Santosh