Re: linux-next: Tree for Oct 31 (vboxguest)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 31-10-18 16:51, Randy Dunlap wrote:
On 10/30/18 8:59 PM, Stephen Rothwell wrote:
Hi all,

Please do not add any v4.21/v5.1 code to your linux-next included trees
until after the merge window closes.

Changes since 20181030:



on i386:

ld: drivers/virt/vboxguest/vboxguest_core.o: in function `vbg_ioctl_hgcm_call':
vboxguest_core.c:(.text+0x212b): undefined reference to `vbg_hgcm_call32'

Are you perhaps using weird compiler options?

This call should be optimized out on i386 (and we rely on calls being
removed be dead code elimination to avoid #ifdefs in various places,
iow this is a normal thing to rely on) :

First we have:

	bool f32bit = false;

...

        switch (req_no_size) {
#ifdef CONFIG_COMPAT
        case VBG_IOCTL_HGCM_CALL_32(0):
                f32bit = true;
                /* Fall through */
#endif
        case VBG_IOCTL_HGCM_CALL(0):
                return vbg_ioctl_hgcm_call(gdev, session, f32bit, data);
	}

And then we also have:

static int vbg_ioctl_hgcm_call(struct vbg_dev *gdev,
                               struct vbg_session *session, bool f32bit,
                               struct vbg_ioctl_hgcm_call *call)
{
	...

        if (f32bit)
                ret = vbg_hgcm_call32(gdev, client_id,
                                      call->function, call->timeout_ms,
                                      VBG_IOCTL_HGCM_CALL_PARMS32(call),
                                      call->parm_count, &call->hdr.rc);
        else
                ret = vbg_hgcm_call(gdev, client_id,
                                    call->function, call->timeout_ms,
                                    VBG_IOCTL_HGCM_CALL_PARMS(call),
                                    call->parm_count, &call->hdr.rc);
}

So on i386 CONFIG_COMPAT is never set, this f32bit is a 0 const
and the compiler removes the if branch of the if ... else ...

This has been upstream like this since 4.16 without any problems sofar.

Regards,

Hans



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux