dch24 Tux's lil' helper
Joined: 15 Feb 2007 Posts: 99
|
Posted: Sat May 11, 2013 7:21 am Post subject: [SOLVED] Disappearing kernel symbols gentoo-sources-3.8.4 |
|
|
I just picked up a cheap Logitech C270 webcam but can't get v4l2 to compile. I'm using the in-kernel webcam drivers.
Code: | hostname linux-3.8.4-gentoo # modprobe uvcvideo
modprobe: ERROR: could not insert 'uvcvideo': Unknown symbol in module, or unknown parameter (see dmesg)
hostname linux-3.8.4-gentoo # dmesg | tail
[ 203.717280] cp (5328) used greatest stack depth: 3608 bytes left
[ 205.704202] EXT4-fs (sda1): re-mounted. Opts: data=ordered
[ 211.759531] ACPI: bus type usb registered
[ 211.759552] usbcore: registered new interface driver usbfs
[ 211.759559] usbcore: registered new interface driver hub
[ 211.759595] usbcore: registered new device driver usb
[ 211.760016] Linux video capture interface: v2.00
[ 211.760101] videobuf2_core: Unknown symbol dma_buf_get (err 0)
[ 211.760105] videobuf2_core: Unknown symbol dma_buf_put (err 0)
[ 211.760108] videobuf2_core: Unknown symbol dma_buf_fd (err 0)
hostname linux-3.8.4-gentoo # grep 'dma_buf_\(get\|put\|fd\)' drivers/base/dma-buf.c
* dma_buf_fd - returns a file descriptor for the given dma_buf
int dma_buf_fd(struct dma_buf *dmabuf, int flags)
EXPORT_SYMBOL_GPL(dma_buf_fd);
* dma_buf_get - returns the dma_buf structure related to an fd
struct dma_buf *dma_buf_get(int fd)
EXPORT_SYMBOL_GPL(dma_buf_get);
* dma_buf_put - decreases refcount of the buffer
void dma_buf_put(struct dma_buf *dmabuf)
EXPORT_SYMBOL_GPL(dma_buf_put);
hostname linux-3.8.4-gentoo # grep ' dma_buf' /proc/kallsyms
hostname linux-3.8.4-gentoo # grep ' dma_buf' System.map
ffffffff8120f93c t dma_buf_mmap_internal
ffffffff8120f97d T dma_buf_vunmap
ffffffff8120f9ac T dma_buf_vmap
ffffffff8120f9dd T dma_buf_kunmap
ffffffff8120fa28 T dma_buf_kmap
ffffffff8120fa5d T dma_buf_kunmap_atomic
ffffffff8120faa8 T dma_buf_kmap_atomic
ffffffff8120fadd T dma_buf_end_cpu_access
ffffffff8120fb30 T dma_buf_begin_cpu_access
ffffffff8120fb64 T dma_buf_mmap
ffffffff8120fc02 T dma_buf_put
ffffffff8120fc2e T dma_buf_unmap_attachment
ffffffff8120fc7f T dma_buf_map_attachment
ffffffff8120fcca T dma_buf_detach
ffffffff8120fd60 T dma_buf_get
ffffffff8120fd9b T dma_buf_fd
ffffffff8120fddd t dma_buf_release
ffffffff8120fe11 T dma_buf_export
ffffffff8120ff10 T dma_buf_attach
ffffffff81444370 r dma_buf_fops |
This is puzzling: System.map shows the kernel knows about the symbols, but in /proc/kallsyms they have disappeared. The symbols are all EXPORT_SYMBOL_GPL.
I considered the possibility that the kernel tree had something wrong, so I did the following (but nothing changed): Code: | rm -rf /usr/src/linux-3.8.4-gentoo
emerge -1 =gentoo-sources-3.8.4
cp saved-config /usr/src/linux-3.8.4/.config |
Is there something that is unexporting the dma_buf_ symbols?
Last edited by dch24 on Sat May 11, 2013 8:21 am; edited 2 times in total |
|