Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3269809pxb; Wed, 13 Oct 2021 02:33:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxbdzBHRKHFt4n6Lk8MEXc4RMswBd/1SuUg9LyJ6rHL3SKyX6F1Jrob9REpu+m4426wdnXP X-Received: by 2002:a17:907:1627:: with SMTP id hb39mr2685789ejc.161.1634117615745; Wed, 13 Oct 2021 02:33:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634117615; cv=none; d=google.com; s=arc-20160816; b=v3ZWQZseqEDuPUl7xWdEnlc5inEmbbzaBta/q/lehKS7nfZIatrSeCyavge9JR85xf 74R0VXYQ+mkzdxB/IqMLOo+ZDLmdR7IF2W+hmyb7iHk6HFMasqhn8Y6U0kHP+FtGsPtd hNrqZ0vOE7QxG0WhLfzhLiyrctWpWQcEHrm4XF35j0DaO9d6p0T5GXm+DmLY2iAserKO FGY93ApbhGY7Q/HKE0o/ueSXb77BQreBAhPcyl1ryyJrF1UY4sK7w5JCXBPetqTGs/1C FGouuoP0LeZANUb32X05mysodfK7CwFYsqfPE+pKSGIUkpdWijuEzMVRjsHBCatxymyb 7RCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=8dMbP0xPNMCvpEaUY/4vh8kRyTAXiYO7rdt5PxP5MSk=; b=DuYVHrWjqKH0iAvQPgp6WyAm/3/hs//B1kmvNozbftlsgTw/AABa/ZSlz3uJIXfVnA LisK77+ANsXNgfSpHoZniQk0FPhL4PwsLis4EyazxI/VvAsHzChsbvBGZFcBYDSF/GVZ VzozQCaaHCmM5hZ9jAR+y+DvpbxHIw9I6V8POpHqtkKzySYg8Nv97ztbETP/9fato3Fs B1+Eh55rWTETnYq2NQqisyHTihhZ5EUnAB7vFXB3XKJwd5uFztr/R3IZ5JYARj1em9gN NxL16Bzjlrja82Qz+/mGppfFitD0yWBAhWyQ4hzVaSFmNEeuDvhKf192i2oxlSvpqEQM 7KSA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="k2c/B/pW"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r21si23698717ejo.665.2021.10.13.02.33.12; Wed, 13 Oct 2021 02:33:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b="k2c/B/pW"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238942AbhJMJbG (ORCPT + 99 others); Wed, 13 Oct 2021 05:31:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238229AbhJMJbE (ORCPT ); Wed, 13 Oct 2021 05:31:04 -0400 Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com [IPv6:2a00:1450:4864:20::535]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4814C061714; Wed, 13 Oct 2021 02:29:01 -0700 (PDT) Received: by mail-ed1-x535.google.com with SMTP id g8so7497049edt.7; Wed, 13 Oct 2021 02:29:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=8dMbP0xPNMCvpEaUY/4vh8kRyTAXiYO7rdt5PxP5MSk=; b=k2c/B/pWuaCErxpybv+Z0F89u4ao68vQPUXx4RNine1YegMf4YEvDIdfoMouC900Ia ZsIKRmF3RL/EOTLhY1yfRaIzGVxyCdd2g7XvKBIbZcWSCuj3JhHapDLLKTOUEei1kFVi LFmClhYqgugHVxbcb/p+plO4C1RnB6ASNDSSvBcMxWSySaNZjiU7YJ/vS3tknmhsBRIO wvV0UwLJYVkT8MhytaBueN4l9q/71VjUZB8YtNYhikmDOsAKB+ViOVutwOFJ4gYFYVlo 11a0fZtJFTxUCu4bIKyl3i76ODEYH/M56YkoCirXrFdElK/Lw+moi7s8ap7Waa6BzodF U7rg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=8dMbP0xPNMCvpEaUY/4vh8kRyTAXiYO7rdt5PxP5MSk=; b=EE/xRmHdgcv6hv81/d+UnnklfBSeMFW8PhSX+PtsFz6z4cU1ljTTPvsLS7w2MBkV/R hw/Xr0ATzjC/9s3hPq3Bz4FEyA1q1zHvHnRD4Uxt7wmU5ccf/xUFMgleLa8kONmBEX7G UI3VSu6o2th/dA74Hx34iEYkNImpaUC/6SDDof8DIkaPqN8D9RLRISTeF8jmxUoYVdRf FB0c5NHYdyKewfmLykkDcOZ2ZvLV5wkRYXeu16v4GW+tBvaTg/mmGazNrhzukVJQth6y eqVbId7vlPSVrx+d7AgmfuM5mHurz7H5aGqLzZoqfOaHytNxDADY1zO8Xo4YJFFhaP7L lvNg== X-Gm-Message-State: AOAM530HfBDoh+pc1NgYnFYAPc9Jaqtk7vS7QPsOwaG14rQVrdngYGfg 39/Z8S4asw18nX+d+lumu8iyrXJPOfxY0iXH+XY= X-Received: by 2002:a17:906:1707:: with SMTP id c7mr37678150eje.377.1634117340330; Wed, 13 Oct 2021 02:29:00 -0700 (PDT) MIME-Version: 1.0 References: <20211012092513.1349295-1-yangyingliang@huawei.com> <61c28865036cd40a96f2d1bb4c27fbbb08c2d3a5.camel@perches.com> <04c752b5-3814-34d0-82e4-9d0d46af433f@huawei.com> In-Reply-To: <04c752b5-3814-34d0-82e4-9d0d46af433f@huawei.com> From: Andy Shevchenko Date: Wed, 13 Oct 2021 12:28:24 +0300 Message-ID: Subject: Re: [PATCH] iio: buffer: Fix double-free in iio_buffers_alloc_sysfs_and_mask() To: Yang Yingliang Cc: Joe Perches , Alexandru Ardelean , LKML , linux-iio , Lars-Peter Clausen , Jonathan Cameron Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 13, 2021 at 12:17 PM Yang Yingliang wrote: > On 2021/10/13 4:58, Andy Shevchenko wrote: > > On Tue, Oct 12, 2021 at 8:55 PM Joe Perches wrote: > >> On Tue, 2021-10-12 at 23:48 +0300, Andy Shevchenko wrote: > >>> On Tue, Oct 12, 2021 at 8:43 PM Joe Perches wrote: > >>>> On Tue, 2021-10-12 at 23:30 +0300, Andy Shevchenko wrote: > >>>>> On Tue, Oct 12, 2021 at 2:37 PM Alexandru Ardelean > >>>>> wrote: > >>>>>> On Tue, Oct 12, 2021 at 12:18 PM Yang Yingliang > >>>>>> wrote: > > ... > > > >>>>> I prefer to see > >>>>> > >>>>> - for (; unwind_idx >= 0; unwind_idx--) { > >>>>> + while (unwind_idx--) > >>>> Not the same code as unwind_idx would be decremented before entering > >>>> the code block. > >>> It's kinda cryptic what you are pointing out. > >> Not really, > > It's. It lacks the very same "additional" words to explain what you > > meant and why. > > > >>> What's needed additionally is to change > >>> > >>> - unwind_idx = iio_dev_opaque->attached_buffers_cnt - 1; > >>> + unwind_idx = i; > >> You left out that 'additional change' above from your reply. > > Yes, that's true, but it took some time to decrypt your message. > > > >>> Of course not. See above. The usual pattern is > >>> > >>> while (i--) > >>> do_clean_item(i); > >> Of course, but that's not what you replied. > >> I was merely pointing out that your reply included a logic change > >> converting a loop from for to while. > > I expect that developers actually think about the changes they do and > > double check what's proposed by reviewers. If they just copy'n'paste > > whatever others propose, I wouldn't take any patch from such a > > developer. > I think in alloc path is using for loop, and in error/free path also > using for loop is better to read the code. I don't think so. while(idx--) is kinda idiom which is really easy to read. I could send a v2 on your behalf. -- With Best Regards, Andy Shevchenko