From patchwork Thu Mar 9 16:01:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Zimmermann X-Patchwork-Id: 67032 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp390268wrd; Thu, 9 Mar 2023 08:36:33 -0800 (PST) X-Google-Smtp-Source: AK7set8wrWfbqe2Vq2DQf1zQ6vpOmYABrBHkHzdP0KfCioaDSH+TdrpUkPk6KMjgZb+YVFFJJKm9 X-Received: by 2002:a05:6a20:a111:b0:cc:d386:ec1a with SMTP id q17-20020a056a20a11100b000ccd386ec1amr25057006pzk.2.1678379793190; Thu, 09 Mar 2023 08:36:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678379793; cv=none; d=google.com; s=arc-20160816; b=VBGEcLh2+Lc3qpwCteZERmWDcFa4sBLSyjrDyJS/5y/iJaJOUFa/BHsrwwO/rwoOdj GZUVYHJ4GzDfSZ9VUM9XkKbkajgngMRNojecXb7cfnEg/10FAAIrV9vvGb3sUVjn2biR OzlAzgdcpqU4DzAn+NP+TinVoWfK58QBaV5+UeXQqFFYTjYRc2iHwMP0vLWUiOkzg1QW sHlAl57mIbQ+vR7+pdP8ubnj7OFjHeih0jLgUYvX6jna8FfKSPGF5+N0x9vpa2Rb+z11 i+RL/ix1BCPVWo5YjnkE4TlWSgfB/2PCR20oKZq3mXPTBgrru1VDxSqn/SUokwrUtUfN zI6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=0gZ1Tmm3JEgeMqN/NPKY8oH5C/7S9gy9JQ3mKL7gtCM=; b=CrCSjB9jzbjyEAQjjAvgnmPZpA/IxSjsBMRZQzE78bzLZsKYiJxA7iWCwXEAw7bn6g M31tpy1glkOden8uj9vTneyJLv3ZQlD1ez5tS01wVrz3SbTpfGhnerZhOGUErFWiR18W YrFjh+SIj9lKfqQWpbiMFinBhqSY8UIqWwfZDdX0QmgXl+M5iaV1ta6arUtmJVsG3c87 reBQMoW1gEqeG2xNbUNUqAf7j3rIVh+e0FiITg5SGdALI0JYsEJleaBlF3Zggk8JpDco Tx8ATdJJdU8NT3z56/9W6/dr0O9IeOHITJehPInSpFCv0sUpOgpDGIjy83dlK9voPcYM 7IPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=aClCiEjh; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 69-20020a621948000000b005a8663221a0si16786651pfz.91.2023.03.09.08.36.17; Thu, 09 Mar 2023 08:36:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b=aClCiEjh; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231438AbjCIQJW (ORCPT + 99 others); Thu, 9 Mar 2023 11:09:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231741AbjCIQCg (ORCPT ); Thu, 9 Mar 2023 11:02:36 -0500 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB30DF4B43; Thu, 9 Mar 2023 08:02:35 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id A52DF22166; Thu, 9 Mar 2023 16:02:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1678377754; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0gZ1Tmm3JEgeMqN/NPKY8oH5C/7S9gy9JQ3mKL7gtCM=; b=aClCiEjhtEvWWtKnoezDVvFJ/0p8+II1/ANYf4pu5EiDL7XF2rdltVl0y85P+Ha4Dn4ZNH zwMyiHi4MWV1eiin5k+j/f+5rLop399Dwzr+Ch3RBWzELK6MsXeMNTcWo3Tk5STdrD/tFI 04JdiAGAHPMFYJ40iwVJCCMsxvqG+Eg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1678377754; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0gZ1Tmm3JEgeMqN/NPKY8oH5C/7S9gy9JQ3mKL7gtCM=; b=u2IBZGAN1hguKZ934fTSEqBEE8/y5bWBVazblvDiXW5m5qNf9v2Uth46VrOGnZkWdgS5qR m/u8q/ceCBwgOIBQ== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 496031391B; Thu, 9 Mar 2023 16:02:34 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id OJ4JERoDCmQHbgAAMHmgww (envelope-from ); Thu, 09 Mar 2023 16:02:34 +0000 From: Thomas Zimmermann To: deller@gmx.de, geert+renesas@glider.be, timur@kernel.org, rdunlap@infradead.org, paulus@samba.org, benh@kernel.crashing.org, linux@armlinux.org.uk, pjones@redhat.com, adaplas@gmail.com, s.hauer@pengutronix.de, shawnguo@kernel.org, mbroemme@libmpq.org, thomas@winischhofer.net, James.Bottomley@HansenPartnership.com, sudipm.mukherjee@gmail.com, teddy.wang@siliconmotion.com, corbet@lwn.net Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Thomas Zimmermann Subject: [PATCH v2 075/101] fbdev/sm712fb: Duplicate video-mode option string Date: Thu, 9 Mar 2023 17:01:35 +0100 Message-Id: <20230309160201.5163-76-tzimmermann@suse.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230309160201.5163-1-tzimmermann@suse.de> References: <20230309160201.5163-1-tzimmermann@suse.de> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759908770078728715?= X-GMAIL-MSGID: =?utf-8?q?1759908770078728715?= Assume that the driver does not own the option string or its substrings and hence duplicate the option string for the video mode. Allocate the copy's memory with kstrdup() and free it in the module's exit function. Done in preparation of switching the driver to struct option_iter and constifying the option string. v2: * replace static memory with kstrdup()/kfree() (Geert) Signed-off-by: Thomas Zimmermann --- drivers/video/fbdev/sm712fb.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/sm712fb.c b/drivers/video/fbdev/sm712fb.c index b528776c7612..a83f48fce5b1 100644 --- a/drivers/video/fbdev/sm712fb.c +++ b/drivers/video/fbdev/sm712fb.c @@ -831,6 +831,7 @@ static const struct modeinit vgamode[] = { static struct screen_info smtc_scr_info; +static char *mode_option_buf; static char *mode_option; /* process command line options, get vga parameter */ @@ -1761,8 +1762,12 @@ static int __init sm712fb_init(void) if (fb_get_options("sm712fb", &option)) return -ENODEV; - if (option && *option) - mode_option = option; + + if (option && *option) { + mode_option_buf = kstrdup(option, GFP_KERNEL); // ignore errors + mode_option = mode_option_buf; + } + sm7xx_vga_setup(mode_option); return pci_register_driver(&smtcfb_driver); @@ -1773,6 +1778,7 @@ module_init(sm712fb_init); static void __exit sm712fb_exit(void) { pci_unregister_driver(&smtcfb_driver); + kfree(mode_option_buf); } module_exit(sm712fb_exit);