Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932345AbaAWPHv (ORCPT ); Thu, 23 Jan 2014 10:07:51 -0500 Received: from cantor2.suse.de ([195.135.220.15]:59295 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932082AbaAWPHu (ORCPT ); Thu, 23 Jan 2014 10:07:50 -0500 Date: Thu, 23 Jan 2014 16:07:45 +0100 (CET) From: Jiri Kosina To: Jan Kara cc: Linus Torvalds , Dave Jones , Linux Kernel Subject: Re: fanotify use after free. In-Reply-To: <20140123150540.GD28796@quack.suse.cz> Message-ID: References: <20140122062730.GA25601@redhat.com> <20140122233622.GB27916@quack.suse.cz> <20140123150540.GD28796@quack.suse.cz> User-Agent: Alpine 2.00 (LNX 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="1678380546-1234980849-1390489668=:581" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --1678380546-1234980849-1390489668=:581 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 23 Jan 2014, Jan Kara wrote: > > > > But refcounting seems like an overkill for this - there is exactly one > > > > fanotify_response_event structure iff it is a permission event. So > > > > something like the (completely untested) attached patch should fix the > > > > problem. But I agree it's a bit ugly so we might want something different. > > > > I'll try to think about something better tomorrow. > > > > > > Ok, In the meantime, Dave, can you verify whether this hacky patch > > > fixes your problem? > > > > I reported the same slab corruption yesterday as well here: > > > > https://lkml.org/lkml/2014/1/22/173 > > > > With the patch applied, I am still seeing the slab corruption, preceeded > > by GPF (which is not there without the patch) in > > lockref_put_or_lock(&dentry->d_lockref) in dput(): > Hmm, OK. Can you please send me your .config? I'll try to reproduce this > myself. Attached. The userspace is systemd-based. -- Jiri Kosina SUSE Labs --1678380546-1234980849-1390489668=:581 Content-Type: APPLICATION/x-gzip; name=config.gz Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=config.gz H4sIAAAAAAACA5RcS3fbOLLe96/Qcd/FzCKd2E77Zu49XkAkKKFFEggBylI2 PIqtdPu0Hz2W3JP8+6kC+ABAQJJn0RNXFV6FQtVXBVA///TzhLzunx83+/vb zcPDj8nv26fty2a/vZt8u3/Y/v8k5ZOSqwlNmfoFhPP7p9fv779/uppc/nJ+ +cuHyWL78rR9mCTPT9/uf3+FlvfPTz/9/FPCy4zNmquPU6auf3R/rj5dAcn5 e/iDlVJVdaIYL5uUJjyl1cDktRK1ajJeFURdn20fvl19fAfTeHf18ayTIVUy h5aZ+fP6bPNy+wdO9f2tntwO/w3DN3fbb4bSt8x5skipaGQtBK+sCUtFkoWq SELHvDlZ0iYnipbJWvFA46Kohz9KStMmLUhTEIHdKurx5Eyzc1rO1HzgzWhJ K5Y0TBLkjxnTehYkNhWFyTGYo+CsVLSSY7H5DWWzuTVlrcKCrM3iRNJkaTJw qxtJi2aVzGckTRuSz3jF1LwY95uQnE0rWCNsR07WXv9zIptE1HqCqxCPJHPQ LCtB6ewLjbQmNSi94lPq7YikqhaNoJWRqijxFN2xaDGFvzJWSdUk87pcROQE mdGwmJkPm9KqJNpsBZeSTXN/yrKWgpZpjH1DStXMaxhFFGAHc5hzSEIrl+Ra UuXTQeQLB02BbVxeWM1qOLC68Wgu2kplw4ViBag3hYMHumblLCaZUjQnVAPJ 4aT4x7mRhXBpI4tq7axJspzM5PXZu2/obN7tNn9v79693N1PXMLOJ9x99wi3 PuGT9/e/vL/PP/iE87PwamttVNZh6T0KmKQE3/P+4f7r+8fnu9eH7e79/9Ql KSiaMiWSvv/Fcyys+tzc8MqymWnN8hQ0Txu6UgSMoZHGaYDT/Hky0973YbLb 7l//GtwobI9qaLmEqeIsCvCplxcdM6nArJqEF4KBaZ2dQTcdx9AaRaWa3O8m T8977NnyeiRfgmMA08V2AbI+Zd4BW4C507yZfWEizJkC5yLMyr/YLszmrL7E WvAYwwok7px6BdgTshXgC+C0DvFXXw635ofZHwPKB6sidQ7nnkuFJnR99o+n 56ftP/ttkDfE0q9cyyUTyYiA/5+ofKCDj2Grpvhc05qGqaMm2ZyUqeOV0Hl4 f2IjOP6+h7khynExmqgqSjuLhhMw2b1+3f3Y7bePg0X3YQ0OiOfFbZac85sx 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 --1678380546-1234980849-1390489668=:581-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/