Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp581029pxv; Thu, 15 Jul 2021 10:44:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyBalTY1/WrKL4VffG9qa4FdwTn/iTxHe6VQB7X6lmvexrEMPFP8AeXpqj7sDjWKaskhdZe X-Received: by 2002:a05:6402:1c10:: with SMTP id ck16mr8528739edb.339.1626371052838; Thu, 15 Jul 2021 10:44:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626371052; cv=none; d=google.com; s=arc-20160816; b=tRlYVtugw/FAu2mc/JDbr+KRjg+/R7WCd+PpjCrAX+adFwqlLDCyBr/wcuoAcU/kFd czZ4vMdndWz/ythAUWV1BHrNrHNIcdV7VPbw3p+/t57oeJ7HAuTzidfyWLcHjI5T35Ro kWApTvlwGxB5hGKOoBxLHt54nEXP6WsBn6pMGU8HIyctG10cfV1h+DsBlTjc6xhAADw2 5vuZQkqq0sVrSo8bAYDHoaV7MsWc5HVI+qnlmbGnr+varpYV0Fbzj5hMXPEyNO8liCA4 yGcGlJtdHG2Wp/yRj3IjFZ8QU8Puiriz450dqsTOFJp93bRhZ1TGcAz6Fm/ETKF5/g68 p6Fg== 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=w/PWgL5TbLebBgtXBw2Ow5Z68fL5u2acy5iXXSSXc+o=; b=kGJqqXoSGqw30AVc9pO2+I+g181WJi8mLXLeXZ1ZylyiCyPcI1RyLX8NmoeU0W0ttN CMstLnrX4QHDH0IoekQMtof6WpJnUtvVU5vl0hjmLVYdmwEJ9Rm37YmZBhTJYEcLqW9j 2GWMmF7WFG9g9TzXRgiwBSAZ5lnXz/UsOSA28kkNSZ53z0xR+LFWweVbNys4dL7pqJlQ aie4LMMc0aeXX0vH0YozZxsqJhKCsbASO+TBadNKwM/ionERJ7UUKOkFGmkQGMCGdA2p ypwoL2MYQNLBANCKQ+HcPOw2+UDaoQGqxOnwXJqy4rxPm3gCUxONGk/hAvwjT9+KwAX+ e0XA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="RSbJ/iFe"; 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 mp17si7642275ejc.449.2021.07.15.10.43.47; Thu, 15 Jul 2021 10:44:12 -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=20161025 header.b="RSbJ/iFe"; 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 S229719AbhGOOP3 (ORCPT + 99 others); Thu, 15 Jul 2021 10:15:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48944 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229457AbhGOOP1 (ORCPT ); Thu, 15 Jul 2021 10:15:27 -0400 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48FAFC06175F for ; Thu, 15 Jul 2021 07:12:34 -0700 (PDT) Received: by mail-pj1-x1035.google.com with SMTP id d9-20020a17090ae289b0290172f971883bso6353717pjz.1 for ; Thu, 15 Jul 2021 07:12:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=w/PWgL5TbLebBgtXBw2Ow5Z68fL5u2acy5iXXSSXc+o=; b=RSbJ/iFetXw6qXpLlFt4zSEJwzM5SaIE0T110oALZixVEKkztk3EIX6eqKhnEwbm4D GeSJLI95Ncf71UoB1jU/R5HK5t4tBCrAedB5j2sUBL/KpXV5/n+oA1tVaY9BPWWhqY+f bwYX/TeADY9ULGcpKMvYhHVep/FpI2nyLYMY98XRD/5/ImaiBDAwGy6ID++t+LYXtjSs ihm/efClBQSprDXj0ZOTsGpRqbcmS7e5j3pJnGItcD76mZHHRV6TYWjEPr1Ikz1Cgzr3 +PKE+FcdOwempaRWZXJ2Rmlkzx/Y3xeaZRGK6V4fIgPjkg89Kou/iAZAC9g6gAoC1RZx N3Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=w/PWgL5TbLebBgtXBw2Ow5Z68fL5u2acy5iXXSSXc+o=; b=kP1ZxGgh2T1aYjj6WDObv2RVhSj+aU/kijWirxQoNHDLFvbecx+3964tE0X/OE0xXr 5JnHfQjXvShraK/RKokAI7dOVYr/tIc2BQImfOecHb7k/3kKyPZKzGf63jTuMw4+Wkc7 TRDncn40EoyAI/l/ZT0fBTR8kChx+usi+ljFOy0wn1VnEzCMZeFURaMcB3m7BOZ7luno m+6j1Ctwy3WUcDot4vo3dL8/PcoYA8JPFVk5sBfvjhPEuF13AEwN4pQdojwZ5zQcU6l/ 8nsY83fDQ/Tx5eFLVTVRTIVXCPRKJxr/ZG7q6YyxU/k19wTYElicluyHKb/TkHy+wJMn doKQ== X-Gm-Message-State: AOAM532vSZHveht88FAy3oNnWQN3H979Yhx9Gc37h6fJdARpZM1Dww9Y M9cmWsNeoenDyfxHyOk8ksqBIk+Mew+OZH+9Uzg= X-Received: by 2002:a17:902:fe0a:b029:11d:81c9:3adf with SMTP id g10-20020a170902fe0ab029011d81c93adfmr3720222plj.0.1626358353492; Thu, 15 Jul 2021 07:12:33 -0700 (PDT) MIME-Version: 1.0 References: <20210714110218.izcop7grykhfyvll@lem-wkst-02.lemonage> In-Reply-To: <20210714110218.izcop7grykhfyvll@lem-wkst-02.lemonage> From: Andy Shevchenko Date: Thu, 15 Jul 2021 17:11:54 +0300 Message-ID: Subject: Re: [RFC] auxdisplay: Fix oops on hd44780 module unloading To: Lars Poeschel Cc: Linux Kernel Mailing List , Miguel Ojeda , Andy Shevchenko , Geert Uytterhoeven Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 14, 2021 at 2:02 PM Lars Poeschel wrote: > > On Fri, Jul 09, 2021 at 07:10:14PM +0300, Andy Shevchenko wrote: > > On Fri, Jul 9, 2021 at 5:40 PM Andy Shevchenko > > wrote: > > > > > > Parallel (4 bits) panel display stopped working. > > > > This part appears to be a configuration issue. So, we have only one > > left, i.e. oops on remove. Thanks for the prompt reply! As usual, rc1 is like after war ruins which needs to be fixed here and there before doing something useful. > Could you please test, if this little change fixes the oops ? I think you meant "RFT" in the subject line. Anyway, I have tested it and it seems to be working fine. Reported-and-tested-by: Andy Shevchenko > -- >8 -- > > Fix this oops: (Note, please, reduce it as much as possible to the bare minimum required to understand the issue and the cause) > [ 218.825445] kernel tried to execute NX-protected page - exploit > attempt? (uid: 0) > [ 218.832965] BUG: unable to handle page fault for address: ffff8f8f06559dc0 > [ 218.839863] #PF: supervisor instruction fetch in kernel mode > [ 218.845540] #PF: error_code(0x0011) - permissions violation > [ 218.851132] PGD e601067 P4D e601067 PUD e602067 PMD 645a063 PTE > 8000000006559063 > [ 218.858587] Oops: 0011 [#1] SMP PTI > [ 218.862099] CPU: 0 PID: 7 Comm: kworker/u4:0 Tainted: G C > 5.13.0+ #23 > [ 218.869870] Hardware name: Intel Corporation Merrifield/BODEGA BAY, > BIOS 542 2015.01.21:18.19.48 > [ 218.878681] Workqueue: kacpi_hotplug acpi_device_del_work_fn > [ 218.884380] RIP: 0010:0xffff8f8f06559dc0 > [ 218.888328] Code: ff ff d2 2b 21 8c ff ff ff ff 08 00 00 00 00 00 > 00 00 78 34 fa 02 8f 8f ff ff 00 00 00 00 00 > 00 00 00 00 00 00 00 00 00 00 00 <72> 65 67 75 6c 61 74 6f 72 3a 72 65 > 67 75 6c 61 74 6f 72 2e 30 2d > [ 218.907138] RSP: 0000:ffffad36c0043c90 EFLAGS: 00010246 > [ 218.912387] RAX: ffff8f8f06559dc0 RBX: ffff8f8f062cbc00 RCX: ffff8f8f01239fc8 > [ 218.919542] RDX: 000000002a3cccf8 RSI: 0000000000000001 RDI: ffff8f8f06559480 > [ 218.926701] RBP: ffffffffc037e279 R08: 00000000d5832520 R09: 0000000000000001 > [ 218.933856] R10: 0000000000000000 R11: 0000000000000001 R12: ffff8f8f062cbc00 > [ 218.941010] R13: ffffffffc038e028 R14: ffffffff8c5e0b60 R15: 00000000fffffffd > [ 218.948166] FS: 0000000000000000(0000) GS:ffff8f8f3e200000(0000) > knlGS:0000000000000000 > [ 218.956286] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 218.962053] CR2: ffff8f8f06559dc0 CR3: 0000000002ef4000 CR4: 00000000001006f0 > [ 218.969208] Call Trace: > [ 218.971678] ? hd44780_common_clear_display+0x17/0x30 [hd44780_common] > [ 218.978252] ? charlcd_write_char+0x21a/0x810 [charlcd] > [ 218.983519] ? charlcd_puts+0x30/0x60 [charlcd] > [ 218.988083] ? charlcd_unregister+0x24/0x70 [charlcd] > [ 218.993167] ? hd44780_remove+0x1e/0x30 [hd44780] > [ 218.997901] ? platform_remove+0x1f/0x40 > > Reported-By: Andy Shevchenko > Signed-off-by: Lars Poeschel > --- > drivers/auxdisplay/hd44780.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/auxdisplay/hd44780.c b/drivers/auxdisplay/hd44780.c > index 2e5e7c993933..8b2a0eb3f32a 100644 > --- a/drivers/auxdisplay/hd44780.c > +++ b/drivers/auxdisplay/hd44780.c > @@ -323,8 +323,8 @@ static int hd44780_remove(struct platform_device *pdev) > { > struct charlcd *lcd = platform_get_drvdata(pdev); > > - kfree(lcd->drvdata); > charlcd_unregister(lcd); > + kfree(lcd->drvdata); > > kfree(lcd); > return 0; > -- > 2.30.2 > -- With Best Regards, Andy Shevchenko