2020-04-28 21:28:29

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] samples: fix binderfs sample

A routine check for misspelled Kconfig symbols showed on instance
from last year, the correct symbol name is CONFIG_ANDROID_BINDERFS,
not CONFIG_CONFIG_ANDROID_BINDERFS, so the extra prefix must
be removed in the Kconfig file to allow enabling the sample.

As the actual sample fails to build as a kernel module, change the
Makefile enough to get to build as a hostprog instead.

Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
Signed-off-by: Arnd Bergmann <[email protected]>
---
samples/Kconfig | 2 +-
samples/binderfs/Makefile | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/samples/Kconfig b/samples/Kconfig
index 5c31971a5745..e0b747cc90c9 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -171,7 +171,7 @@ config SAMPLE_VFIO_MDEV_MBOCHS

config SAMPLE_ANDROID_BINDERFS
bool "Build Android binderfs example"
- depends on CONFIG_ANDROID_BINDERFS
+ depends on ANDROID_BINDERFS
help
Builds a sample program to illustrate the use of the Android binderfs
filesystem.
diff --git a/samples/binderfs/Makefile b/samples/binderfs/Makefile
index ea4c93d36256..a3ac5476338a 100644
--- a/samples/binderfs/Makefile
+++ b/samples/binderfs/Makefile
@@ -1,2 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
-obj-$(CONFIG_SAMPLE_ANDROID_BINDERFS) += binderfs_example.o
+ifndef CROSS_COMPILE
+ifdef CONFIG_SAMPLE_ANDROID_BINDERFS
+hostprogs := binderfs_example
+endif
+endif
--
2.26.0


2020-04-29 03:56:29

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] samples: fix binderfs sample

Hi Arnd,


On Wed, Apr 29, 2020 at 6:26 AM Arnd Bergmann <[email protected]> wrote:
>
> A routine check for misspelled Kconfig symbols showed on instance
> from last year, the correct symbol name is CONFIG_ANDROID_BINDERFS,
> not CONFIG_CONFIG_ANDROID_BINDERFS, so the extra prefix must
> be removed in the Kconfig file to allow enabling the sample.
>
> As the actual sample fails to build as a kernel module, change the
> Makefile enough to get to build as a hostprog instead.
>
> Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---

Nice catch!


I am working on a new syntax 'userprogs'.

This builds programs for the target architecture
instead of the host.

Once, my series lands,
you can use 'userprogs', like this:
https://patchwork.kernel.org/patch/11515977/

Then 'ifndef CROSS_COMPILE' will go away.




--
Best Regards
Masahiro Yamada

2020-04-29 08:04:01

by Christian Brauner

[permalink] [raw]
Subject: Re: [PATCH] samples: fix binderfs sample

On Tue, Apr 28, 2020 at 11:25:33PM +0200, Arnd Bergmann wrote:
> A routine check for misspelled Kconfig symbols showed on instance
> from last year, the correct symbol name is CONFIG_ANDROID_BINDERFS,
> not CONFIG_CONFIG_ANDROID_BINDERFS, so the extra prefix must
> be removed in the Kconfig file to allow enabling the sample.
>
> As the actual sample fails to build as a kernel module, change the
> Makefile enough to get to build as a hostprog instead.
>
> Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
> Signed-off-by: Arnd Bergmann <[email protected]>

Thanks for fixing this Arnd!
Acked-by: Christian Brauner <[email protected]>

2020-05-05 15:50:20

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH] samples: fix binderfs sample

On Wed, 29 Apr 2020 10:01:13 +0200
Christian Brauner <[email protected]> wrote:

> On Tue, Apr 28, 2020 at 11:25:33PM +0200, Arnd Bergmann wrote:
> > A routine check for misspelled Kconfig symbols showed on instance
> > from last year, the correct symbol name is CONFIG_ANDROID_BINDERFS,
> > not CONFIG_CONFIG_ANDROID_BINDERFS, so the extra prefix must
> > be removed in the Kconfig file to allow enabling the sample.
> >
> > As the actual sample fails to build as a kernel module, change the
> > Makefile enough to get to build as a hostprog instead.
> >
> > Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
> > Signed-off-by: Arnd Bergmann <[email protected]>
>
> Thanks for fixing this Arnd!
> Acked-by: Christian Brauner <[email protected]>
>
I've applied this, thanks.

jon

2020-05-05 23:58:23

by Masahiro Yamada

[permalink] [raw]
Subject: Re: [PATCH] samples: fix binderfs sample

Hi Arnd,


On Wed, Apr 29, 2020 at 6:26 AM Arnd Bergmann <[email protected]> wrote:
>
> A routine check for misspelled Kconfig symbols showed on instance
> from last year, the correct symbol name is CONFIG_ANDROID_BINDERFS,
> not CONFIG_CONFIG_ANDROID_BINDERFS, so the extra prefix must
> be removed in the Kconfig file to allow enabling the sample.
>
> As the actual sample fails to build as a kernel module, change the
> Makefile enough to get to build as a hostprog instead.
>
> Fixes: 9762dc1432e1 ("samples: add binderfs sample program")
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
> samples/Kconfig | 2 +-
> samples/binderfs/Makefile | 6 +++++-
> 2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/samples/Kconfig b/samples/Kconfig
> index 5c31971a5745..e0b747cc90c9 100644
> --- a/samples/Kconfig
> +++ b/samples/Kconfig
> @@ -171,7 +171,7 @@ config SAMPLE_VFIO_MDEV_MBOCHS
>
> config SAMPLE_ANDROID_BINDERFS
> bool "Build Android binderfs example"
> - depends on CONFIG_ANDROID_BINDERFS
> + depends on ANDROID_BINDERFS
> help
> Builds a sample program to illustrate the use of the Android binderfs
> filesystem.
> diff --git a/samples/binderfs/Makefile b/samples/binderfs/Makefile
> index ea4c93d36256..a3ac5476338a 100644
> --- a/samples/binderfs/Makefile
> +++ b/samples/binderfs/Makefile
> @@ -1,2 +1,6 @@
> # SPDX-License-Identifier: GPL-2.0-only
> -obj-$(CONFIG_SAMPLE_ANDROID_BINDERFS) += binderfs_example.o
> +ifndef CROSS_COMPILE
> +ifdef CONFIG_SAMPLE_ANDROID_BINDERFS
> +hostprogs := binderfs_example
> +endif
> +endif
> --
> 2.26.0
>


binderfs_example.c includes <linux/android/binderfs.h>.

This uapi header is very new.

include/uapi/linux/android/binderfs.h was added by
commit c13295ad219d8bb0e47942d4cfc8251de449a67e
i.e. Linux 5.0


If this sample is compiled by a compiler with kernel headers
older than Linux 5.0, it will fail to build.


Documentation/process/changes.rst defines the minumal
GCC version, but the minimal kernel header version
is undefined.

Is there any criteria when to add
'-I usr/include' ?


At least, this is this case, I think.

--
Best Regards
Masahiro Yamada