Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp289113imm; Fri, 31 Aug 2018 00:02:54 -0700 (PDT) X-Google-Smtp-Source: ANB0Vdaf931vSuNyIKD7NjN6/Qq6a261h4vh/NdW3fsiBAkMTKZy2ebNsvlZUB70T6Y8YOU7Bew0 X-Received: by 2002:a17:902:925:: with SMTP id 34-v6mr14039769plm.307.1535698974252; Fri, 31 Aug 2018 00:02:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535698974; cv=none; d=google.com; s=arc-20160816; b=iW2Ad+nfUxGRGXNEtPXg8TpsTTRm/4ZERIGEjKg/ZhpPtp9BWGywesSGjFKS8uPVRy 73EqSSkBoFvxRPP+lOR3j0FmzvH8bTkSN1HiHJ/2VBsMPndExu9u3LGcIuQBTMs0dQ8F EUAI7wdRYOnzXM8D2RJOSAf4VyttIUTXZ45WxjePJi0s3Y6ame2QxQcIb6rZ5I3LAr5v 1bX2t9m004JKyZNe1oKlc6qV2zDLNBpeN3G1FyXJ81moWZJV/dODEcHSHM8dKP6HB7bH k4kUXoPteA+ttUEDDz1V4JWCJj9T72SvnT0mCIEifVvCcNLXJ8wRj2es4N2t6umCfpHg uHCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject :arc-authentication-results; bh=fjf9S5EbtZ0YH6WUm2RAw1eCgDTAqwCgEoEWhubwC/Q=; b=kz2hxSbCRhvfjClpBk7orKedKsmDsJac/t+2Bh7r31dqniqI7IoDi3js72uP7zMqQZ 4TWAm3WZuxaTuBPb0x/MV1uQjqXtwgsaHDSVmJpZt7Viq2Gn85rkL2jXSRho5WoGaTQX WLbt8ZiV2pIXkcpFbu/KpJLcyXDtnSWGcI9Qlp5RfnaukGLieCWkW4KVhpzfKaFgXsxn 7zN6e0Bgi99gAQTQjDlqbFr7uwC4Uy9Xdfcm5X0wPpTkkzz3ExIM38cw+cm80oPFxSrn M/qA3XaLad2N3ZFxkfoX/60CrECRixOBpm/tFA6EzOJKRp1pyHtaQ0tNw+PleeEMl4Pb MPXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q35-v6si8455121pgm.78.2018.08.31.00.02.38; Fri, 31 Aug 2018 00:02:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727238AbeHaK5V (ORCPT + 99 others); Fri, 31 Aug 2018 06:57:21 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:56218 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727129AbeHaK5U (ORCPT ); Fri, 31 Aug 2018 06:57:20 -0400 Received: by mail-wm0-f65.google.com with SMTP id f21-v6so4111295wmc.5; Thu, 30 Aug 2018 23:51:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=fjf9S5EbtZ0YH6WUm2RAw1eCgDTAqwCgEoEWhubwC/Q=; b=NYzBVZNEimBMwC1pLzWy2UE8w2U+Ps0E+oe1gPLZ0hAnlAWhh9TEKKca5zsuzMQghX m+ZQmKD80/MqDlmSCuOcsI1N0Fq3Az21Zt3fPm5KV+7IXhDSZCYVIOmTAJNtyODaLppR LxMqE3oKvLaSpf0YfW3CReawcIn4hwBigtYW0v7MQouH5BZ7JXLOkoZAA0V27wx2MmaP jzD3c5ZAm76cDF+u+fDkydCPxe0FFZ1rJJfQeWK/9pIgUFU0E1VBMcw3B4B0wSnYfNae 2XUGMo51wMSTLFX4cYduydfeZWOvZtH9Wkkn0O6gfEotumH7tB/HVSaVt9nDqxGSFbvI 9nAg== X-Gm-Message-State: APzg51A7HkHMcFDhSWeJst1ox8VCAGtOJkz+DDof1WukmEr3tz0rtJ+v wnCbHqyN5Oyz80l17beFY2sPVybe X-Received: by 2002:a1c:ac07:: with SMTP id v7-v6mr3523352wme.110.1535698279990; Thu, 30 Aug 2018 23:51:19 -0700 (PDT) Received: from ?IPv6:2a01:4240:2e27:ad85:aaaa::70f? ([2a01:4240:2e27:ad85:aaaa::70f]) by smtp.gmail.com with ESMTPSA id k5-v6sm13353038wrm.96.2018.08.30.23.51.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Aug 2018 23:51:19 -0700 (PDT) Subject: Re: [PATCH 2/4] tty: Hold tty_ldisc_lock() during tty_reopen() To: Dmitry Safonov , linux-kernel@vger.kernel.org Cc: Tetsuo Handa , Dmitry Safonov <0x7f454c46@gmail.com>, Daniel Axtens , Dmitry Vyukov , Michael Neuling , Mikulas Patocka , =?UTF-8?B?UGFzaSBLw6Rya2vDpGluZW4=?= , Peter Hurley , Sergey Senozhatsky , Tan Xiaojun , Greg Kroah-Hartman , stable@vger.kernel.org References: <20180829022353.23568-1-dima@arista.com> <20180829022353.23568-3-dima@arista.com> <0cb6bb7c-776b-28d6-65a6-f5b496e32344@I-love.SAKURA.ne.jp> From: Jiri Slaby Openpgp: preference=signencrypt Autocrypt: addr=jslaby@suse.com; prefer-encrypt=mutual; keydata= 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 Message-ID: <5b5fa362-f5cf-53ab-044b-0577856b872d@suse.com> Date: Fri, 31 Aug 2018 08:51:18 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <0cb6bb7c-776b-28d6-65a6-f5b496e32344@I-love.SAKURA.ne.jp> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/29/2018, 05:19 PM, Tetsuo Handa wrote: > On 2018/08/29 11:23, Dmitry Safonov wrote: >> tty_ldisc_reinit() doesn't race with neither tty_ldisc_hangup() >> nor set_ldisc() nor tty_ldisc_release() as they use tty lock. >> But it races with anyone who expects line discipline to be the same >> after hoding read semaphore in tty_ldisc_ref(). >> >> We've seen the following crash on v4.9.108 stable: >> >> BUG: unable to handle kernel paging request at 0000000000002260 >> IP: [..] n_tty_receive_buf_common+0x5f/0x86d >> Workqueue: events_unbound flush_to_ldisc >> Call Trace: >> [..] n_tty_receive_buf2 >> [..] tty_ldisc_receive_buf >> [..] flush_to_ldisc >> [..] process_one_work >> [..] worker_thread >> [..] kthread >> [..] ret_from_fork >> >> I think, tty_ldisc_reinit() should be called with ldisc_sem hold for >> writing, which will protect any reader against line discipline changes. >> >> Note: I failed to reproduce the described crash, so obiviously can't >> guarantee that this is the place where line discipline was switched. > > This will be same with a report at > https://syzkaller.appspot.com/bug?id=f08670354701fa64cc0dd3c0128a491bdb16adcc . > > syzbot is now testing a patch from Jiri Slaby. Yes, my patch passed, so could you add: Reported-by: syzbot+3aa9784721dfb90e984d@syzkaller.appspotmail.com (not adding tested-by as this particular patch was not tested, but shoiuld work the same way.) thanks, -- js suse labs