LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name
@ 2018-04-06 18:58 Randy Dunlap
  2018-04-10  8:47 ` David Howells
  2018-04-10 13:50 ` Sasha Levin
  0 siblings, 2 replies; 4+ messages in thread
From: Randy Dunlap @ 2018-04-06 18:58 UTC (permalink / raw)
  To: David Howells
  Cc: LKML, James Morris, Serge E. Hallyn, keyrings, linux-security-module

From: Randy Dunlap <rdunlap@infradead.org>

Since this header is in "include/uapi/linux/", apparently people
want to use it in userspace programs -- even in C++ ones.
However, the header uses a C++ reserved keyword ("private"),
so change that to "dh_private" instead to allow the header file
to be used in C++ userspace.

Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=191051

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Cc: David Howells <dhowells@redhat.com>
Cc: James Morris <jmorris@namei.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>
Cc: keyrings@vger.kernel.org
Cc: linux-security-module@vger.kernel.org
---
 include/uapi/linux/keyctl.h |    2 +-
 security/keys/dh.c          |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- lnx-416.orig/include/uapi/linux/keyctl.h
+++ lnx-416/include/uapi/linux/keyctl.h
@@ -65,7 +65,7 @@
 
 /* keyctl structures */
 struct keyctl_dh_params {
-	__s32 private;
+	__s32 dh_private;
 	__s32 prime;
 	__s32 base;
 };
--- lnx-416.orig/security/keys/dh.c
+++ lnx-416/security/keys/dh.c
@@ -307,7 +307,7 @@ long __keyctl_dh_compute(struct keyctl_d
 	}
 	dh_inputs.g_size = dlen;
 
-	dlen = dh_data_from_key(pcopy.private, &dh_inputs.key);
+	dlen = dh_data_from_key(pcopy.dh_private, &dh_inputs.key);
 	if (dlen < 0) {
 		ret = dlen;
 		goto out2;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name
  2018-04-06 18:58 [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name Randy Dunlap
@ 2018-04-10  8:47 ` David Howells
  2018-04-11 16:01   ` Mat Martineau
  2018-04-10 13:50 ` Sasha Levin
  1 sibling, 1 reply; 4+ messages in thread
From: David Howells @ 2018-04-10  8:47 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: dhowells, LKML, James Morris, Serge E. Hallyn, keyrings,
	linux-security-module, Mat Martineau

Randy Dunlap <rdunlap@infradead.org> wrote:

> Since this header is in "include/uapi/linux/", apparently people
> want to use it in userspace programs -- even in C++ ones.
> However, the header uses a C++ reserved keyword ("private"),
> so change that to "dh_private" instead to allow the header file
> to be used in C++ userspace.
> 
> Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=191051

Ugh.  Yeah.  This is a UAPI breaker, but I think we have to do it, despite it
being 2 years old.  Maybe wrap that element in a #ifdef so it's still allowed
in C?

cc'ing Mat Martineau as he's the originator of the structure.

David

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name
  2018-04-06 18:58 [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name Randy Dunlap
  2018-04-10  8:47 ` David Howells
@ 2018-04-10 13:50 ` Sasha Levin
  1 sibling, 0 replies; 4+ messages in thread
From: Sasha Levin @ 2018-04-10 13:50 UTC (permalink / raw)
  To: Sasha Levin, Randy Dunlap, Randy Dunlap, David Howells
  Cc: LKML, David Howells, James Morris, Serge E. Hallyn, keyrings,
	linux-security-module, stable

Hi,

[This is an automated email]

This commit has been processed because it contains a "Fixes:" tag,
fixing commit: .

The bot has also determined it's probably a bug fixing patch. (score: 15.7018)

The bot has tested the following trees: v4.16.1, v4.15.16, v4.14.33, v4.9.93, v4.4.127.

v4.16.1: Build OK!
v4.15.16: Build OK!
v4.14.33: Build OK!
v4.9.93: Failed to apply! Possible dependencies:
    7cbe0932c2f2 ("KEYS: Convert KEYCTL_DH_COMPUTE to use the crypto KPP API")

v4.4.127: Failed to apply! Possible dependencies:
    7cbe0932c2f2 ("KEYS: Convert KEYCTL_DH_COMPUTE to use the crypto KPP API")
    ddbb41148724 ("KEYS: Add KEYCTL_DH_COMPUTE command")


--
Thanks,
Sasha

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name
  2018-04-10  8:47 ` David Howells
@ 2018-04-11 16:01   ` Mat Martineau
  0 siblings, 0 replies; 4+ messages in thread
From: Mat Martineau @ 2018-04-11 16:01 UTC (permalink / raw)
  To: David Howells
  Cc: Randy Dunlap, LKML, James Morris, Serge E. Hallyn, keyrings,
	linux-security-module


On Tue, 10 Apr 2018, David Howells wrote:

> Randy Dunlap <rdunlap@infradead.org> wrote:
>
>> Since this header is in "include/uapi/linux/", apparently people
>> want to use it in userspace programs -- even in C++ ones.
>> However, the header uses a C++ reserved keyword ("private"),
>> so change that to "dh_private" instead to allow the header file
>> to be used in C++ userspace.
>>
>> Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=191051
>
> Ugh.  Yeah.  This is a UAPI breaker, but I think we have to do it, despite it
> being 2 years old.  Maybe wrap that element in a #ifdef so it's still allowed
> in C?
>
> cc'ing Mat Martineau as he's the originator of the structure.

I agree with David's assessment.

The keyctl() system call wrapper is implemented in libkeyutils, which may 
reduce the need for the proposed ifdef. libkeyutils and its users don't 
require any updates if this patch is merged because it has its own 
keyword-free structure definition.

--
Mat Martineau
Intel OTC

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-04-11 16:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-06 18:58 [PATCH] uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name Randy Dunlap
2018-04-10  8:47 ` David Howells
2018-04-11 16:01   ` Mat Martineau
2018-04-10 13:50 ` Sasha Levin

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).