From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dejin Zheng Date: Thu, 23 Apr 2020 14:52:40 +0000 Subject: Re: [PATCH v1] fbdev: sm712fb: fix an issue about iounmap for a wrong address Message-Id: <20200423145239.GC1562@nuc8i5> List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Markus Elfring Cc: linux-fbdev@vger.kernel.org, Teddy Wang , Bartlomiej Zolnierkiewicz , Greg Kroah-Hartman , kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Andy Shevchenko , Sudip Mukherjee On Thu, Apr 23, 2020 at 02:14:48PM +0200, Markus Elfring wrote: > > the sfb->fb->screen_base is not save the value get by iounmap() when > > the chip id is 0x720. > > I suggest to improve this change description. > How did you determine relevant differences for the mentioned chip model? > Read and check its codes。 smtcfb_pci_probe() --> smtc_map_smem() smtcfb_pci_probe() switch (sfb->chip_id) { case 0x710: case 0x712: sfb->lfb = ioremap(mmio_base, mmio_addr); case 0x720: sfb->dp_regs = ioremap(mmio_base, 0x00200000 + smem_size); sfb->lfb = sfb->dp_regs + 0x00200000; } smtc_map_smem() sfb->fb->screen_base = sfb->lfb; smtcfb_pci_remove() --> smtc_unmap_smem() smtc_unmap_smem() iounmap(sfb->fb->screen_base); > > > so iounmap() for address sfb->fb->screen_base is not right. > > Will another imperative wording become helpful here? > yes, this is why need to change this code. > > … > > +++ b/drivers/video/fbdev/sm712fb.c > > @@ -1429,6 +1429,8 @@ static int smtc_map_smem(struct smtcfb_info *sfb, > > static void smtc_unmap_smem(struct smtcfb_info *sfb) > > { > > if (sfb && sfb->fb->screen_base) { > > + if (sfb->chip_id = 0x720) > > + sfb->fb->screen_base -= 0x00200000; > > iounmap(sfb->fb->screen_base); > > How do you think about to use descriptive identifiers for > the shown constants? > These two constants are originally in the driver, I don't know enough about its meaning, There are a lot of constants in this driver. If I replace it with the macro, I worry that the name of the macro may not be accurate. > Would you like to clarify any related software analysis approaches? > just read coedes and check it. > Regards, > Markus From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AE149C54FD0 for ; Thu, 23 Apr 2020 22:50:42 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7EAAD20736 for ; Thu, 23 Apr 2020 22:50:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qE2OfZI2" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7EAAD20736 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id BD2C96EA0F; Thu, 23 Apr 2020 22:50:36 +0000 (UTC) Received: from mail-pl1-x643.google.com (mail-pl1-x643.google.com [IPv6:2607:f8b0:4864:20::643]) by gabe.freedesktop.org (Postfix) with ESMTPS id 34D316E884 for ; Thu, 23 Apr 2020 14:52:47 +0000 (UTC) Received: by mail-pl1-x643.google.com with SMTP id g2so2447597plo.3 for ; Thu, 23 Apr 2020 07:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=XXa44dRejUVD9khGbpB7Lq0g9wT1bE7Lq11QXvftrgA=; b=qE2OfZI2wUVvj77T4PFS0pvS8DTwl271ADgwm6nQaDeGBfGTNSVgYanwxrIvfw4rAI J58hPTNIqmjrHrUpsIOY6RtbFoJGIgscCA41U8MGHAHQTPoudHOATd9n32TM7IoqKprO 7s/TmDNACHiujN3hfikbHxN8ZlKxSGsqz2Ql/+u5h8BPgBFgL19XhinLPzl2rW8Nh1ZQ G/HIyN4hEzJHAz/4ZmhJE3bAvpQqzlXcYv0qngMoe68yFw0BvvR8Am6znPtWDs2jnPQO w/px3lOq3k9fN2N+okO6iwWf0bdu1nGSw3QjAMDkoovNlS16b3D6r2yGbnlV7bXlHBZl 4aIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=XXa44dRejUVD9khGbpB7Lq0g9wT1bE7Lq11QXvftrgA=; b=dKEdgBLjrxUqqy7zXVw+OPeixL71AOOql9QCeJv78GC3Om92bNE03Kt3T2kVeeTbrr Uk3P/rIs6HV8fYAl8WUeZ2/lZK1hM1njfGGKqfpkW+ZllGOA/5uFmMZU2h/O/mb8zxD2 Uu2EZnpR3SgR1bnLkm+ja+dgHFsijrft7z+PzX28AG9HkIsc/hjWqJ4+vVJtfXNpqk1g Brnqpd5GwuMF2PQeeRKh9k06DLydtly442fCgQW8FtWdhV9ZFID/rt28ltKXWCBbIANy 0n9NINWtbp7Q9ScxbyI/vOzQ799rXlXDZ+m/ni28EF6u/7eH1+vvQThsgYUvVZBXVcDp y/WQ== X-Gm-Message-State: AGi0PuZsKm3Z1acgwpYlsoLoaTzEyor48WK70/ZnCVgyyENiGmRz1i5O Fd8KQ+LFOzXqmU5RVFVIW54= X-Google-Smtp-Source: APiQypJpH6Jh81nSVTNgvgCANJgQ3DPA4JhoZAwMB7qvMzGPSlAcC3qmZOotUwN/EekORxapq5Vkgw== X-Received: by 2002:a17:90a:2f64:: with SMTP id s91mr1147538pjd.30.1587653566730; Thu, 23 Apr 2020 07:52:46 -0700 (PDT) Received: from localhost ([176.122.158.71]) by smtp.gmail.com with ESMTPSA id r189sm2319896pgr.31.2020.04.23.07.52.45 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 23 Apr 2020 07:52:46 -0700 (PDT) Date: Thu, 23 Apr 2020 22:52:40 +0800 From: Dejin Zheng To: Markus Elfring Subject: Re: [PATCH v1] fbdev: sm712fb: fix an issue about iounmap for a wrong address Message-ID: <20200423145239.GC1562@nuc8i5> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Mailman-Approved-At: Thu, 23 Apr 2020 22:50:35 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-fbdev@vger.kernel.org, Teddy Wang , Bartlomiej Zolnierkiewicz , Greg Kroah-Hartman , kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Andy Shevchenko , Sudip Mukherjee Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVGh1LCBBcHIgMjMsIDIwMjAgYXQgMDI6MTQ6NDhQTSArMDIwMCwgTWFya3VzIEVsZnJpbmcg d3JvdGU6Cj4gPiB0aGUgc2ZiLT5mYi0+c2NyZWVuX2Jhc2UgaXMgbm90IHNhdmUgdGhlIHZhbHVl IGdldCBieSBpb3VubWFwKCkgd2hlbgo+ID4gdGhlIGNoaXAgaWQgaXMgMHg3MjAuCj4gCj4gSSBz dWdnZXN0IHRvIGltcHJvdmUgdGhpcyBjaGFuZ2UgZGVzY3JpcHRpb24uCj4gSG93IGRpZCB5b3Ug ZGV0ZXJtaW5lIHJlbGV2YW50IGRpZmZlcmVuY2VzIGZvciB0aGUgbWVudGlvbmVkIGNoaXAgbW9k ZWw/Cj4KUmVhZCBhbmQgY2hlY2sgaXRzIGNvZGVz44CCCgpzbXRjZmJfcGNpX3Byb2JlKCkgLS0+ IHNtdGNfbWFwX3NtZW0oKQoKc210Y2ZiX3BjaV9wcm9iZSgpCnN3aXRjaCAoc2ZiLT5jaGlwX2lk KSB7CiAgICAgICAgY2FzZSAweDcxMDoKICAgICAgICBjYXNlIDB4NzEyOgoJCXNmYi0+bGZiID0g aW9yZW1hcChtbWlvX2Jhc2UsIG1taW9fYWRkcik7CgljYXNlIDB4NzIwOgoJCXNmYi0+ZHBfcmVn cyA9IGlvcmVtYXAobW1pb19iYXNlLCAweDAwMjAwMDAwICsgc21lbV9zaXplKTsKICAgICAgICAg ICAgICAgIHNmYi0+bGZiID0gc2ZiLT5kcF9yZWdzICsgMHgwMDIwMDAwMDsKCX0Kc210Y19tYXBf c21lbSgpCglzZmItPmZiLT5zY3JlZW5fYmFzZSA9IHNmYi0+bGZiOwoKCnNtdGNmYl9wY2lfcmVt b3ZlKCkgLS0+IHNtdGNfdW5tYXBfc21lbSgpCgpzbXRjX3VubWFwX3NtZW0oKQoJaW91bm1hcChz ZmItPmZiLT5zY3JlZW5fYmFzZSk7Cgo+IAo+ID4gc28gaW91bm1hcCgpIGZvciBhZGRyZXNzIHNm Yi0+ZmItPnNjcmVlbl9iYXNlIGlzIG5vdCByaWdodC4KPiAKPiBXaWxsIGFub3RoZXIgaW1wZXJh dGl2ZSB3b3JkaW5nIGJlY29tZSBoZWxwZnVsIGhlcmU/Cj4gCnllcywgdGhpcyBpcyB3aHkgbmVl ZCB0byBjaGFuZ2UgdGhpcyBjb2RlLgoKPiAKPiDigKYKPiA+ICsrKyBiL2RyaXZlcnMvdmlkZW8v ZmJkZXYvc203MTJmYi5jCj4gPiBAQCAtMTQyOSw2ICsxNDI5LDggQEAgIHN0YXRpYyBpbnQgc210 Y19tYXBfc21lbShzdHJ1Y3Qgc210Y2ZiX2luZm8gKnNmYiwKPiA+ICBzdGF0aWMgdm9pZCBzbXRj X3VubWFwX3NtZW0oc3RydWN0IHNtdGNmYl9pbmZvICpzZmIpCj4gPiAgewo+ID4gIAlpZiAoc2Zi ICYmIHNmYi0+ZmItPnNjcmVlbl9iYXNlKSB7Cj4gPiArCQlpZiAoc2ZiLT5jaGlwX2lkID09IDB4 NzIwKQo+ID4gKwkJCXNmYi0+ZmItPnNjcmVlbl9iYXNlIC09IDB4MDAyMDAwMDA7Cj4gPiAgCQlp b3VubWFwKHNmYi0+ZmItPnNjcmVlbl9iYXNlKTsKPiAKPiBIb3cgZG8geW91IHRoaW5rIGFib3V0 IHRvIHVzZSBkZXNjcmlwdGl2ZSBpZGVudGlmaWVycyBmb3IKPiB0aGUgc2hvd24gY29uc3RhbnRz Pwo+ClRoZXNlIHR3byBjb25zdGFudHMgYXJlIG9yaWdpbmFsbHkgaW4gdGhlIGRyaXZlciwgSSBk b24ndCBrbm93IGVub3VnaAphYm91dCBpdHMgbWVhbmluZywgVGhlcmUgYXJlIGEgbG90IG9mIGNv bnN0YW50cyBpbiB0aGlzIGRyaXZlci4gSWYgSQpyZXBsYWNlIGl0IHdpdGggdGhlIG1hY3JvLCBJ IHdvcnJ5IHRoYXQgdGhlIG5hbWUgb2YgdGhlIG1hY3JvIG1heSBub3QKYmUgYWNjdXJhdGUuCgo+ IFdvdWxkIHlvdSBsaWtlIHRvIGNsYXJpZnkgYW55IHJlbGF0ZWQgc29mdHdhcmUgYW5hbHlzaXMg YXBwcm9hY2hlcz8KPgpqdXN0IHJlYWQgY29lZGVzIGFuZCBjaGVjayBpdC4KCj4gUmVnYXJkcywK PiBNYXJrdXMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC5A6C54FCB for ; Thu, 23 Apr 2020 14:52:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 95E192074F for ; Thu, 23 Apr 2020 14:52:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qE2OfZI2" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728897AbgDWOwr (ORCPT ); Thu, 23 Apr 2020 10:52:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47396 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726380AbgDWOwr (ORCPT ); Thu, 23 Apr 2020 10:52:47 -0400 Received: from mail-pl1-x642.google.com (mail-pl1-x642.google.com [IPv6:2607:f8b0:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FCD6C08E934; Thu, 23 Apr 2020 07:52:47 -0700 (PDT) Received: by mail-pl1-x642.google.com with SMTP id t16so2439098plo.7; Thu, 23 Apr 2020 07:52:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=XXa44dRejUVD9khGbpB7Lq0g9wT1bE7Lq11QXvftrgA=; b=qE2OfZI2wUVvj77T4PFS0pvS8DTwl271ADgwm6nQaDeGBfGTNSVgYanwxrIvfw4rAI J58hPTNIqmjrHrUpsIOY6RtbFoJGIgscCA41U8MGHAHQTPoudHOATd9n32TM7IoqKprO 7s/TmDNACHiujN3hfikbHxN8ZlKxSGsqz2Ql/+u5h8BPgBFgL19XhinLPzl2rW8Nh1ZQ G/HIyN4hEzJHAz/4ZmhJE3bAvpQqzlXcYv0qngMoe68yFw0BvvR8Am6znPtWDs2jnPQO w/px3lOq3k9fN2N+okO6iwWf0bdu1nGSw3QjAMDkoovNlS16b3D6r2yGbnlV7bXlHBZl 4aIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=XXa44dRejUVD9khGbpB7Lq0g9wT1bE7Lq11QXvftrgA=; b=oihQQ+JOFBLI2z7XH6Tt6N0YQvbA58dJUN1ochJS8KOsUL7leK6qLARivz6fgOCCdU wHPtjTxysZ2St37eM47+xbx/kFlbWIgQWDSXv0s2KyjgLb8G4AMWQ6UF35z+4CA9b++E mqwpNETs8hAfN0SPgTbW1p8c06fX1N6+D6PSk8nFE6gzi3TB/YvlmGBEg4krbCz5e/mW LGnQh3VFC7ryNynopDfgtbZtPKliTjwzmIJpgd32bJrc6L7gNcGK8beKBo94LU/Q2MtJ Z3yj7/cfW0dgth/NpoEKauogjUr4P/eGtQxy2erlDzGeHoDTb04/1ab8cLxNINSuGqbQ R4tQ== X-Gm-Message-State: AGi0PuY2fLG5Vi/R2cnR4xeJPfQKIGJXN98p4DqIsbZ4tmyj4gW7L0H7 R8SA1BHjJvU+iuGmFWzt+X0= X-Google-Smtp-Source: APiQypJpH6Jh81nSVTNgvgCANJgQ3DPA4JhoZAwMB7qvMzGPSlAcC3qmZOotUwN/EekORxapq5Vkgw== X-Received: by 2002:a17:90a:2f64:: with SMTP id s91mr1147538pjd.30.1587653566730; Thu, 23 Apr 2020 07:52:46 -0700 (PDT) Received: from localhost ([176.122.158.71]) by smtp.gmail.com with ESMTPSA id r189sm2319896pgr.31.2020.04.23.07.52.45 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 23 Apr 2020 07:52:46 -0700 (PDT) Date: Thu, 23 Apr 2020 22:52:40 +0800 From: Dejin Zheng To: Markus Elfring Cc: dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, Bartlomiej Zolnierkiewicz , Sudip Mukherjee , Teddy Wang , linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Greg Kroah-Hartman , Andy Shevchenko Subject: Re: [PATCH v1] fbdev: sm712fb: fix an issue about iounmap for a wrong address Message-ID: <20200423145239.GC1562@nuc8i5> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Apr 23, 2020 at 02:14:48PM +0200, Markus Elfring wrote: > > the sfb->fb->screen_base is not save the value get by iounmap() when > > the chip id is 0x720. > > I suggest to improve this change description. > How did you determine relevant differences for the mentioned chip model? > Read and check its codes。 smtcfb_pci_probe() --> smtc_map_smem() smtcfb_pci_probe() switch (sfb->chip_id) { case 0x710: case 0x712: sfb->lfb = ioremap(mmio_base, mmio_addr); case 0x720: sfb->dp_regs = ioremap(mmio_base, 0x00200000 + smem_size); sfb->lfb = sfb->dp_regs + 0x00200000; } smtc_map_smem() sfb->fb->screen_base = sfb->lfb; smtcfb_pci_remove() --> smtc_unmap_smem() smtc_unmap_smem() iounmap(sfb->fb->screen_base); > > > so iounmap() for address sfb->fb->screen_base is not right. > > Will another imperative wording become helpful here? > yes, this is why need to change this code. > > … > > +++ b/drivers/video/fbdev/sm712fb.c > > @@ -1429,6 +1429,8 @@ static int smtc_map_smem(struct smtcfb_info *sfb, > > static void smtc_unmap_smem(struct smtcfb_info *sfb) > > { > > if (sfb && sfb->fb->screen_base) { > > + if (sfb->chip_id == 0x720) > > + sfb->fb->screen_base -= 0x00200000; > > iounmap(sfb->fb->screen_base); > > How do you think about to use descriptive identifiers for > the shown constants? > These two constants are originally in the driver, I don't know enough about its meaning, There are a lot of constants in this driver. If I replace it with the macro, I worry that the name of the macro may not be accurate. > Would you like to clarify any related software analysis approaches? > just read coedes and check it. > Regards, > Markus