Skip to content
  • David Johnson's avatar
    Update the Linux ipod module to compat with at least kernel 4.4.x . · f214a3ec
    David Johnson authored
    There were changes to the netfilter hook API in 4.1 and 4.4 to account
    for, but those were simple.  No hook params we rely on changed.
    
    There was a minor change to the proc handler table conventions back in
    2.6.33, but that wasn't a deal-breaker.  Anyway, "fixed".
    
    Much more bizarre was an apparent proc_dointvec change.  Since some
    kernel between Ubuntu 3.13 and Ubuntu 4.2, proc_dointvec's behavior
    changed (well, *something* changed!).  Some of our ipod sysctls
    ("icmp_ipod_host" and "icmp_ipod_mask") are uint32ts, but we have been
    using proc_dointvec to parse the values sent in from sysctl, probably
    forever.  So of course we regularly have to send in large negative
    values (i.e. 155.98.32.70, aka 0x9b622046, aka -1688068026).  At 3.13,
    proc_dointvec was happy to parse the hex version of that.  At 4.2, it is
    not happy to parse the hex, but it will parse decimal.  Well, we don't
    supply decimal in rc.ipod, just hex, and I don't want to fix it...
    f214a3ec