From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752943AbbCJN5p (ORCPT ); Tue, 10 Mar 2015 09:57:45 -0400 Received: from forward4h.mail.yandex.net ([84.201.186.22]:50356 "EHLO forward4h.mail.yandex.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751391AbbCJN5o (ORCPT ); Tue, 10 Mar 2015 09:57:44 -0400 X-Greylist: delayed 339 seconds by postgrey-1.27 at vger.kernel.org; Tue, 10 Mar 2015 09:57:43 EDT From: Evgeniy Polyakov Envelope-From: drustafa@yandex.ru To: David Fries , Thorsten Bschorr Cc: Jonathan ALIBERT , "linux-kernel@vger.kernel.org" In-Reply-To: <20150309230924.GJ11991@spacedout.fries.net> References: <54F02E22.5050901@bschorr.de> <20150228201737.GU6151@spacedout.fries.net> <369891425174502@web4m.yandex.ru> <20150301021744.GW6151@spacedout.fries.net> <20150302001713.GA6151@spacedout.fries.net> <4333121425483401@web21m.yandex.ru> <20150308211449.GG11991@spacedout.fries.net> <20150309230924.GJ11991@spacedout.fries.net> Subject: Re: [PATCH] Avoid null-pointer access in w1/slaves/w1_therm MIME-Version: 1.0 Message-Id: <2663771425995520@web30h.yandex.ru> X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Tue, 10 Mar 2015 16:52:00 +0300 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=koi8-r Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi 10.03.2015, 02:09, "David Fries" : > diff --git a/drivers/w1/slaves/w1_therm.c b/drivers/w1/slaves/w1_therm.c > index 1f11a20..39a9e6a 100644 > --- a/drivers/w1/slaves/w1_therm.c > +++ b/drivers/w1/slaves/w1_therm.c > @@ -59,9 +59,20 @@ MODULE_ALIAS("w1-family-" __stringify(W1_THERM_DS28EA00)); > šstatic int w1_strong_pullup = 1; > šmodule_param_named(strong_pullup, w1_strong_pullup, int, 0); > > +struct w1_therm_family_data { > + uint8_t rom[9]; > + struct mutex lock; > +}; This approach will not scale to other w1 families, I would rather prefer solutions on w1 level, not in particular drivers. What if we drop slave reference counter at all in favor of automatic sysfs device management?