Red Hat Bugzilla – Bug 453038
Missing functions in UP kernel
Last modified: 2009-01-20 15:25:43 EST
Description of problem:
Attempts to build a uni-processor (non-SMP) kernel fail due to the use of
Version-Release number of selected component (if applicable):
2.6.18-92.el5, 2.6.18-92.1.1.el5, 2.6.18-92.1.6.el5
Steps to Reproduce:
1. Unpack kernel-2.6.18-92.1.6.el5.src.rpm
2. Disable the SMP config option in kernel
3. Attempt to build kernel
crypto/chainiv.c: In function ‘chainiv_givencrypt’:
crypto/chainiv.c:63: error: implicit declaration of function ‘local_bh_disable’
crypto/chainiv.c:77: error: implicit declaration of function ‘local_bh_enable’
make: *** [crypto/chainiv.o] Error 1
Successful completion of kernel build.
Here's the situation:
File chainiv.c includes "linux/spinlock.h", which in turn includes different
header files depending on UP or SMP configurations:
# include <asm/spinlock.h>
# include <linux/spinlock_up.h>
That "linux/spinlock_up.h" file references the missing functions.
Just pretend I inserted that standard boilerplate here about how I know Red Hat
doesn't support user-configured kernels. Image also that I suggested Red Hat
might some day want to build a UP kernel, which is impossible with the code in
its current condition.
It is actually file "linux/spinlock_api_up.h" that references the "missing"
functions, not "linux/spinlock_up.h" as claimed above.
From a differnet location in spinlock.h:
#if defined(CONFIG_SMP) || defined(CONFIG_DEBUG_SPINLOCK)
# include <linux/spinlock_api_smp.h>
# include <linux/spinlock_api_up.h>
Sorry about the confusion.
Created attachment 310386 [details]
Add header file to satisfy need for function defs
Thanks Steve. :)
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
You can download this test kernel from http://people.redhat.com/dzickus/el5
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.