On 8/17/20 12:26 PM, Cong Wang wrote: > On Mon, Aug 17, 2020 at 12:00 PM Randy Dunlap <rdun...@infradead.org> wrote: >> >> On 8/17/20 11:55 AM, Cong Wang wrote: >>> On Mon, Aug 17, 2020 at 11:49 AM Randy Dunlap <rdun...@infradead.org> wrote: >>>> >>>> On 8/17/20 11:31 AM, Cong Wang wrote: >>>>> On Sun, Aug 16, 2020 at 11:37 PM Xin Long <lucien....@gmail.com> wrote: >>>>>> >>>>>> On Mon, Aug 17, 2020 at 2:29 AM Cong Wang <xiyou.wangc...@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> Or put it into struct ipv6_stub? >>>>>> Hi Cong, >>>>>> >>>>>> That could be one way. We may do it when this new function becomes more >>>>>> common. >>>>>> By now, I think it's okay to make TIPC depend on IPV6 || IPV6=n. >>>>> >>>>> I am not a fan of IPV6=m, but disallowing it for one symbol seems >>>>> too harsh. >>>> >>>> Hi, >>>> >>>> Maybe I'm not following you, but this doesn't disallow IPV6=m. >>> >>> Well, by "disallowing IPV6=m" I meant "disallowing IPV6=m when >>> enabling TIPC" for sure... Sorry that it misleads you to believe >>> completely disallowing IPV6=m globally. >>> >>>> >>>> It just restricts how TIPC can be built, so that >>>> TIPC=y and IPV6=m cannot happen together, which causes >>>> a build error. >>> >>> It also disallows TIPC=m and IPV6=m, right? In short, it disalows >>> IPV6=m when TIPC is enabled. And this is exactly what I complain, >>> as it looks too harsh. >> >> I haven't tested that specifically, but that should work. >> This patch won't prevent that from working. > > Please give it a try. I do not see how it allows IPV6=m and TIPC=m > but disallows IPV6=m and TIPC=y.
TIPC=m and IPV6=m builds just fine. Having tipc autoload ipv6 is a different problem. (IMO) This Kconfig entry: menuconfig TIPC tristate "The TIPC Protocol" depends on INET + depends on IPV6 || IPV6=n says: If IPV6=n, TIPC can be y/m/n. If IPV6=y/m, TIPC is limited to whatever IPV6 is set to. TIPC cannot be =y unless IPV6=y. >> We have loadable modules calling other loadable modules >> all over the kernel. > > True, we rely on request_module(). But I do not see TIPC calls > request_module() to request IPV6 module to load "ipv6_dev_find". -- ~Randy