Re: [PATCH 0/2] key payload access with just rcu_read_lock()

From: Jan Stancek
Date: Mon Feb 27 2017 - 21:31:11 EST




----- Original Message -----
> From: "David Howells" <dhowells@xxxxxxxxxx>
> To: "Jan Stancek" <jstancek@xxxxxxxxxx>
> Cc: dhowells@xxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-nfs@xxxxxxxxxxxxxxx, bcodding@xxxxxxxxxx,
> asavkov@xxxxxxxxxx
> Sent: Monday, 27 February, 2017 11:04:21 PM
> Subject: Re: [PATCH 0/2] key payload access with just rcu_read_lock()
>
> Jan Stancek <jstancek@xxxxxxxxxx> wrote:
>
> > this is a follow-up for "suspicious RCU usage" warning described
> > in these 2 linux-nfs threads:
> > http://marc.info/?t=147558830300003&r=1&w=2
> > http://marc.info/?t=148776770500001&r=1&w=2
> >
> > Did you have something like in mind?
>
> How about the attached? It's similar to what you did, but I made the split
> functions different from the original so that all users have to reconsider
> what they actually want.
>
> David

Looks like there are still couple users that need updating,
I'm hitting following compilation error:

...
CC [M] fs/cifs/connect.o
fs/cifs/connect.c: In function âcifs_set_cifscredsâ:
fs/cifs/connect.c:2442:2: error: implicit declaration of function âuser_key_payloadâ [-Werror=implicit-function-declaration]
upayload = user_key_payload(key);
^
fs/cifs/connect.c:2442:11: error: assignment makes pointer from integer without a cast [-Werror]
upayload = user_key_payload(key);
^

# grep "user_key_payload(" -r . --include=*.c
./drivers/md/dm-crypt.c: ukp = user_key_payload(key);
./fs/cifs/connect.c: upayload = user_key_payload(key);
./fs/crypto/keyinfo.c: ukp = user_key_payload(keyring_key);
./lib/digsig.c: ukp = user_key_payload(key);

# grep "user_key_payload(" -r . --include=*.h
./fs/ecryptfs/ecryptfs_kernel.h: return (struct ecryptfs_auth_tok *)user_key_payload(key)->data;

Regards,
Jan