Message ID | 1594088791-27370-7-git-send-email-zohar@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ima-evm-utils: miscellanous code clean up and bug fixes | expand |
Hi Mimi, On Mon, Jul 06, 2020 at 10:26:31PM -0400, Mimi Zohar wrote: > Some older system kernel header packages don't necessarily include > hash_info.h. > > Signed-off-by: Mimi Zohar <zohar@linux.ibm.com> > --- > src/Makefile.am | 2 +- > src/hash_info.gen | 43 +++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 44 insertions(+), 1 deletion(-) > > diff --git a/src/Makefile.am b/src/Makefile.am > index 36652427a8ec..9bbff5034ef4 100644 > --- a/src/Makefile.am > +++ b/src/Makefile.am > @@ -34,5 +34,5 @@ endif > > AM_CPPFLAGS = -I$(top_srcdir) -include config.h > > -CLEANFILES = hash_info.h > +CLEANFILES = hash_info.h tmp_hash_info.h > DISTCLEANFILES = @DISTCLEANFILES@ > diff --git a/src/hash_info.gen b/src/hash_info.gen > index 54532ca5b847..5f7a97fb3117 100755 > --- a/src/hash_info.gen > +++ b/src/hash_info.gen > @@ -18,11 +18,54 @@ KERNEL_HEADERS=$1 > HASH_INFO_H=uapi/linux/hash_info.h > HASH_INFO=$KERNEL_HEADERS/include/$HASH_INFO_H > > +TMPHASHINFO="./tmp_hash_info.h" > +gen_hashinfo() { > +cat << __EOF__ >$TMPHASHINFO > +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ > +/* > + * Hash Info: Hash algorithms information > + * > + * Copyright (c) 2013 Dmitry Kasatkin <d.kasatkin@samsung.com> > + * > + * This program is free software; you can redistribute it and/or modify it > + * under the terms of the GNU General Public License as published by the Free > + * Software Foundation; either version 2 of the License, or (at your option) > + * any later version. > + * > + */ > + > +enum hash_algo { > + HASH_ALGO_MD4, > + HASH_ALGO_MD5, > + HASH_ALGO_SHA1, > + HASH_ALGO_RIPE_MD_160, > + HASH_ALGO_SHA256, > + HASH_ALGO_SHA384, > + HASH_ALGO_SHA512, > + HASH_ALGO_SHA224, > + HASH_ALGO_RIPE_MD_128, > + HASH_ALGO_RIPE_MD_256, > + HASH_ALGO_RIPE_MD_320, > + HASH_ALGO_WP_256, > + HASH_ALGO_WP_384, > + HASH_ALGO_WP_512, > + HASH_ALGO_TGR_128, > + HASH_ALGO_TGR_160, > + HASH_ALGO_TGR_192, > + HASH_ALGO_SM3_256, > + HASH_ALGO__LAST > +}; > +__EOF__ Just a minor point on HASH_ALGO_SM3_256: The old kernels that didn't export hash_info.h uapi didn't support HASH_ALGO_SM3_256 as well. Wouldn't it be better to also not include it in the tmp_hash_info considering it'll be used only by those running older kernels without SM3 support? Keeping it won't cause any issues though. So I'm fine with it either way.
On Wed, 2020-07-15 at 14:58 -0300, Bruno Meneguele wrote: > Hi Mimi, > > On Mon, Jul 06, 2020 at 10:26:31PM -0400, Mimi Zohar wrote: > > Some older system kernel header packages don't necessarily include > > hash_info.h. > > > > Signed-off-by: Mimi Zohar <zohar@linux.ibm.com> > > --- > > src/Makefile.am | 2 +- > > src/hash_info.gen | 43 +++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 44 insertions(+), 1 deletion(-) > > > > diff --git a/src/Makefile.am b/src/Makefile.am > > index 36652427a8ec..9bbff5034ef4 100644 > > --- a/src/Makefile.am > > +++ b/src/Makefile.am > > @@ -34,5 +34,5 @@ endif > > > > AM_CPPFLAGS = -I$(top_srcdir) -include config.h > > > > -CLEANFILES = hash_info.h > > +CLEANFILES = hash_info.h tmp_hash_info.h > > DISTCLEANFILES = @DISTCLEANFILES@ > > diff --git a/src/hash_info.gen b/src/hash_info.gen > > index 54532ca5b847..5f7a97fb3117 100755 > > --- a/src/hash_info.gen > > +++ b/src/hash_info.gen > > @@ -18,11 +18,54 @@ KERNEL_HEADERS=$1 > > HASH_INFO_H=uapi/linux/hash_info.h > > HASH_INFO=$KERNEL_HEADERS/include/$HASH_INFO_H > > > > +TMPHASHINFO="./tmp_hash_info.h" > > +gen_hashinfo() { > > +cat << __EOF__ >$TMPHASHINFO > > +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ > > +/* > > + * Hash Info: Hash algorithms information > > + * > > + * Copyright (c) 2013 Dmitry Kasatkin <d.kasatkin@samsung.com> > > + * > > + * This program is free software; you can redistribute it and/or modify it > > + * under the terms of the GNU General Public License as published by the Free > > + * Software Foundation; either version 2 of the License, or (at your option) > > + * any later version. > > + * > > + */ > > + > > +enum hash_algo { > > + HASH_ALGO_MD4, > > + HASH_ALGO_MD5, > > + HASH_ALGO_SHA1, > > + HASH_ALGO_RIPE_MD_160, > > + HASH_ALGO_SHA256, > > + HASH_ALGO_SHA384, > > + HASH_ALGO_SHA512, > > + HASH_ALGO_SHA224, > > + HASH_ALGO_RIPE_MD_128, > > + HASH_ALGO_RIPE_MD_256, > > + HASH_ALGO_RIPE_MD_320, > > + HASH_ALGO_WP_256, > > + HASH_ALGO_WP_384, > > + HASH_ALGO_WP_512, > > + HASH_ALGO_TGR_128, > > + HASH_ALGO_TGR_160, > > + HASH_ALGO_TGR_192, > > + HASH_ALGO_SM3_256, > > + HASH_ALGO__LAST > > +}; > > +__EOF__ > > Just a minor point on HASH_ALGO_SM3_256: > > The old kernels that didn't export hash_info.h uapi didn't support > HASH_ALGO_SM3_256 as well. Wouldn't it be better to also not include it > in the tmp_hash_info considering it'll be used only by those running > older kernels without SM3 support? > > Keeping it won't cause any issues though. So I'm fine with it either > way. I was debating which version to use, but couldn't decide. For distros that probably is true, but I'm not sure about embedded. Commit ceecb28d3b52 ("ima-evm-utils: add SM3 to pkey_hash_algo algorithm list") updated pkey_hash_algo[]. As it doesn't hurt, let's just keep it. Mimi
On Wed, Jul 15, 2020 at 03:28:58PM -0400, Mimi Zohar wrote: > On Wed, 2020-07-15 at 14:58 -0300, Bruno Meneguele wrote: > > Hi Mimi, > > > > On Mon, Jul 06, 2020 at 10:26:31PM -0400, Mimi Zohar wrote: > > > Some older system kernel header packages don't necessarily include > > > hash_info.h. > > > > > > Signed-off-by: Mimi Zohar <zohar@linux.ibm.com> > > > --- > > > src/Makefile.am | 2 +- > > > src/hash_info.gen | 43 +++++++++++++++++++++++++++++++++++++++++++ > > > 2 files changed, 44 insertions(+), 1 deletion(-) > > > > > > diff --git a/src/Makefile.am b/src/Makefile.am > > > index 36652427a8ec..9bbff5034ef4 100644 > > > --- a/src/Makefile.am > > > +++ b/src/Makefile.am > > > @@ -34,5 +34,5 @@ endif > > > > > > AM_CPPFLAGS = -I$(top_srcdir) -include config.h > > > > > > -CLEANFILES = hash_info.h > > > +CLEANFILES = hash_info.h tmp_hash_info.h > > > DISTCLEANFILES = @DISTCLEANFILES@ > > > diff --git a/src/hash_info.gen b/src/hash_info.gen > > > index 54532ca5b847..5f7a97fb3117 100755 > > > --- a/src/hash_info.gen > > > +++ b/src/hash_info.gen > > > @@ -18,11 +18,54 @@ KERNEL_HEADERS=$1 > > > HASH_INFO_H=uapi/linux/hash_info.h > > > HASH_INFO=$KERNEL_HEADERS/include/$HASH_INFO_H > > > > > > +TMPHASHINFO="./tmp_hash_info.h" > > > +gen_hashinfo() { > > > +cat << __EOF__ >$TMPHASHINFO > > > +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ > > > +/* > > > + * Hash Info: Hash algorithms information > > > + * > > > + * Copyright (c) 2013 Dmitry Kasatkin <d.kasatkin@samsung.com> > > > + * > > > + * This program is free software; you can redistribute it and/or modify it > > > + * under the terms of the GNU General Public License as published by the Free > > > + * Software Foundation; either version 2 of the License, or (at your option) > > > + * any later version. > > > + * > > > + */ > > > + > > > +enum hash_algo { > > > + HASH_ALGO_MD4, > > > + HASH_ALGO_MD5, > > > + HASH_ALGO_SHA1, > > > + HASH_ALGO_RIPE_MD_160, > > > + HASH_ALGO_SHA256, > > > + HASH_ALGO_SHA384, > > > + HASH_ALGO_SHA512, > > > + HASH_ALGO_SHA224, > > > + HASH_ALGO_RIPE_MD_128, > > > + HASH_ALGO_RIPE_MD_256, > > > + HASH_ALGO_RIPE_MD_320, > > > + HASH_ALGO_WP_256, > > > + HASH_ALGO_WP_384, > > > + HASH_ALGO_WP_512, > > > + HASH_ALGO_TGR_128, > > > + HASH_ALGO_TGR_160, > > > + HASH_ALGO_TGR_192, > > > + HASH_ALGO_SM3_256, > > > + HASH_ALGO__LAST > > > +}; > > > +__EOF__ > > > > Just a minor point on HASH_ALGO_SM3_256: > > > > The old kernels that didn't export hash_info.h uapi didn't support > > HASH_ALGO_SM3_256 as well. Wouldn't it be better to also not include it > > in the tmp_hash_info considering it'll be used only by those running > > older kernels without SM3 support? > > > > Keeping it won't cause any issues though. So I'm fine with it either > > way. > > I was debating which version to use, but couldn't decide. > > For distros that probably is true, but I'm not sure about embedded. > Commit ceecb28d3b52 ("ima-evm-utils: add SM3 to pkey_hash_algo > algorithm list") updated pkey_hash_algo[]. > > As it doesn't hurt, let's just keep it. > That's fine with me. Thanks.
diff --git a/src/Makefile.am b/src/Makefile.am index 36652427a8ec..9bbff5034ef4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -34,5 +34,5 @@ endif AM_CPPFLAGS = -I$(top_srcdir) -include config.h -CLEANFILES = hash_info.h +CLEANFILES = hash_info.h tmp_hash_info.h DISTCLEANFILES = @DISTCLEANFILES@ diff --git a/src/hash_info.gen b/src/hash_info.gen index 54532ca5b847..5f7a97fb3117 100755 --- a/src/hash_info.gen +++ b/src/hash_info.gen @@ -18,11 +18,54 @@ KERNEL_HEADERS=$1 HASH_INFO_H=uapi/linux/hash_info.h HASH_INFO=$KERNEL_HEADERS/include/$HASH_INFO_H +TMPHASHINFO="./tmp_hash_info.h" +gen_hashinfo() { +cat << __EOF__ >$TMPHASHINFO +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Hash Info: Hash algorithms information + * + * Copyright (c) 2013 Dmitry Kasatkin <d.kasatkin@samsung.com> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation; either version 2 of the License, or (at your option) + * any later version. + * + */ + +enum hash_algo { + HASH_ALGO_MD4, + HASH_ALGO_MD5, + HASH_ALGO_SHA1, + HASH_ALGO_RIPE_MD_160, + HASH_ALGO_SHA256, + HASH_ALGO_SHA384, + HASH_ALGO_SHA512, + HASH_ALGO_SHA224, + HASH_ALGO_RIPE_MD_128, + HASH_ALGO_RIPE_MD_256, + HASH_ALGO_RIPE_MD_320, + HASH_ALGO_WP_256, + HASH_ALGO_WP_384, + HASH_ALGO_WP_512, + HASH_ALGO_TGR_128, + HASH_ALGO_TGR_160, + HASH_ALGO_TGR_192, + HASH_ALGO_SM3_256, + HASH_ALGO__LAST +}; +__EOF__ +} + # Allow to specify kernel-headers past include/ if [ ! -e $HASH_INFO ]; then HASH_INFO2=$KERNEL_HEADERS/$HASH_INFO_H if [ -e $HASH_INFO2 ]; then HASH_INFO=$HASH_INFO2 + else + gen_hashinfo + HASH_INFO="$TMPHASHINFO" fi fi
Some older system kernel header packages don't necessarily include hash_info.h. Signed-off-by: Mimi Zohar <zohar@linux.ibm.com> --- src/Makefile.am | 2 +- src/hash_info.gen | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-)