Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 195678 Details for
Bug 274353
net-fs/openafs-kernel-1.4.10 build fails "GPL-incompatible module libafs.ko uses GPL-only symbol '__rcu_read_unlock'"
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Avoid rcu_read_{un}lock if exported GPL
patch_rcu (text/plain), 3.84 KB, created by
Marc Dionne
on 2009-06-24 18:26:18 UTC
(
hide
)
Description:
Avoid rcu_read_{un}lock if exported GPL
Filename:
MIME Type:
Creator:
Marc Dionne
Created:
2009-06-24 18:26:18 UTC
Size:
3.84 KB
patch
obsolete
>diff -b -u -r ../pre11/openafs-1.4.11pre1/src/afs/afs_osi.c src/afs/afs_osi.c >--- ../pre11/openafs-1.4.11pre1/src/afs/afs_osi.c 2009-05-12 09:03:47.000000000 -0400 >+++ src/afs/afs_osi.c 2009-06-24 14:15:19.458005422 -0400 >@@ -850,7 +850,7 @@ > if (&tasklist_lock) > read_lock(&tasklist_lock); > #endif /* EXPORTED_TASKLIST_LOCK */ >-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) >+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK) > #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK) > else > #endif /* EXPORTED_TASKLIST_LOCK && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) */ >@@ -884,7 +884,7 @@ > if (&tasklist_lock) > read_unlock(&tasklist_lock); > #endif /* EXPORTED_TASKLIST_LOCK */ >-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) >+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16) && defined(EXPORTED_RCU_READ_LOCK) > #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) && defined(EXPORTED_TASKLIST_LOCK) > else > #endif /* EXPORTED_TASKLIST_LOCK && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) */ >@@ -1113,6 +1113,7 @@ > const struct AFS_UCRED * > afs_osi_proc2cred(AFS_PROC * pr) > { >+#if defined(EXPORTED_RCU_READ_LOCK) && !defined(LINUX_KEYRING_SUPPORT) > struct AFS_UCRED *rv = NULL; > static struct AFS_UCRED cr; > >@@ -1141,6 +1142,7 @@ > } > > return rv; >+#endif > } > #else > const struct AFS_UCRED * >diff -b -u -r ../pre11/openafs-1.4.11pre1/src/afs/afs_user.c src/afs/afs_user.c >--- ../pre11/openafs-1.4.11pre1/src/afs/afs_user.c 2006-12-20 15:09:06.000000000 -0500 >+++ src/afs/afs_user.c 2009-06-24 14:15:28.395239429 -0400 >@@ -552,7 +552,7 @@ > } /*afs_SetPrimary */ > > >-#if AFS_GCPAGS >+#if defined(AFS_GCPAGS) > > /* > * Called by osi_TraverseProcTable (from afs_GCPAGs) for each >diff -b -u -r ../pre11/openafs-1.4.11pre1/src/afs/LINUX/osi_groups.c src/afs/LINUX/osi_groups.c >--- ../pre11/openafs-1.4.11pre1/src/afs/LINUX/osi_groups.c 2009-03-23 11:17:02.000000000 -0400 >+++ src/afs/LINUX/osi_groups.c 2009-06-23 20:51:07.258620877 -0400 >@@ -228,7 +228,7 @@ > static struct key_type *__key_type_keyring = &key_type_keyring; > > static int >-install_session_keyring(struct task_struct *task, struct key *keyring) >+install_session_keyring(struct key *keyring) > { > struct key *old; > char desc[20]; >@@ -242,21 +242,21 @@ > > /* create an empty session keyring */ > not_in_quota = KEY_ALLOC_IN_QUOTA; >- sprintf(desc, "_ses.%u", task->tgid); >+ sprintf(desc, "_ses.%u", current->tgid); > > #if defined(KEY_ALLOC_NEEDS_STRUCT_TASK) > keyring = key_alloc(__key_type_keyring, desc, >- task_uid(task), task_gid(task), task, >+ current_uid(), current_gid(), current, > (KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL, > not_in_quota); > #elif defined(KEY_ALLOC_NEEDS_CRED) > keyring = key_alloc(__key_type_keyring, desc, >- task_uid(task), task_gid(task), current_cred(), >+ current_uid(), current_gid(), current_cred(), > (KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL, > not_in_quota); > #else > keyring = key_alloc(__key_type_keyring, desc, >- task_uid(task), task_gid(task), >+ current_uid(), current_gid(), > (KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_ALL, > not_in_quota); > #endif >@@ -273,11 +273,11 @@ > } > > /* install the keyring */ >- spin_lock_irq(&task->sighand->siglock); >- old = task_session_keyring(task); >+ spin_lock_irq(¤t->sighand->siglock); >+ old = task_session_keyring(current); > smp_wmb(); >- task_session_keyring(task) = keyring; >- spin_unlock_irq(&task->sighand->siglock); >+ task_session_keyring(current) = keyring; >+ spin_unlock_irq(¤t->sighand->siglock); > > if (old) > key_put(old); >@@ -340,7 +340,7 @@ > #ifdef LINUX_KEYRING_SUPPORT > if (code == 0) { > >- (void) install_session_keyring(current, NULL); >+ (void) install_session_keyring(NULL); > > if (current_session_keyring()) { > struct key *key;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 274353
:
195502
|
195504
|
195613
|
195659
|
195667
| 195678