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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id CEB5CC6FD1D for ; Tue, 21 Mar 2023 07:53:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6670F6B0075; Tue, 21 Mar 2023 03:53:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 616656B0078; Tue, 21 Mar 2023 03:53:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 505AB6B007B; Tue, 21 Mar 2023 03:53:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 410516B0075 for ; Tue, 21 Mar 2023 03:53:17 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 0D47B4118A for ; Tue, 21 Mar 2023 07:53:17 +0000 (UTC) X-FDA: 80592140034.16.6A9B212 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf02.hostedemail.com (Postfix) with ESMTP id 0CEA780017 for ; Tue, 21 Mar 2023 07:53:14 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=PqhOfbp5; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=w9eJuJzl; spf=pass (imf02.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1679385195; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HvJEMoCJ+Uw47SELOagFbF1pjz2WAesoMkcGUA9f9xo=; b=zMhIviqWYqeiU9OXVaB9xjQDtjBduPACdkjdxPcZbfhZz0VZsRg43LHZH8pgZtcDvoWgeC YLZAWcu+7jl4mYe80UZCMg16166eOZ8zRUNXhMWicVkh2eABEZ7cukom6i0R/Dn7B9uH+q eUkFkFlpa8ih0TyAKbPqiXxoz+JqIUk= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=PqhOfbp5; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=w9eJuJzl; spf=pass (imf02.hostedemail.com: domain of vbabka@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=vbabka@suse.cz; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1679385195; a=rsa-sha256; cv=none; b=lLSpavMgTiJNiRGWqdwCJ23yS8/ohg6jTEIZbHGqWUA80dPj7cXiZDQr+IqEGEJm+lR196 HKI0YdtWKfwDHvJ9Hc+SwZlNWLS1/oa54hVb6IZJtlJRuJhfsn4lSPHM2XdGSGIirWdtpr d+vIkYJ2zY8AyNonLoqU3k+S/txkIBE= 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 D3B4321A7C; Tue, 21 Mar 2023 07:53:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1679385193; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HvJEMoCJ+Uw47SELOagFbF1pjz2WAesoMkcGUA9f9xo=; b=PqhOfbp5zIVY4iT79I18TP5hqT2nkIv7V2t8mV02DBmEa+ReCdf2nOONDJpQcSQ0rHkl58 USx67rKWvy2qd47569aiLtvprVqGS8YkfQrZ9AIpwja2iC4Vk6oWvFPRCB0lz7ZK37x6O6 nnbm+AVuQnYu8/3ATt6VdYb7Bg/OH50= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1679385193; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HvJEMoCJ+Uw47SELOagFbF1pjz2WAesoMkcGUA9f9xo=; b=w9eJuJzlbi+4y0PIcwuRPmPZNoKOdLIgwXA8Dnu0Pcg8ln3wqVpjiPrqqkq/LxWM/Vb/GI H2KKMy1vvTD9ZbBA== 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 AED2413440; Tue, 21 Mar 2023 07:53:13 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 293vKWliGWQtNAAAMHmgww (envelope-from ); Tue, 21 Mar 2023 07:53:13 +0000 Message-ID: <9673d62f-e308-9c43-0318-e2f611f43eec@suse.cz> Date: Tue, 21 Mar 2023 08:53:13 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH 03/10] floppy: Fix MAX_ORDER usage Content-Language: en-US To: "Kirill A. Shutemov" , Andrew Morton , Mel Gorman , David Hildenbrand Cc: linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, Denis Efremov References: <20230315113133.11326-1-kirill.shutemov@linux.intel.com> <20230315113133.11326-4-kirill.shutemov@linux.intel.com> From: Vlastimil Babka In-Reply-To: <20230315113133.11326-4-kirill.shutemov@linux.intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 0CEA780017 X-Stat-Signature: ubaffdrq7bjwzk3sx99q9h6jk5su87z8 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1679385194-779300 X-HE-Meta: U2FsdGVkX18Nm8UXvzmBpBrY57wvOcDZPPclNA+udQtdE9FJdw/vOetHKibd9m/twt9IDGKvM5dM9Z3PRz6yaHfg0ncovT1nvIzXMC5uR5cZfzH0MSefBEBJzxQgXXLQ5nYdgRUr8MBZpmpl5BBHk69l342RKMazEB5roBtv+8e+0CtSnPH24yZQXmsw55Y/K7cszKP9ehUVpJj+zQGcw/Bj8u6AcGW1XIJLah5bWJy7NlIcs7/nzkdSbbsxYjLqLoGUNeAMW6dcPIPnlH+8T2idUsXIG47UjlrDItPHwrynj3HHCv9phIfcbKy4Bz9kUqn2D7UEPzpO+uLqevmaQx+xaaQ5PdVGzJ8xQip/IQe6Tp2aJkFX7l0brIVohA29C1R1qSGJBfalyCZ2NrCyMMnAfQj3O19GPBi319c5huTmcwHGuUOTUS31imYiKvkpsDqFEoL5Q071adb21Qty2r2sOLFqJHaNViGPUmCyMlOrqGB5IkV3yXmx2V4j5KPGKYeq3t3x+81g6kNEwcsrwjElNiV6f49xCdbhmWTX6Hmyx1hnamsok/+zH7ayv1hqAjxIpO+slxiIMSszvDndGBf9uycI3vAc6im9FtHRg4Uf4u3UXYnLPyrTonb2cen/2DfK01ShuYPVh5LoEYskq5471graXN9REzmaB2aC3OSExQwrGOpOBnsCvS3m8hgSl7Ns/ty07SHXlw6f1w+Q9xo8xutf+gNcUthcmLw6+h47xE6rYQ8EdKbWFMNAbjFKRmeviCuCT5w69V1/UYtKWUy84eZ9z7BynQ3gNbeYIZz6+WOKJeIvgM6QPJhyxa0wrw6iDJbZ4ybBN4AED/4uyGRk0OD5OnCDfj7XOWMBCSI2s9WDV+9jcg90vqHETJqypChgYtvXmZeNIfqlUECk2eGdaBGWxvrguaMWq2xuNpIduLTEe21SijrU8ai2Zn2v/XTRpwISKYiXvERh+bY 7GRNi/yN XHv06rNz9SHSVbOzgiT1oQ3HtEaJzFVrIe10bXhoQP0k8y5Hp6boK2OzeUDtjum9wN1J1TogI4N03TUjBlbn6d9EmzaJwLFbjdQe6OOCuPbXXjYmkFSRFOep7h5i5Pkh2f6XS7tKvI1VnziPU7+o1v7pa/v1yUpgxuOl5bLng9/TKdZJdAxHw4kCfuyl0aoj1FUicZAyzQ5/4Us6w0CNSBK3S8FNadcWCnPsoYh4NwisckRra8rr35bck9DA+RtfuJkII3XA9t+yRozg9jar8QbmtNwTWY0XwlzSzZ69UU6JkozCjJho+kDot/ZjoVhFPp4chZw6c65cuvobnI1U5aqw79A== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 3/15/23 12:31, Kirill A. Shutemov wrote: > MAX_ORDER is not inclusive: the maximum allocation order buddy allocator > can deliver is MAX_ORDER-1. > > Fix MAX_ORDER usage in floppy code. > > Also allocation buffer exactly PAGE_SIZE << MAX_ORDER bytes is okay. Fix > MAX_LEN check. > > Signed-off-by: Kirill A. Shutemov Acked-by: Vlastimil Babka > Cc: Denis Efremov > --- > drivers/block/floppy.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c > index 487840e3564d..90d2dfb6448e 100644 > --- a/drivers/block/floppy.c > +++ b/drivers/block/floppy.c > @@ -3079,7 +3079,7 @@ static void raw_cmd_free(struct floppy_raw_cmd **ptr) > } > } > > -#define MAX_LEN (1UL << MAX_ORDER << PAGE_SHIFT) > +#define MAX_LEN (1UL << (MAX_ORDER - 1) << PAGE_SHIFT) > > static int raw_cmd_copyin(int cmd, void __user *param, > struct floppy_raw_cmd **rcmd) > @@ -3108,7 +3108,7 @@ static int raw_cmd_copyin(int cmd, void __user *param, > ptr->resultcode = 0; > > if (ptr->flags & (FD_RAW_READ | FD_RAW_WRITE)) { > - if (ptr->length <= 0 || ptr->length >= MAX_LEN) > + if (ptr->length <= 0 || ptr->length > MAX_LEN) > return -EINVAL; > ptr->kernel_data = (char *)fd_dma_mem_alloc(ptr->length); > fallback_on_nodma_alloc(&ptr->kernel_data, ptr->length);