Thanks Ben, I will send an updated version. About rejecting high bits in drivers that don't support them: a basic fix (in a separate patch series) could be something like follows in ethtool_set_settings callbacks: if (ecmd->advertising_hi) return -EINVAL; with comments. But I don't find it very nice. Or: allocate a new net_device::priv_flags bit and ask net/core/ethtool.c to accept high advertising bits only when this flag is set? Any preference/other options? Related: lately, each new class of link modes declared == 4 new bits allocated. At current pace these 16 new bits buy us only 4 new classes, ie. a little more than 5 years if I extrapolate from the recent past. Is the longer term plan to create a new ethtool ioctl command specialized in link modes with variable length masks? Or to switch to a brand new netlink interface altogether and take advantage of that to revisit the link mode reporting/configuration with variable length masks? On Sun, Jan 4, 2015 at 6:30 PM, Ben Hutchings <ben@xxxxxxxxxxxxxxx> wrote: > On Mon, 2015-01-05 at 01:34 +0100, Maciej Żenczykowski wrote: >> >> I can send updates to other drivers, even though it's rather pointless >> >> to update 1G drivers at this point for example. Please let me know, >> >> but I'd prefer to do this in follow-up patches outside this first >> >> patch series. >> > [...] >> > >> > They should be changed to ensure they reject setting any of the high >> > advertising flags, but it's not urgent. >> >> if old drivers advertised a get/set_bits function while new drivers >> advertised a get/set_new_bits function, >> you could not updated any old drivers, and simply take care of >> rejecting invalid bits in core, by calling set_new_bits if provided, >> if not, rejecting bad bits and calling set_bits if no bad bits were >> set. > > We've never checked that the reserved fields are zero before, and I > think there are still drivers that don't fully validate the existing 32 > bits. So while I think drivers should fully validate the advertising > flags, userland generally can't assume they do. And therefore I don't > think it's worth adding complexity to the ethtool core that only partly > fixes this. > > Ben. > > -- > Ben Hutchings > This sentence contradicts itself - no actually it doesn't. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html