* Re: [PATCH] staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC
[not found] ` <YWbQd51r8R3BprMi@kroah.com>
@ 2021-10-13 12:51 ` Vegard Nossum
2021-10-13 13:03 ` Arnd Bergmann
0 siblings, 1 reply; 3+ messages in thread
From: Vegard Nossum @ 2021-10-13 12:51 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Arnd Bergmann, linux-staging, linux-kernel, Randy Dunlap,
Herbert Xu, David S. Miller, linux-crypto
On 10/13/21 2:26 PM, Greg Kroah-Hartman wrote:
> On Mon, Oct 11, 2021 at 05:29:41PM +0200, Vegard Nossum wrote:
>> Fix the following build/link errors:
>>
>> ld: drivers/staging/ks7010/ks_hostif.o: in function `michael_mic.constprop.0':
>> ks_hostif.c:(.text+0x95b): undefined reference to `crypto_alloc_shash'
>> ld: ks_hostif.c:(.text+0x97a): undefined reference to `crypto_shash_setkey'
>> ld: ks_hostif.c:(.text+0xa13): undefined reference to `crypto_shash_update'
>> ld: ks_hostif.c:(.text+0xa28): undefined reference to `crypto_shash_update'
>> ld: ks_hostif.c:(.text+0xa48): undefined reference to `crypto_shash_finup'
>> ld: ks_hostif.c:(.text+0xa6d): undefined reference to `crypto_destroy_tfm'
>>
>> Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
>> ---
>> drivers/staging/ks7010/Kconfig | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/staging/ks7010/Kconfig b/drivers/staging/ks7010/Kconfig
>> index 0987fdc2f70db..8ea6c09286798 100644
>> --- a/drivers/staging/ks7010/Kconfig
>> +++ b/drivers/staging/ks7010/Kconfig
>> @@ -5,6 +5,9 @@ config KS7010
>> select WIRELESS_EXT
>> select WEXT_PRIV
>> select FW_LOADER
>> + select CRYPTO
>> + select CRYPTO_HASH
>> + select CRYPTO_MICHAEL_MIC
>
> Let's try to rely on 'depend' and not 'select' please.
I used 'select' because it seemed to be the established pattern for
these options. Compare:
$ find -name '*Kconfig*' | xargs git grep 'depends on CRYPTO$' | wc --lines
1
$ find -name '*Kconfig*' | xargs git grep 'select CRYPTO$' | wc --lines
66
$ find -name '*Kconfig*' | xargs git grep 'depends on CRYPTO' | wc --lines
87
$ find -name '*Kconfig*' | xargs git grep 'select CRYPTO' | wc --lines
1005
That said, I have found several other cases where CRYPTO_* algorithms
are getting 'select'-ed without also selecting CRYPTO/CRYPTO_HASH, so I
definitely see the problem you're trying to address.
I've added some more people on Cc to see if there is a consensus on the
best way to do this for the CRYPTO* options going forwards. Thoughts,
anybody?
Vegard
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC
2021-10-13 12:51 ` [PATCH] staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC Vegard Nossum
@ 2021-10-13 13:03 ` Arnd Bergmann
2021-10-13 13:11 ` Greg Kroah-Hartman
0 siblings, 1 reply; 3+ messages in thread
From: Arnd Bergmann @ 2021-10-13 13:03 UTC (permalink / raw)
To: Vegard Nossum
Cc: Greg Kroah-Hartman, Arnd Bergmann, linux-staging,
Linux Kernel Mailing List, Randy Dunlap, Herbert Xu,
David S. Miller, open list:HARDWARE RANDOM NUMBER GENERATOR CORE
On Wed, Oct 13, 2021 at 2:51 PM Vegard Nossum <vegard.nossum@oracle.com> wrote:
> On 10/13/21 2:26 PM, Greg Kroah-Hartman wrote:
> > On Mon, Oct 11, 2021 at 05:29:41PM +0200, Vegard Nossum wrote:
> >> Fix the following build/link errors:
> >>
> >> ld: drivers/staging/ks7010/ks_hostif.o: in function `michael_mic.constprop.0':
> >> ks_hostif.c:(.text+0x95b): undefined reference to `crypto_alloc_shash'
> >> ld: ks_hostif.c:(.text+0x97a): undefined reference to `crypto_shash_setkey'
> >> ld: ks_hostif.c:(.text+0xa13): undefined reference to `crypto_shash_update'
> >> ld: ks_hostif.c:(.text+0xa28): undefined reference to `crypto_shash_update'
> >> ld: ks_hostif.c:(.text+0xa48): undefined reference to `crypto_shash_finup'
> >> ld: ks_hostif.c:(.text+0xa6d): undefined reference to `crypto_destroy_tfm'
> >>
> >> Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
> >> ---
> >> drivers/staging/ks7010/Kconfig | 3 +++
> >> 1 file changed, 3 insertions(+)
> >>
> >> diff --git a/drivers/staging/ks7010/Kconfig b/drivers/staging/ks7010/Kconfig
> >> index 0987fdc2f70db..8ea6c09286798 100644
> >> --- a/drivers/staging/ks7010/Kconfig
> >> +++ b/drivers/staging/ks7010/Kconfig
> >> @@ -5,6 +5,9 @@ config KS7010
> >> select WIRELESS_EXT
> >> select WEXT_PRIV
> >> select FW_LOADER
> >> + select CRYPTO
> >> + select CRYPTO_HASH
> >> + select CRYPTO_MICHAEL_MIC
> >
> > Let's try to rely on 'depend' and not 'select' please.
>
> I used 'select' because it seemed to be the established pattern for
> these options.
Yes, this is the correct way to do it here. In general, using "depends on"
is better than "select", especially when crossing subsystem boundaries,
however mixing the two is what really hurts because of the circular
dependencies you'd get.
The only way we could use 'depends on' here would be to change all
the other drivers to do the same.
> Compare:
>
> $ find -name '*Kconfig*' | xargs git grep 'depends on CRYPTO$' | wc --lines
> 1
>
> $ find -name '*Kconfig*' | xargs git grep 'select CRYPTO$' | wc --lines
> 66
>
> $ find -name '*Kconfig*' | xargs git grep 'depends on CRYPTO' | wc --lines
> 87
>
> $ find -name '*Kconfig*' | xargs git grep 'select CRYPTO' | wc --lines
> 1005
>
> That said, I have found several other cases where CRYPTO_* algorithms
> are getting 'select'-ed without also selecting CRYPTO/CRYPTO_HASH, so I
> definitely see the problem you're trying to address.
>
> I've added some more people on Cc to see if there is a consensus on the
> best way to do this for the CRYPTO* options going forwards. Thoughts,
> anybody?
I don't think there is much point in trying to change the
existing pattern for crypto. We might want to change some of those
that use 'depends on' at the moment for consistency, though most of
those look correct as well.
Arnd
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC
2021-10-13 13:03 ` Arnd Bergmann
@ 2021-10-13 13:11 ` Greg Kroah-Hartman
0 siblings, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2021-10-13 13:11 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Vegard Nossum, linux-staging, Linux Kernel Mailing List,
Randy Dunlap, Herbert Xu, David S. Miller,
open list:HARDWARE RANDOM NUMBER GENERATOR CORE
On Wed, Oct 13, 2021 at 03:03:41PM +0200, Arnd Bergmann wrote:
> On Wed, Oct 13, 2021 at 2:51 PM Vegard Nossum <vegard.nossum@oracle.com> wrote:
> > On 10/13/21 2:26 PM, Greg Kroah-Hartman wrote:
> > > On Mon, Oct 11, 2021 at 05:29:41PM +0200, Vegard Nossum wrote:
> > >> Fix the following build/link errors:
> > >>
> > >> ld: drivers/staging/ks7010/ks_hostif.o: in function `michael_mic.constprop.0':
> > >> ks_hostif.c:(.text+0x95b): undefined reference to `crypto_alloc_shash'
> > >> ld: ks_hostif.c:(.text+0x97a): undefined reference to `crypto_shash_setkey'
> > >> ld: ks_hostif.c:(.text+0xa13): undefined reference to `crypto_shash_update'
> > >> ld: ks_hostif.c:(.text+0xa28): undefined reference to `crypto_shash_update'
> > >> ld: ks_hostif.c:(.text+0xa48): undefined reference to `crypto_shash_finup'
> > >> ld: ks_hostif.c:(.text+0xa6d): undefined reference to `crypto_destroy_tfm'
> > >>
> > >> Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
> > >> ---
> > >> drivers/staging/ks7010/Kconfig | 3 +++
> > >> 1 file changed, 3 insertions(+)
> > >>
> > >> diff --git a/drivers/staging/ks7010/Kconfig b/drivers/staging/ks7010/Kconfig
> > >> index 0987fdc2f70db..8ea6c09286798 100644
> > >> --- a/drivers/staging/ks7010/Kconfig
> > >> +++ b/drivers/staging/ks7010/Kconfig
> > >> @@ -5,6 +5,9 @@ config KS7010
> > >> select WIRELESS_EXT
> > >> select WEXT_PRIV
> > >> select FW_LOADER
> > >> + select CRYPTO
> > >> + select CRYPTO_HASH
> > >> + select CRYPTO_MICHAEL_MIC
> > >
> > > Let's try to rely on 'depend' and not 'select' please.
> >
> > I used 'select' because it seemed to be the established pattern for
> > these options.
>
> Yes, this is the correct way to do it here. In general, using "depends on"
> is better than "select", especially when crossing subsystem boundaries,
> however mixing the two is what really hurts because of the circular
> dependencies you'd get.
>
> The only way we could use 'depends on' here would be to change all
> the other drivers to do the same.
>
> > Compare:
> >
> > $ find -name '*Kconfig*' | xargs git grep 'depends on CRYPTO$' | wc --lines
> > 1
> >
> > $ find -name '*Kconfig*' | xargs git grep 'select CRYPTO$' | wc --lines
> > 66
> >
> > $ find -name '*Kconfig*' | xargs git grep 'depends on CRYPTO' | wc --lines
> > 87
> >
> > $ find -name '*Kconfig*' | xargs git grep 'select CRYPTO' | wc --lines
> > 1005
> >
> > That said, I have found several other cases where CRYPTO_* algorithms
> > are getting 'select'-ed without also selecting CRYPTO/CRYPTO_HASH, so I
> > definitely see the problem you're trying to address.
> >
> > I've added some more people on Cc to see if there is a consensus on the
> > best way to do this for the CRYPTO* options going forwards. Thoughts,
> > anybody?
>
> I don't think there is much point in trying to change the
> existing pattern for crypto. We might want to change some of those
> that use 'depends on' at the moment for consistency, though most of
> those look correct as well.
Ok, I'll take this as-is then.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-10-13 13:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20211011152941.12847-1-vegard.nossum@oracle.com>
[not found] ` <YWbQd51r8R3BprMi@kroah.com>
2021-10-13 12:51 ` [PATCH] staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC Vegard Nossum
2021-10-13 13:03 ` Arnd Bergmann
2021-10-13 13:11 ` Greg Kroah-Hartman
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).