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 CF384C54E67 for ; Wed, 20 Mar 2024 05:47:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 063C46B0082; Wed, 20 Mar 2024 01:47:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 015586B0083; Wed, 20 Mar 2024 01:47:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E44936B0085; Wed, 20 Mar 2024 01:47:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id D5EEA6B0082 for ; Wed, 20 Mar 2024 01:47:43 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 59465A043F for ; Wed, 20 Mar 2024 05:47:43 +0000 (UTC) X-FDA: 81916335606.22.DB66297 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf24.hostedemail.com (Postfix) with ESMTP id 0923A180008 for ; Wed, 20 Mar 2024 05:47:40 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="gpARS/gz"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=cL1iP9cn; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="gpARS/gz"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=cL1iP9cn; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf24.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1710913661; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=2j9D9MOA0fmt2lZ5TlChxkcRxVAIguq0al8zOdszFZ0=; b=yvX5t8YmNhWI0LqITD7KrsgE+tqQ3p23N0kFvMrstU4yunRrHFuqt4yafIYln2Qvocdnur IEd4yDnFzP2MQlZohOByOYRDkGG8ygFXroSjgWBegCxEodWakUclvnLXB6zHgisfGquAvy 2MgbEJjyW49k8FqLq7z3/Vf1r6/DfM8= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="gpARS/gz"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=cL1iP9cn; dkim=pass header.d=suse.de header.s=susede2_rsa header.b="gpARS/gz"; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=cL1iP9cn; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf24.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1710913661; a=rsa-sha256; cv=none; b=gSkBH0Xh/nDTA+LSyDEnsiTAjK0sbyCbwmJVRrXf0yL5Y++JZrDMOhNOg62Jcae0Kxl6or 4+27NKA7esn8QzcrMUbVRi4CNXTDoFtIaDT4fDwVV0rdl0bhzEP1IZ6ZQV7VUQdi64RcPJ qNVzi5uJmcd3aB2LkPZarRFkOHgTsus= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 4BA141FB40; Wed, 20 Mar 2024 05:47:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1710913659; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2j9D9MOA0fmt2lZ5TlChxkcRxVAIguq0al8zOdszFZ0=; b=gpARS/gzcAeSnMlOu96Afx1UQGO73+RQ+NSZrMhNiCLAwXm1MP3UEKiBHfRg10C93Y+MDS +bHJ2yQbWGRVohdpAp/gckbwsyGYwyBW3Xk+AQoismidsXPpbY7GURPrcMhV0SMm4nHDI8 lQyOS/caWU+PmSP29CP6046HlC24qz0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1710913659; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2j9D9MOA0fmt2lZ5TlChxkcRxVAIguq0al8zOdszFZ0=; b=cL1iP9cnjfH0KbLcuHmEVvRUghKW+qpOxwFA6a4vu952q6TU9dXXOy/Pmv5QYIDySGiXa8 Jq2+spRXDi0ZJhDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1710913659; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2j9D9MOA0fmt2lZ5TlChxkcRxVAIguq0al8zOdszFZ0=; b=gpARS/gzcAeSnMlOu96Afx1UQGO73+RQ+NSZrMhNiCLAwXm1MP3UEKiBHfRg10C93Y+MDS +bHJ2yQbWGRVohdpAp/gckbwsyGYwyBW3Xk+AQoismidsXPpbY7GURPrcMhV0SMm4nHDI8 lQyOS/caWU+PmSP29CP6046HlC24qz0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1710913659; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=2j9D9MOA0fmt2lZ5TlChxkcRxVAIguq0al8zOdszFZ0=; b=cL1iP9cnjfH0KbLcuHmEVvRUghKW+qpOxwFA6a4vu952q6TU9dXXOy/Pmv5QYIDySGiXa8 Jq2+spRXDi0ZJhDQ== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B386B136AE; Wed, 20 Mar 2024 05:47:38 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id aH0ZKXp4+mVZDgAAD6G6ig (envelope-from ); Wed, 20 Mar 2024 05:47:38 +0000 Date: Wed, 20 Mar 2024 06:49:05 +0100 From: Oscar Salvador To: Tetsuo Handa Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Michal Hocko , Vlastimil Babka , Marco Elver , Andrey Konovalov , Alexander Potapenko , syzbot+41bbfdb8d41003d12c0f@syzkaller.appspotmail.com Subject: Re: [PATCH v2 1/2] mm,page_owner: Fix refcount imbalance Message-ID: References: <20240319183212.17156-1-osalvador@suse.de> <20240319183212.17156-2-osalvador@suse.de> <20240319162430.3e76504d06f12edc107029a4@linux-foundation.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 0923A180008 X-Stat-Signature: aeafbyeb7rrrh5fnu9wwzp6pkcbmq8xi X-HE-Tag: 1710913660-999163 X-HE-Meta: U2FsdGVkX1/rGg9teYNpB4qSCrtMH6sjt13w0nX2cC6KCm5L5WC+ccfzLY7yFP8MsmSuyP3sFb8AzDBPuQxHVH/M+8Ol3KdamM0qeKJPox2bqiiylsSmoH0WI+mwIIrqyJ58V6KiLZF80eYComlJAuRFS7yZFOY0Y3nx52329JI5L1JIonxBlGarTbMyP1Dl/wPdVrOkUFdtk4PxtnvqQSM0cEA3ZQMNxk6wjXQ14zBJnRGAj6KAiHERkVoRgQA20pPeF/hi1P2K0WFimUqqgPScbjqtJ9/96FfU1FTn5cYrzH1BDlisMkKFutJsmTuG741BXQFJCLUGNHEAaFnCMTsRVnOJE25EWuspVOgqWgfYYbiW5MYvljUkbgaL3yPAgp50WrejyJEmsr8IuG9H/oymncZTzboYkm3ZtEJzAidXubTD1Q+hoPm7xukLUDCw6et/AxFVJT6rY574w0XhCIQilagqWGVYTWffOVWL569/zQr6floR1XCFujsixyEmhsy1vTnrsS3IN3cU5JjYuXYIkbYnL7BWnQ4L37s+1A1A8rGDYajh7pvICABjLU2+WMDNA5WLVxe7bHMi07fz8g/9lDpY/pXO8mRODHvGlccKSBikP9mawS/x0F96PdRHVxw7ZzT7QYQTjHXzGwOOO+fcw2y2TiSAzVWwggwFFRCXhChcF2g62NPjWb7SzAEWx5S2xYDjPac/mb8nD+rZphVcO00OE2OJgE7UbUm6F97oeggFk8O8I51zzkw5EbBcsB6WEspAJQIQ4+oTx4K7XcwAaZmh1nl8cW1uuZ36IHsdiaIxwjYwmWj021BBoLzgl7IA410lsYwxM6TqZSmxYvi0YTDatbsrCdMbfChk+5OzJvr+mEzWz2wBEPj4zDD70r+FAO894R12UFg8Qa5Cg8+1Sr8rtzHBpYzi6gczlPLxGSFfzXHowtKEfuV/WGMstZcshnc9gN6TfUNLaoH A4GJkyml 3FjGrF3f5IBfHLEf0wwQnH9UMxQk0swktoy95sup9ktCEQo+6H4lU8/uMXwUpogTffm+dfcG2Ctw3b+VZE6yOX2+6NygZCqNylsbJbJ5U2V/7ZFDjKzXc+qyniKMWL5V6sWkUEDLCUIRvp6OBZu6RN1slgThOLSrV36mg2v35e8D+JeofekbIp6XMULz/cKBJppK4wDPelay0X71jxbUoWl56l9XpFzjMD9BQvOX+FiraWc6cZ9xsodWeb/eJUzW9yNtENlbgEKqt0JNnf8gI8XSHmJS3TKxpikTbHF+Iew+7GegEburWoEWAtqUsP/5o6zvwtx3/YFYocGWUy3GbQHMP2cBefFhF31Lw 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: List-Subscribe: List-Unsubscribe: On Wed, Mar 20, 2024 at 01:40:05PM +0900, Tetsuo Handa wrote: > Hmm, I guess that this is not an expected user of refcount API. > If it is correct behavior that refcount becomes 0 here, you need to explain like > > - refcount_sub_and_test(nr_base_pages, &stack_record->count); > + if (refcount_sub_and_test(nr_base_pages, &stack_record->count)) { > + // Explain why nothing to do here, and explain where/how > + // refcount again becomes positive value using refcount_set(). > + } > > or replace refcount_t with atomic_t where it is legal to make refcount positive > without using atomic_set(). No, it is not expected for the refcount to become 0. I do know why, but I lost a chunk in the middle of a rebase. This should have the follwing on top: diff --git a/mm/page_owner.c b/mm/page_owner.c index 2613805cb665..e477a71d6adc 100644 --- a/mm/page_owner.c +++ b/mm/page_owner.c @@ -222,8 +222,11 @@ static void dec_stack_record_count(depot_stack_handle_t handle, { struct stack_record *stack_record = __stack_depot_get_stack_record(handle); - if (stack_record) - refcount_sub_and_test(nr_base_pages, &stack_record->count); + if (!stack_record) + return; + + if (refcount_sub_and_test(nr_base_pages, &stack_record->count)) + WARN(1, "%s refcount went to 0 for %u handle\n", __func__, handle); } -- Oscar Salvador SUSE Labs