2013-05-20 00:51:44

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the rr-fixes tree

Hi Rusty,

After merging the rr-fixes tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/dma/iovlock.c: In function 'dma_pin_iovec_pages':
drivers/dma/iovlock.c:98:21: error: dereferencing pointer to incomplete type
down_read(&current->mm->mmap_sem);
^
drivers/dma/iovlock.c:101:11: error: dereferencing pointer to incomplete type
current->mm,
^
drivers/dma/iovlock.c:108:19: error: dereferencing pointer to incomplete type
up_read(&current->mm->mmap_sem);
^

Caused by commit 11227d242a8c ("Hoist memcpy_fromiovec/memcpy_toiovec
into lib/"). Clearly, net/tcp.h was indirectly including sched.h or
asm/current.h. Changing inclusions is fraught with problems since people
do not follow Rule 1 (in Documentation/SubmitChecklist) consistently. :-(

I have used the rr-fixes tree from next-20130515 (since the fix in
rr-fixes in next-20130516/7 conflicts with the better fix now in Linus'
tree) for today.

--
Cheers,
Stephen Rothwell [email protected]


Attachments:
(No filename) (1.04 kB)
(No filename) (836.00 B)
Download all attachments

2013-05-20 02:52:40

by Rusty Russell

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the rr-fixes tree

Stephen Rothwell <[email protected]> writes:
> Hi Rusty,
>
> After merging the rr-fixes tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> drivers/dma/iovlock.c: In function 'dma_pin_iovec_pages':
> drivers/dma/iovlock.c:98:21: error: dereferencing pointer to incomplete type
> down_read(&current->mm->mmap_sem);
> ^
> drivers/dma/iovlock.c:101:11: error: dereferencing pointer to incomplete type
> current->mm,
> ^
> drivers/dma/iovlock.c:108:19: error: dereferencing pointer to incomplete type
> up_read(&current->mm->mmap_sem);
> ^
>
> Caused by commit 11227d242a8c ("Hoist memcpy_fromiovec/memcpy_toiovec
> into lib/"). Clearly, net/tcp.h was indirectly including sched.h or
> asm/current.h. Changing inclusions is fraught with problems since people
> do not follow Rule 1 (in Documentation/SubmitChecklist) consistently. :-(

Yep, the 0day tester caught this too (it works on 32-bit unfortunately,
so I didn't see the problem).

I've not touched the #includes any more in my updated patch.

Cheers,
Rusty.