Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp196123imm; Tue, 24 Jul 2018 17:03:17 -0700 (PDT) X-Google-Smtp-Source: AAOMgpcwW5+M5PgEsYaAWHS1FwPlrPbv4VFuPASn9QBRSpPdqvGmJT5Yf0CZrts9zruxGN9KyxXY X-Received: by 2002:a62:b40c:: with SMTP id h12-v6mr19891559pfn.18.1532476997799; Tue, 24 Jul 2018 17:03:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532476997; cv=none; d=google.com; s=arc-20160816; b=G7Di8O2HYYhavId4xUrHl6ddZuZtpveatIfO7ym4gkL9o8HrTPpukDIXVT5BXFahZO ejhUaqJxqmPRhBEcb32bEnzocSvgrwjxCOlTG32IqP1Ks+SsvTs8cyZPi7HlIqJCZRO6 g4F8sFRdZDGtwozDm/zIK1jA/HMDDANEvbGaNhI5lo6VQusPyK1lxrqpxEBq4fCVJPfD qq7GUQVFdo5fNBcI+ilnXA/0jTlaCGbPrwPx4vWlIuOhJVHmRAPDAv6tYpxylXxBz3xp /22BmvR67xubVANLmfl/gI5C/jTv88JA7rGZlxPG3GXXGqp+C/qix70Mp01ZkGTf09z9 Nd/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:references:message-id:date :thread-index:thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=CMP63fvQf71wkGrozDaakDHU+2pf7ajt5bUU808HyfA=; b=HHgj1xe7YYcU+ri4h/GMXkHYZmjzdZfM8RcZW451zV1UvHJjTgnSuYRfL5GVByyrpA z4rXq3Xci1R27rUKMbZmX56O5qder6NHifkBONF+oxSLjRkCq6ZnTlhDVJOC2mvBCotE 33agUWWkeO8AV5IBHH4cqK+/5FaRN6pvgGe2pTX4u4UGhvRY515BY9HqlULiy3vJiD0W 2TeAic0uvNH40WjMvJeUG/AadayKnRhxNW6HbgraojmwjQeRmToqc7+rmhPYrvQwcIkZ HOU2kQXLUpensnVMjyMxmmzEg/uh64KloCkLhpYj2qVuoxIwayWQDW2VK4raQaezusdM 3Yuw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=HTRjsyy0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g80-v6si12778393pfk.53.2018.07.24.17.03.02; Tue, 24 Jul 2018 17:03:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=HTRjsyy0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388510AbeGYBLL (ORCPT + 99 others); Tue, 24 Jul 2018 21:11:11 -0400 Received: from smtprelay.synopsys.com ([198.182.47.9]:48502 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388457AbeGYBLL (ORCPT ); Tue, 24 Jul 2018 21:11:11 -0400 Received: from mailhost.synopsys.com (mailhost3.synopsys.com [10.12.238.238]) by smtprelay.synopsys.com (Postfix) with ESMTP id 09DF624E0940; Tue, 24 Jul 2018 17:02:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1532476935; bh=pg8nDZhYyL2rZG3mGT/4G3NIOioFwibUgvKU5g1EN54=; h=From:To:CC:Subject:Date:References:From; b=HTRjsyy0fUMXXHIcCKZV2dqJ8Py/foMwMLIQ+w6CcqxvZwbDEG7P6NdGKpETtfWQu ovuFID134VcMEFgXQp6xLgRxgqq04aVhu517VjsAUGQbmh1WfIhqM6lmz9E6y7LAiM isBa0UidvXWpt0A3TqSXo9CcHiq2Dh2r8jA/LpSarJoqAIDHlorN50l5lGft8aewDf lzL8lYetwYofBI+Y25spfgqJ0dRCww6xW6eaK6lGgeaa7cXOqDLoF+DgvWXUzAfFJf k2x/abJ1hbm8Pl4Mqfs7pBKVxJ3/jJbT52+XDGtxboKwfWYe3/3kevQltmo6bu3JhB JCKzK7wnm3W9g== Received: from US01WXQAHTC1.internal.synopsys.com (us01wxqahtc1.internal.synopsys.com [10.12.238.230]) by mailhost.synopsys.com (Postfix) with ESMTP id E78533D82; Tue, 24 Jul 2018 17:02:14 -0700 (PDT) Received: from us01wembx1.internal.synopsys.com ([169.254.1.253]) by US01WXQAHTC1.internal.synopsys.com ([::1]) with mapi id 14.03.0361.001; Tue, 24 Jul 2018 17:02:14 -0700 From: Vineet Gupta To: Randy Dunlap , "linux-kernel@vger.kernel.org" CC: Randy Dunlap , "linux-snps-arc@lists.infradead.org" Subject: Re: [PATCH 2/4] arc: fix type warnings in arc/mm/cache.c Thread-Topic: [PATCH 2/4] arc: fix type warnings in arc/mm/cache.c Thread-Index: AQHUI49pAsd59NGrBUKprDU844LxcQ== Date: Wed, 25 Jul 2018 00:02:13 +0000 Message-ID: References: <20180724204622.2366-1-rd.dunlab@gmail.com> <20180724204622.2366-3-rd.dunlab@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.144.199.104] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/24/2018 01:46 PM, Randy Dunlap wrote:=0A= > From: Randy Dunlap =0A= >=0A= > ../arch/arc/mm/cache.c: In function 'flush_anon_page':=0A= > ../arch/arc/mm/cache.c:1062:55: warning: passing argument 2 of '__flush_d= cache_page' makes integer from pointer without a cast [-Wint-conversion]=0A= > __flush_dcache_page((phys_addr_t)page_address(page), page_address(page)= );=0A= > ^~~~~~~~~~~~~~~~~~= =0A= > ../arch/arc/mm/cache.c:1013:59: note: expected 'long unsigned int' but ar= gument is of type 'void *'=0A= > void __flush_dcache_page(phys_addr_t paddr, unsigned long vaddr)=0A= > ~~~~~~~~~~~~~~^~~~~=0A= >=0A= > Signed-off-by: Randy Dunlap =0A= > Cc: Vineet Gupta =0A= > Cc: Ofer Levi =0A= > Cc: linux-snps-arc@lists.infradead.org=0A= > ---=0A= > arch/arc/mm/cache.c | 11 ++++++-----=0A= > 1 file changed, 6 insertions(+), 5 deletions(-)=0A= >=0A= > --- linux-next-20180723.orig/arch/arc/mm/cache.c=0A= > +++ linux-next-20180723/arch/arc/mm/cache.c=0A= > @@ -1038,7 +1038,7 @@ void flush_cache_mm(struct mm_struct *mm=0A= > void flush_cache_page(struct vm_area_struct *vma, unsigned long u_vaddr,= =0A= > unsigned long pfn)=0A= > {=0A= > - unsigned int paddr =3D pfn << PAGE_SHIFT;=0A= > + phys_addr_t paddr =3D pfn << PAGE_SHIFT;=0A= > =0A= > u_vaddr &=3D PAGE_MASK;=0A= > =0A= > @@ -1058,8 +1058,9 @@ void flush_anon_page(struct vm_area_stru=0A= > unsigned long u_vaddr)=0A= > {=0A= > /* TBD: do we really need to clear the kernel mapping */=0A= > - __flush_dcache_page(page_address(page), u_vaddr);=0A= > - __flush_dcache_page(page_address(page), page_address(page));=0A= > + __flush_dcache_page((phys_addr_t)page_address(page), u_vaddr);=0A= > + __flush_dcache_page((phys_addr_t)page_address(page),=0A= > + (phys_addr_t)page_address(page));=0A= =0A= CONFIG_ARC_CACHE_VIPT_ALIASING is a total bitrot and I'm considering removi= ng it=0A= as no sane systems should use it. There's none which I know are using it.= =0A= But for now this will do.=0A= =0A= =0A= > =0A= > }=0A= > =0A= > @@ -1084,7 +1085,7 @@ void copy_user_highpage(struct page *to,=0A= > * addr_not_cache_congruent() is 0=0A= > */=0A= > if (page_mapcount(from) && addr_not_cache_congruent(kfrom, u_vaddr)) {= =0A= > - __flush_dcache_page((unsigned long)kfrom, u_vaddr);=0A= > + __flush_dcache_page((phys_addr_t)kfrom, u_vaddr);=0A= =0A= Was this needed really ? I can't seem to trigger any warnings here.=0A= All of this (original code before your change) is technically incorrect due= to the=0A= combination of CONFIG_ARC_CACHE_VIPT_ALIASING and CONFIG_HIGHMEM. @kfrom is= =0A= returned by kmap_atomic() and in highmem regime it could be a kernel virtua= l=0A= address, so calling the low level cache flush interface with a kvaddr, pret= ending=0A= it is paddr (whethe runsigned long or phys_addr_t) is just not right. This= =0A= combinations needs to be disallowed from Kconfig !=0A= =0A= > clean_src_k_mappings =3D 1;=0A= > }=0A= > =0A= > @@ -1105,7 +1106,7 @@ void copy_user_highpage(struct page *to,=0A= > * sync the kernel mapping back to physical page=0A= > */=0A= > if (clean_src_k_mappings) {=0A= > - __flush_dcache_page((unsigned long)kfrom, (unsigned long)kfrom);=0A= > + __flush_dcache_page((phys_addr_t)kfrom, (unsigned long)kfrom);=0A= > set_bit(PG_dc_clean, &from->flags);=0A= > } else {=0A= > clear_bit(PG_dc_clean, &from->flags);=0A= >=0A= =0A= Ditto !=0A=