From patchwork Wed Jul 3 16:29:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuqian Huang X-Patchwork-Id: 11029837 X-Patchwork-Delegate: andy.shevchenko@gmail.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 53DCB13B1 for ; Wed, 3 Jul 2019 16:30:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4333B28689 for ; Wed, 3 Jul 2019 16:30:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 370CE286BF; Wed, 3 Jul 2019 16:30:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_WEB autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D4C0028689 for ; Wed, 3 Jul 2019 16:30:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726969AbfGCQaA (ORCPT ); Wed, 3 Jul 2019 12:30:00 -0400 Received: from mail-pl1-f195.google.com ([209.85.214.195]:34668 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726686AbfGCQaA (ORCPT ); Wed, 3 Jul 2019 12:30:00 -0400 Received: by mail-pl1-f195.google.com with SMTP id i2so1533480plt.1; Wed, 03 Jul 2019 09:29:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=sWA+8J2rSgIapxEvPrdhvzsbd/hl1uuQJT8SGPnww+g=; b=FIZ+QjmOinajLJg2asmfCN0UL5nbWAIVO3EZ3yUaJUBmqqc9WUWCY/6EWbCnzxXGMe LwA/1ZpnjqlYHyeggJ3Re9eD+AeoCWKcVk2a+LmOHmf6jhqgIDNailwMLDJDR8OJJaZ4 +4fKc/H01jPaCXf9gy8Sifze4cCTi17+49znbXfqXKPGXcUh7uRT/DzRwrj3YPWeWdMg V2ya/cCRrCjxxuFRrQ6r1bD/MimWhE8kk5dwymljYoMPV+ia+5gc2uBHF4gHQbwuBX0A WoYLz2QPapqy/YMwqW3+7sxsykF3BzXughF4YqwNHCehTk+etRfgNdVgs5luI2cnZEhy DlSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=sWA+8J2rSgIapxEvPrdhvzsbd/hl1uuQJT8SGPnww+g=; b=NX/w5WDfyyA53gkBlaYx84uw/hWnphJu8yeJ3cxnVBC9PepXmaZq2btQUKgaaitcv1 Am4hMRRsccqK08duN0LXNzOS0DZRXlJabgfFUIPvDhDLMhqx/oxI8d13B8GvxGcncosn r1VuapZXNtMNf0OXRZNMVTSsjsfvtAWXpTHE8HmNk8H7mskMd2C9c1e/yF9hbKSeYMeM OwlmQT1EMY3VfMghApmjP84MctVUpDijsTbG+6ApOS/ZbUrNVREJxMg/GqSwcPs7IH0d e2lfJJWg2of/ONBQ1w/8s/Zd7DZ1hTpwi/mnJbktz7XA/59/yUqmEns+UoIp6ttQOC7L nZug== X-Gm-Message-State: APjAAAVtI6zD/Yo9nPmran7v/FEuvEm0SvvuLJlY1obIqeErJvcWurHO 6iXQ09AIb60EcxFmF8xNO6I= X-Google-Smtp-Source: APXvYqwsafC/F/Y/6lwyuRes8D5JprdTxE1+fbLr1GrD1jiTOJCYdz+TVvfT9i4buk5iyZ7Ey2Qy7Q== X-Received: by 2002:a17:902:7248:: with SMTP id c8mr6203101pll.162.1562171399475; Wed, 03 Jul 2019 09:29:59 -0700 (PDT) Received: from hfq-skylake.ipads-lab.se.sjtu.edu.cn ([202.120.40.82]) by smtp.googlemail.com with ESMTPSA id p13sm8179907pjb.30.2019.07.03.09.29.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jul 2019 09:29:59 -0700 (PDT) From: Fuqian Huang Cc: Corentin Chary , Darren Hart , Andy Shevchenko , acpi4asus-user@lists.sourceforge.net, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Fuqian Huang Subject: [PATCH v2 20/35] platform/x86/asus: Use kmemdup rather than duplicating its implementation Date: Thu, 4 Jul 2019 00:29:51 +0800 Message-Id: <20190703162951.32737-1-huangfq.daxian@gmail.com> X-Mailer: git-send-email 2.11.0 To: unlisted-recipients:; (no To-header on input) Sender: platform-driver-x86-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP kmemdup is introduced to duplicate a region of memory in a neat way. Rather than kmalloc/kzalloc + memcpy, which the programmer needs to write the size twice (sometimes lead to mistakes), kmemdup improves readability, leads to smaller code and also reduce the chances of mistakes. Suggestion to use kmemdup rather than using kmalloc/kzalloc + memcpy. Signed-off-by: Fuqian Huang --- Changes in v2: - Fix a typo in commit message (memset -> memcpy) - Split into two patches. drivers/platform/x86/asus-wmi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index 9b18a184e0aa..472b317ad814 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -260,12 +260,11 @@ static int asus_wmi_evaluate_method_agfn(const struct acpi_buffer args) * Copy to dma capable address otherwise memory corruption occurs as * bios has to be able to access it. */ - input.pointer = kzalloc(args.length, GFP_DMA | GFP_KERNEL); + input.pointer = kmemdup(args.pointer, args.length, GFP_DMA | GFP_KERNEL); input.length = args.length; if (!input.pointer) return -ENOMEM; phys_addr = virt_to_phys(input.pointer); - memcpy(input.pointer, args.pointer, args.length); status = asus_wmi_evaluate_method(ASUS_WMI_METHODID_AGFN, phys_addr, 0, &retval); From patchwork Wed Jul 3 16:30:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fuqian Huang X-Patchwork-Id: 11029839 X-Patchwork-Delegate: andy.shevchenko@gmail.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8093C13B1 for ; Wed, 3 Jul 2019 16:30:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6BF2C284CE for ; Wed, 3 Jul 2019 16:30:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5B2B628689; Wed, 3 Jul 2019 16:30:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.2 required=2.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_WEB autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 03821284CE for ; Wed, 3 Jul 2019 16:30:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727140AbfGCQaJ (ORCPT ); Wed, 3 Jul 2019 12:30:09 -0400 Received: from mail-pg1-f193.google.com ([209.85.215.193]:46856 "EHLO mail-pg1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727034AbfGCQaJ (ORCPT ); Wed, 3 Jul 2019 12:30:09 -0400 Received: by mail-pg1-f193.google.com with SMTP id i8so1489047pgm.13; Wed, 03 Jul 2019 09:30:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=8vT0mfR2GNkvHjYV2pbjuzPVgpp8xs4SB4sEHl7CaRA=; b=kx0wPTrc2qiUrFAwu6YY/fKpxkiToJb1a/2rR7xQfhMyqlFaWjbSkL13ddzzplS8wW GBtnCA7hkWepaISJyY9C4B4GJg8u4OyGVKdujPApHefuEvA2NcQf/FzKUU5+xrLHM8HV /asOjh6Yb4xEs9WSmwbIlRCNINZBbr6ZHhNiyXyBBz4YYNTUU66wzO/6tR0svQaV2y7G F57hajGr20qQ08Sg8iA3m6VyBKVEuT30a8JSRc5daO+NJACqoJ+XdBWx8R8izv6ne3Yt +TtpCtjAAOc4w7UDoRPGEvsf6h4aKq3KapatQQso0bAHEScEeCrn7tfKD0uRcR1gMgju vojw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=8vT0mfR2GNkvHjYV2pbjuzPVgpp8xs4SB4sEHl7CaRA=; b=mCWHxOma8V/ft6LVWn+XPSFXbQdrp7OjBsY9mvfw34hP4Y0RjnYQ0ns43xOhdOGCvg p/HFwfRnGqM6B9vJzvEWrc7wsPx6GiXCUwmuNJ1rZfvZNeUZnPiKNj6Ejrt+RL32j6YK 4YZ8PtNQSmDOO5aGgwi8AJW41JPrLN41N/d+YMr7SGgaPUwvl/yQB7A/7gy/0nQ4YI3Q YjN5k0i1WjGWa9TG4PCpoRwcQxrv9KIb2xY+1/L9xaZteIgd49drha8dbCAF0wy7lsaV m8392Pl88j7tLxDIaov+GLvk8sE0GB3CB30AWRyyk7qz0IpcJd152MZjfS6qnqhh/3wd Fl/g== X-Gm-Message-State: APjAAAU8HbW6Uzaa+lX7n54Q7Fk0XetEIsoFg91XXjEeivxCM8+RkU15 8/DRLgTDvSXFLj12Vehx9OlIrCxqx58= X-Google-Smtp-Source: APXvYqy6BBvTdtggt8jXdmOjKJ8B8YhhvOoeEBKfNyaUg9ypAf7Tzzc0uk4R9Vyp2hJ8kR5m2PH+5A== X-Received: by 2002:a17:90a:80c4:: with SMTP id k4mr13962343pjw.74.1562171408715; Wed, 03 Jul 2019 09:30:08 -0700 (PDT) Received: from hfq-skylake.ipads-lab.se.sjtu.edu.cn ([202.120.40.82]) by smtp.googlemail.com with ESMTPSA id 65sm3612931pgf.30.2019.07.03.09.30.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jul 2019 09:30:08 -0700 (PDT) From: Fuqian Huang Cc: Henrique de Moraes Holschuh , Darren Hart , Andy Shevchenko , ibm-acpi-devel@lists.sourceforge.net, platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org, Fuqian Huang Subject: [PATCH v2 21/35] platform/x86/thinkpad: Use kmemdup rather than duplicating its implementation Date: Thu, 4 Jul 2019 00:30:00 +0800 Message-Id: <20190703163000.315-1-huangfq.daxian@gmail.com> X-Mailer: git-send-email 2.11.0 To: unlisted-recipients:; (no To-header on input) Sender: platform-driver-x86-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP kmemdup is introduced to duplicate a region of memory in a neat way. Rather than kmalloc/kzalloc + memcpy, which the programmer needs to write the size twice (sometimes lead to mistakes), kmemdup improves readability, leads to smaller code and also reduce the chances of mistakes. Suggestion to use kmemdup rather than using kmalloc/kzalloc + memcpy. Signed-off-by: Fuqian Huang --- Changes in v2: - Fix a typo in commit message (memset -> memcpy) drivers/platform/x86/thinkpad_acpi.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 7bde4640ef34..d379bdf98a0f 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -3647,22 +3647,19 @@ static int __init hotkey_init(struct ibm_init_struct *iibm) goto err_exit; /* Set up key map */ - hotkey_keycode_map = kmalloc(TPACPI_HOTKEY_MAP_SIZE, - GFP_KERNEL); - if (!hotkey_keycode_map) { - pr_err("failed to allocate memory for key map\n"); - res = -ENOMEM; - goto err_exit; - } - keymap_id = tpacpi_check_quirks(tpacpi_keymap_qtable, ARRAY_SIZE(tpacpi_keymap_qtable)); BUG_ON(keymap_id >= ARRAY_SIZE(tpacpi_keymaps)); dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_HKEY, "using keymap number %lu\n", keymap_id); - memcpy(hotkey_keycode_map, &tpacpi_keymaps[keymap_id], - TPACPI_HOTKEY_MAP_SIZE); + hotkey_keycode_map = kmemdup(&tpacpi_keymaps[keymap_id], + TPACPI_HOTKEY_MAP_SIZE, GFP_KERNEL); + if (!hotkey_keycode_map) { + pr_err("failed to allocate memory for key map\n"); + res = -ENOMEM; + goto err_exit; + } input_set_capability(tpacpi_inputdev, EV_MSC, MSC_SCAN); tpacpi_inputdev->keycodesize = TPACPI_HOTKEY_MAP_TYPESIZE;