From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933238AbcINTZH (ORCPT ); Wed, 14 Sep 2016 15:25:07 -0400 Received: from mail-dm3nam03on0139.outbound.protection.outlook.com ([104.47.41.139]:57126 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933158AbcINTZB (ORCPT ); Wed, 14 Sep 2016 15:25:01 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57D9A400.2010501@hpe.com> Date: Wed, 14 Sep 2016 15:24:48 -0400 From: Waiman Long User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Thunderbird/10.0.12 MIME-Version: 1.0 To: Linus Torvalds CC: Tejun Heo , "Theodore Ts'o" , Arnd Bergmann , Greg Kroah-Hartman , Linux Kernel Mailing List , Scott J Norton , Douglas Hatch Subject: Re: [PATCH] random: Fix kernel panic due to system_wq use before init References: <1473879781-23819-1-git-send-email-Waiman.Long@hpe.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.249] X-ClientProxiedBy: BLUPR0301CA0025.namprd03.prod.outlook.com (10.162.113.163) To AT5PR84MB0305.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.27) X-MS-Office365-Filtering-Correlation-Id: 25a90a29-675b-47d1-b953-08d3dcd4d117 X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;2:5q4RiBL6IYmfS8WnsyxiqjNyR6nSfbHbVkENOlmpBk9tS7o2N+nELEM8+XeCgu6tFw2715RhAi+RKBkiIcYS8J1IRzst8hulYyz1+kqUyxpBzLE3O9VckVTj/vHAsOc8/xy2i08RzOrwWxBzwEyvwvtHhZ+U7HlUFnqyks4G3aDVfHDmDt+Wim/PAolYLJdZ;3:BVb0QphXuGU6MCO1sA7srzDIEt38RxGjTXiNNY0kAIvJBLqTwKDNGD3S/lPLpsrB3KVoKwuDSpH+aJoNZlQv2Bb76/SaeSxm25zrOJFgkvY0YjiSRwKjmru0l7ypD7Ot;25:NRKAxJMT8drnRkdrB8mWOmkR1fH0CWYSDXc6mOP1h7uM7PHZtyyqqRlwmriATrt0JJ32PIXEWYdjH6AkwavUXUqYxl3BJ/dOJbv+ji6zfpc4KBD86kjB94mDMPfKKxkynrfNcxlmSZKgYkLvjXBzJxxdv9A8TJtOBqy+cj1FjgiEeyVqu5H18w7VP2JeD8eyu+rrYa0C4knNrwfxaIUoabvQjl0oGntt9yRkCOmFWxRh283fxw73Tw5yrdteihtt0FLqsWS34h/HxgZNWvDYJ0Qyf2ucTEo7WZLxrD+8Smi/gAfg9d24JW0dXInHhCZKOX+kWqsLq4UhiRjrh9n7FMlEQmgO7YYbQS743/qjHFaYPGnrTNclvG43Ye4QFbHwpV9C/ALmM97P96ATDO/8AOYLfiUS7BCm2GjweeJu6ck= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0305; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;31:cZ0CqVjdBT4gjUqJwZE6NJEuv6oyLz7xJiNIdlXju6D2WPUUIwE8yL7r4o1J8C3tnKOKap8tJOyOBlin9sJvIZhHS5cOxPN69j0DVjurrzCiBiZhRqyyQte/pEhoit0Zb4b9R4iPK38jZqEuYQIADRuMlT8WX2K/UiplXRlDyglgmcjT3jXr7UAaitafIPS5F8UIlg4xRKQHDrmQaI1q0tFLtSF+cMYZENOhPt26brA=;20:qxGmiMlG99taBzOJTePSiAZdYmFFMLCkm1vjhl2cfpT4adq8C545VQJhpP2HHZeI2mpnBqvmpI54RzfipiPxtjBRk7Vz0Mq7AtmA73Mo3pJMtv1lbfq90FBpnm95+6CX1/7Bje12+n/md4B3edtaO6b3ZXhpYFsvvzWpLdIY/e/vYJQAeCd2oG2s2U0ezPy7F3NFyOK4z8Yey/R1HCunOAeCmyT0fBxoKDn5VHNFuObj57VAVSmAaCMghOytFSadqW+0S87xeBtx93dVW5TEVe/gSdRLmyeO4wc75vVZS5wTrOGuVg6F9oCPgZOkfFCtwM9wwjVgrTlb5VvbvkIsxmpAcl3ca5FHOZl+kGctGLy19bcbQbl32EzWdw2iNDOXB5vy5sCPO9i9BcveuPc3wpi4uA9fdnUe+eT4ALg9KCKQyghn6rH/9F/ts7bSg7mEW05fSbdrRKI4oQT89iEPrhhW+8JyAZyrwO6+7ble+4tSoQVok6ww9CwiRTuZW20h X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:AT5PR84MB0305;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0305; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;4:Be0MkyW8Gqef4E02gQvSqSzoy5N3s32yvvzudc2PZMw2QQzLJff005eJYVDK2O/pb6lij3CylxhgLE6FBn8yJDtn4y6UlK28DawAWmQpRRrpSLnAFi6BWyDGH9Roqfot2IGhtSKfjylUBykou0Q/RiKRBHU7EyoRC5ol29WFRbdJ4h987UHlsaq8SyVfz7iHUCg2vS3ZSIb8of9KaBVRKJA3KmoqylJnXe03EWsUssV1TDrHlYd+J8hmwAYXhboMBgkkqd+zOCf2ZFY7MHImjgDce30t4SA0+3ZDtCMrI2IhDivzgZRdrJBZzBPS9If+3A6fzWMTv6ToQHifAR24CkQwZXvShsyM3XEhumMQg/XPLeubTlQYmGp7EFGvKvisAnRDJm/+xouZXRz7dMdPsQ== X-Forefront-PRVS: 006546F32A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(24454002)(189002)(199003)(377454003)(65816999)(92566002)(7846002)(101416001)(105586002)(66066001)(5660300001)(42186005)(2906002)(3846002)(586003)(6116002)(2950100001)(68736007)(47776003)(65956001)(8676002)(81156014)(65806001)(36756003)(106356001)(110136003)(81166006)(230700001)(80316001)(59896002)(77096005)(7736002)(50986999)(4001350100001)(87266999)(4326007)(23676002)(86362001)(64126003)(33656002)(76176999)(117156001)(189998001)(50466002)(54356999)(83506001)(305945005)(97736004);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0305;H:[192.168.142.204];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBVDVQUjg0TUIwMzA1OzIzOkVHUFNrRTAva3JiVmdFL1o5RXo1b05EdUJr?= =?utf-8?B?Y3VBS0F2OFlzRFNYTGh6M2hmUGJ5OEpaQzV6N1U4NmNvcXNSd000V2xBSnc0?= =?utf-8?B?alBXOENQSDQycGJ1U1RJL0R3MmxGSDE0U3NGdmF4MjYxRDZ2Z3U4QzFEenlv?= =?utf-8?B?U1cwaUdyZFdrMTFFUE5YSng1L2lWK0ZvVm8wdjhDQng0NENiWnhVQ2w2eTlO?= =?utf-8?B?b1dYUENDZ3RsajB2RW5rZ2NrWFJtYVlyMjZkUGZaTTlWSzc5RlQzcFU1QjNZ?= =?utf-8?B?dG5DRzFSQTdmMVJhQjY0V0FWNm5JTEZXZGNsWFkwbW5SRGVCeDNQVHhjNGF6?= =?utf-8?B?dUNJTHpnSDBJZWh2K3lNNkFwVmxlUFdmWTl3WkltZHc0SGs1QWRTbDFoUHdw?= =?utf-8?B?aGNaQVVROG5kYzBuRXd1aDFDMUVleHBPbmh6M3l2ajIzRDAvY1lQQlM2WGVU?= =?utf-8?B?M1RwK1NjZ2FuZG42NkprN2VDT0FEUCtJQUFxZUhYQTRSazZ0Q09ENk1MeXRD?= =?utf-8?B?Ny9odjk2VEd3SUhmcHgwTmovc1A1SEp6RithNG1ocE12eW4wVmh4MC93aVpv?= =?utf-8?B?NzFJenVkNEpTNSsrb3lwekVyTlRhQkh6cENKTzZ6ZEdMS1ZUNDNOZWhaNURQ?= =?utf-8?B?RkRsQUo0YjB2T3Q3QmkrNll2Q1ZwMlByVURqakh3MEJ0QWVMT2dUT3hkeXha?= =?utf-8?B?TGhPOGloY3Jud0wvVitLTmZlZzlRMkFhelEybU1EM3llNzMxcDhjM1BFaW42?= =?utf-8?B?eGxvclVOZTBEOXQzTmFEOXJ6MDZwSWdIWXJyc1N2NUVZUlFZWWRLM1dmcCtr?= =?utf-8?B?VXZxUFBrOEhYZUoxQU0zbDRGVHU0dUNaYlQyM2NaSmZTeEJyTDY2ZHVWbGwv?= =?utf-8?B?WnI1WTMwODY3amsrQUtUN0J3MkV1ZmdUMGVvK21GVmNaai9CU3ExQmk2NEEv?= =?utf-8?B?dHZhcmt0SHZBNWVvanlNQVhCaks4MnNsQUxWbGRVZ1E5eDRoRVJFdzdaQmk1?= =?utf-8?B?REkvWFg4WDN1aFVBZXNBT3V6Z3BWZzBkR2g3Q25Za09uakFlTnhXZXBmUmZD?= =?utf-8?B?L1ZHVEJzdzN0TG02Yk92cTFzR01rc2IxZDhpOEVBaDFxdVBkSjNBdEs4VlJO?= =?utf-8?B?K0tKYzlISmIzSTlHRElCVVQzNWdXSEF0VnkvM3owWkROMEN6Zm1NWjJVbUVs?= =?utf-8?B?K2Ftb296SXRWL1JPcTVtSjlFMlVNZzEzUysrU0R0ZGg0cWZIaHZzRzZ1c0cw?= =?utf-8?B?amgrc3Rkb3BJYmVCMFhTTTZ0dHRvYnpIYVZCZDErNGNVNDkrc3hRbDByTkgx?= =?utf-8?B?TllGQ2JXU3lwK3czTXhoUlJBaTNFUjI3amVWdXBhcFNKVzU1ajRvakdJK1h5?= =?utf-8?B?MnhhVkF0NDY4VldtVUhYNEVRRTBXWU03T1FHNVJQREVFY1BWVU92NWdDTGli?= =?utf-8?B?ZVpPYXg2cHU4by9CYmZxLzJCRSt0SUF1Q3BpSDlJd2crZHNXYk5pdkJZaHVw?= =?utf-8?B?eERGUE9aaktPVVZxTXdDS0xYTjNSaEFjQlZ1aGxydkpyZ2FVYkhrUUxTTkwv?= =?utf-8?B?amFialFwdWErMzAvSzJjYk1UNUtUZnVYVFIwdWxzbHFVMVp4cStpUWFNWTRP?= =?utf-8?B?aTlyMGUvVHdxQ3NIRGVpSW52bWVzYmxOMlREcEwrWnVRRFp1SVFJbzZ6UnhM?= =?utf-8?B?T1NnNktGdnhqN1RiU2dwMCt1OEdidFpMdUl6WEQ3eDFVYjFjQmRsQTloczNo?= =?utf-8?B?ZTY1WENQbUZmWHh6VXgxUT09?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;6:+A/6+Vm2VNdy6MzQkA0ywROoeILXvk2wYiWW0gcZhTrMyqJO9F4Zg33GwYoTGk9MvLntJbyqhp68mcHnTl/ej1h0HhOLhDMo1IscTav8roctLl/Lj+7DXQ0mb7cHzZSNti10awThkf72Geuyyz4ifFzJK4sP2fIyugbs8OsBs8PxeFjtaHpQnWkImqopCI3aYrqIyrqYve78nuC410m6ORvoo6VpI3lWThmEhdfX93mXciCicmYS1H23aA3J5aXYuh+DI1UUe/sD+ry5TBBhmn/8J0RPAUkPw9JPxqsjHF5QMMdJqiF838UdK2iDINbbSLvnVtRl0b2FM7EFevr7zw==;5:x0nHgdFfXpSc4nc5Ki28bXHhDxW+VZQGLSCIIOK1z9VTHoXL2u7hhV3SxBCBK+kZ4H8I2nYlzjAXC6QJPVOquxY+FD8r385crrQ3pFoNzjua5ceXPRyVGux8Kq6qr0B/sLuFJMj/bYAgV0YBQfB0BA==;24:rIUpjDgMB1IKtHUVVgG3afBJs5B/3C3/3gtDUc1lK1uTmzyLp2+hKXEWtnZC/IbeIQrUR/AnZp/rBVyQpS5ZFfLriJuxBGa/+XkMHO0Iq0Q=;7:k6SRR7tCARN/sEqWP0wxSevJkReOzY3w1AQ6JdMvtpEoQXzw6vQNyiBbOFUgcY8tA/CmNiiaNeyQV8bV93iHXUWrS4yT4C6jxRL1Oo2mbnQWC50lZlehKHL4YVSvsnwN5ubgXvSospFpFcXoFsgLtMmiYNYJuhjnFwH6Fd2LsAJoGzq0KluvO+X7s2VTEAfU9bQS/S7RH9eGFrI8w9TMmZcUsaEGyvInGO3lcI3f9uTJCHCTLfTMWhd52kINTYDK SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2016 19:24:58.3687 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0305 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/14/2016 03:14 PM, Linus Torvalds wrote: > Ugh, I detest this patch. > > My gut feeling is that a driver (even a fairly core one like the > random code) should not have to know these kinds of details like > "schedule_work() needs system_wq to have been initialized". > > I'm wondering if we couldn't just initialize "system_wq" earlier. > Right now init_workqueues() is an "early_initcall()", so it's at the > same priority as a number of other random early initcalls. My gut > feeling is that it should be initialized even earlier, with the > scheduler. > > Because dammit, we use "schedule_work()" as if it was a pretty core > scheduler thing, and having to have some odd knowledge of system_wq > initialization details in the rest of the kernel sounds really really > wrong. > > I don't think the random code is at all special in maybe wanting to > schedule some work despite being an "early" initcall. > > Adding Tejun to the cc, and quoting the whole email. > > Tejun, comments? > > Linus > > My patch does not really fix the boot problem as detailed in my follow-up email. It serves mostly to jump start the discussion on the problem that I saw. The schedule_work() call was issued as part of interrupt handling that seems to be started pretty early in the boot process before the early_initcall. I guess it is possible to move the initialization earlier, but I am not sure where will be a good place. Cheers, Longman