linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Berg <johannes@sipsolutions.net>
To: Viresh Kumar <viresh.kumar@linaro.org>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>
Cc: "linaro-kernel@lists.linaro.org" <linaro-kernel@lists.linaro.org>,
	Rafael Wysocki <rjw@rjwysocki.net>,
	"sboyd@codeaurora.org" <sboyd@codeaurora.org>,
	"arnd@arndb.de" <arnd@arndb.de>, Mark Brown <broonie@kernel.org>,
	Akinobu Mita <akinobu.mita@gmail.com>,
	Alexander Duyck <alexander.h.duyck@redhat.com>,
	"moderated list:SOUND - SOC LAYER / DYNAMIC AUDIO POWER
	MANAGEM..." <alsa-devel@alsa-project.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Andy Lutomirski <luto@amacapital.net>,
	Arik Nemtsov <arik@wizery.com>,
	"open list:QUALCOMM ATHEROS ATH10K WIRELESS DRIVER"
	<ath10k@lists.infradead.org>,
	"open list:QUALCOMM ATHEROS ATH9K WIRELESS DRIVER"
	<ath9k-devel@lists.ath9k.org>,
	"Altman, Avri" <avri.altman@intel.com>,
	"open list:B43 WIRELESS DRIVER" <b43-dev@lists.infradead.org>,
	Borislav Petkov <bp@alien8.de>,
	Brian Silverman <bsilver16384@gmail.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Charles Keepax <ckeepax@opensource.wolfsonmicro.com>,
	"Ivgi, Chaya Rachel" <chaya.rachel.ivgi@intel.com>,
	Davidlohr Bueso <dave@stgolabs.net>,
	Dmitry Monakhov <dmonakhov@openvz.org>,
	Doug Thompson <dougthompson@xmission.com>,
	Eliad Peller <eliad@wizery.com>,
	"Grumbach, Emmanuel" <emmanuel.grumbach@intel.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Gustavo Padovan <gustavo@padovan.org>,
	Haggai Eran <haggaie@mellanox.com>,
	Hariprasad S <hariprasad@chelsio.com>,
	Ingo Molnar <mingo@kernel.org>,
	Intel Linux Wireless <ilw@linux.intel.com>,
	"open list:AMD IOMMU (AMD-VI)" <iommu@lists.linux-foundation.org>,
	"James E.J. Bottomley" <JBottomley@odin.com>,
	Jaroslav Kysela <perex@perex.cz>,
	Jiri Slaby <jirislaby@gmail.com>, Joe Perches <joe@perches.com>,
	Joerg Roedel <joro@8bytes.org>,
	Johan Hedberg <johan.hedberg@gmail.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Jonathan Corbet <corbet@lwn.net>, Joonsoo Kim <js1304@gmail.com>,
	Kalle Valo <kvalo@qca.qualcomm.com>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	Len Brown <lenb@kernel.org>, Liam Girdwood <lgirdwood@gmail.com>,
	"open list:ACPI" <linux-acpi@vger.kernel.org>,
	"moderated list:ARM64 PORT (AARCH64 ARCHITECTURE)"
	<linux-arm-kernel@lists.infradead.org>,
	"open list:BLUETOOTH DRIVERS" <linux-bluetooth@vger.kernel.org>,
	"open list:DOCUMENTATION" <linux-doc@vger.kernel.org>,
	"open list:EDAC-CORE" <linux-edac@vger.kernel.org>,
	open list <linux-kernel@vger.kernel.org>,
	"open list:MEMORY MANAGEMENT" <linux-mm@kvack.org>,
	"open list:CISCO SCSI HBA DRIVER" <linux-scsi@vger.kernel.org>,
	"open list:ULTRA-WIDEBAND (UWB) SUBSYSTEM:"
	<linux-usb@vger.kernel.org>,
	"open list:NETWORKING DRIVERS (WIRELESS)"
	<linux-wireless@vger.kernel.org>,
	"Coelho, Luciano" <luciano.coelho@intel.com>,
	"Luis R. Rodriguez" <mcgrof@do-not-panic.com>,
	Marcel Holtmann <marcel@holtmann.org>,
	Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
	Mel Gorman <mgorman@suse.de>,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	Michal Hocko <mhocko@suse.com>,
	Narsimhulu Musini <nmusini@cisco.com>,
	"open list:CXGB4 ETHERNET DRIVER (CXGB4)"
	<netdev@vger.kernel.org>, Nick Kossifidis <mickflemm@gmail.com>,
	"open list:WOLFSON MICROELECTRONICS DRIVERS"
	<patches@opensource.wolfsonmicro.com>,
	Peter Zijlstra <peterz@infradead.org>,
	QCA ath9k Development <ath9k-devel@qca.qualcomm.com>,
	Richard Fitzgerald <rf@opensource.wolfsonmicro.com>,
	Sasha Levin <sasha.levin@oracle.com>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Sebastian Ott <sebott@linux.vnet.ibm.com>,
	Sesidhar Baddela <sebaddel@cisco.com>,
	Stanislaw Gruszka <sgruszka@redhat.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Takashi Iwai <tiwai@suse.com>, Tejun Heo <tj@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	"Winkler, Tomas" <tomas.winkler@intel.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	Wang Long <long.wanglong@huawei.com>,
	Will Deacon <will.deacon@arm.com>
Subject: Re: [PATCH V3 2/2] debugfs: don't assume sizeof(bool) to be 4 bytes
Date: Tue, 15 Sep 2015 12:37:44 +0200	[thread overview]
Message-ID: <1442313464.1914.21.camel@sipsolutions.net> (raw)
In-Reply-To: <27d37898b4be6b9b9f31b90135f8206ca079a868.1442305897.git.viresh.kumar@linaro.org>

Hi,

This email has far too many people Cc'ed on it - I don't think vger is
even accepting it for that reason. You should probably restrict it to
just a few lists when you resubmit.

> The problem with current code is that it reads/writes 4 bytes for a
> boolean, which will read/update 3 excess bytes following the boolean
> variable (when sizeof(bool) is 1 byte). And that can lead to hard to 
> fix bugs. It was a nightmare cracking this one.

Unless you're ignoring (or worse, casting away) type warnings, there's
no problem/bug at all, you just have to define all the variables used
with debugfs_create_bool() as actual u32 variables.

It sounds like you are/were doing something like the following:

bool a, b, c;
...
debugfs_create_bool("a", 0600, dir, (u32 *)&a);

which is quite clearly invalid.

Had you properly defined them as u32, as everyone (except for the ACPI
case) does, there wouldn't have been any problem:

u32 a, b, c;
...
debugfs_create_bool("a", 0600, dir, &a);


As far as I can tell, there's no bug in the API. It might be a bit
strange to have a set of functions called debugfs_create_<type> and
then one of them doesn't actually use the type from the name, but
that's only a problem if you blindly add casts or ignore the compiler
warnings you'd get without casts.

In other words, I think your commit log is extremely misleading. The
API perhaps has some inconsistent naming, but all this talk about the
sizeof(bool) etc. is simply completely irrelevant since "bool" is not
the type used here at all. There's nothing to fix in any of the code
you're changing (again, apart from ACPI.)

That said, I don't actually object to this change itself, being able to
actually use bool variables with debugfs_create_bool would be nice.
However, that shouldn't be documented as a bugfix or anything like
that, merely as a cleanup to make the API naming more consistent and to
be able to use the (smaller and often more convenient) bool type.

Clearly, it would also lead to less confusion, as we see in ACPI and
hear from your OPP code. Note that ACPI is even more confused though
since it uses "unsigned long", so it's entirely possible that somebody
actually thought about that case and decided not to worry about 64-bit
big-endian platforms.

Of course this also means that only the ACPI patch is a candidate for s
table.

johannes

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2015-09-15 10:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <9b705747a138c96c26faee5218f7b47403195b28.1442305897.git.viresh.kumar@linaro.org>
2015-09-15  8:34 ` [PATCH V3 2/2] debugfs: don't assume sizeof(bool) to be 4 bytes Viresh Kumar
2015-09-15  9:13   ` Charles Keepax
2015-09-15 10:37   ` Johannes Berg [this message]
2015-09-15 11:04     ` Viresh Kumar
2015-09-15 13:45       ` Steven Rostedt
2015-09-15 14:04         ` Viresh Kumar
2015-09-15 17:38         ` Linus Torvalds
2015-09-15 17:47           ` Steven Rostedt
2015-09-16  7:24             ` Borislav Petkov
2015-09-16  8:02             ` Ingo Molnar
2015-09-15 14:04   ` Steven Rostedt
2015-09-15 14:12     ` Viresh Kumar
2015-09-15 14:29       ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1442313464.1914.21.camel@sipsolutions.net \
    --to=johannes@sipsolutions.net \
    --cc=JBottomley@odin.com \
    --cc=Larry.Finger@lwfinger.net \
    --cc=akinobu.mita@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.h.duyck@redhat.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=arik@wizery.com \
    --cc=arnd@arndb.de \
    --cc=ath10k@lists.infradead.org \
    --cc=ath9k-devel@lists.ath9k.org \
    --cc=ath9k-devel@qca.qualcomm.com \
    --cc=avri.altman@intel.com \
    --cc=b43-dev@lists.infradead.org \
    --cc=bigeasy@linutronix.de \
    --cc=bp@alien8.de \
    --cc=broonie@kernel.org \
    --cc=bsilver16384@gmail.com \
    --cc=catalin.marinas@arm.com \
    --cc=chaya.rachel.ivgi@intel.com \
    --cc=ckeepax@opensource.wolfsonmicro.com \
    --cc=corbet@lwn.net \
    --cc=dave@stgolabs.net \
    --cc=dmonakhov@openvz.org \
    --cc=dougthompson@xmission.com \
    --cc=eliad@wizery.com \
    --cc=emmanuel.grumbach@intel.com \
    --cc=f.fainelli@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=gustavo@padovan.org \
    --cc=haggaie@mellanox.com \
    --cc=hannes@cmpxchg.org \
    --cc=hariprasad@chelsio.com \
    --cc=ilw@linux.intel.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jirislaby@gmail.com \
    --cc=joe@perches.com \
    --cc=johan.hedberg@gmail.com \
    --cc=joro@8bytes.org \
    --cc=js1304@gmail.com \
    --cc=kvalo@qca.qualcomm.com \
    --cc=lenb@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=long.wanglong@huawei.com \
    --cc=luciano.coelho@intel.com \
    --cc=luto@amacapital.net \
    --cc=marcel@holtmann.org \
    --cc=mcgrof@do-not-panic.com \
    --cc=mchehab@osg.samsung.com \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.com \
    --cc=mickflemm@gmail.com \
    --cc=mingo@kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=nmusini@cisco.com \
    --cc=patches@opensource.wolfsonmicro.com \
    --cc=perex@perex.cz \
    --cc=peterz@infradead.org \
    --cc=rf@opensource.wolfsonmicro.com \
    --cc=rjw@rjwysocki.net \
    --cc=rostedt@goodmis.org \
    --cc=sasha.levin@oracle.com \
    --cc=sboyd@codeaurora.org \
    --cc=sebaddel@cisco.com \
    --cc=sebott@linux.vnet.ibm.com \
    --cc=sgruszka@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=tiwai@suse.com \
    --cc=tj@kernel.org \
    --cc=tomas.winkler@intel.com \
    --cc=vbabka@suse.cz \
    --cc=viresh.kumar@linaro.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).