lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 7 Mar 2020 10:20:39 -0800
From:   Randy Dunlap <rdunlap@...radead.org>
To:     Peter Willis <pwillis@...env.com>, linux-kernel@...r.kernel.org
Subject: Re: What kernel version does 'irq_set_irq_type' become available?

On 3/6/20 9:29 AM, Peter Willis wrote:
> Hello,
> 
> Is there a history diagram somewhere that shows where specific features appear in the codebase?

I don't know.

> Various online documentation for kernel driver development have references to functions that, in some cases, are either deprecated or do not yet exist in older versions of kernel source.
> 
> For example, I have written an interrupt service driver for an embedded application running on kernel version 2.6.21.  The original driver is level triggered and requires the driver to: 

2.6.21 was released in April of 2007.
It's a shame that someone (anyone) is still using it.


> a.) Temporarily disable the interrupt
> b.) Service the interrupt
> c.) Re-enable the interrupt
> 
> There was some desire for that driver to move to a more standard rising edge trigger.

Does the hardware work as (optionally; programmable) level triggered or edge triggered?
Usually not in my experience.
Usually one or the other.

> In that line of thought , the documentation suggests    ' irq_set_irq_type'  with flag     'IRQF_TRIGGER_RISING'.
> 
> That function was experimental at one point, and doesn't appear to be available in the 2.6.21 source.

No, in 2.6.21 it is named 'set_irq_type'.

I can't see that it was experimental.

> I did a      'find' -> 'while read' -> 'fgrep'  search to find the function declaration in headers but had no luck under 2.6.21 .
> 
> -- My specific questions --
> 
> Question 1.)   Is  'irq_set_irq_type'  still experimental ?

No.

> Question 2.)   At what version of the kernel source does the function appear?

It is named irq_set_irq_type in 2.6.39.  That's the earliest AFAICT.

> Question 3.)  If the function exists for  2.6.21  What headers are required to allow effective compilation?
> 

<linux/irq.h>

> 
> -- Notes and suggestions regarding kernel function documentation --
> 
> Note 1.) Perhaps functions should be documented with indications of what kernel versions they apply to.
> Note 2.) In function documentation, an indication of what headers to include supporting each specific function would be nice.

'grep' is really easy to use.

> Thank you for your time and comments,

Good luck.

-- 
~Randy

Powered by blists - more mailing lists