In the Linux kernel, the following vulnerability has been resolved:
iio: adc: ad7091r: Allow users to configure device events
AD7091R-5 devices are supported by the ad7091r-5 driver together with the ad7091r-base driver. Those drivers declared iio events for notifying user space when ADC readings fall bellow the thresholds of low limit registers or above the values set in high limit registers. However, to configure iio events and their thresholds, a set of callback functions must be implemented and those were not present until now. The consequence of trying to configure ad7091r-5 events without the proper callback functions was a null pointer dereference in the kernel because the pointers to the callback functions were not set.
Implement event configuration callbacks allowing users to read/write event thresholds and enable/disable event generation.
Since the event spec structs are generic to AD7091R devices, also move those from the ad7091r-5 driver the base driver so they can be reused when support for ad7091r-2/-4/-8 be added.
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@137568aa540a9f587c48ff7d4c51cdba08cfe9a4",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.h"
},
"id": "CVE-2023-52627-07e080f6",
"digest": {
"threshold": 0.9,
"line_hashes": [
"115513537795065487117195550417643856929",
"38946125998864765334960132254467595252",
"110552970249147608176309087422564150227",
"16629219398809330705345809794785596028"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@137568aa540a9f587c48ff7d4c51cdba08cfe9a4",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.c"
},
"id": "CVE-2023-52627-134e9860",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248444587355281163281790012421423274037",
"23311452312414162642752444105212855531",
"194010503161077029937448814441608407481",
"133868320275745826766547481302943531434",
"81881217619802947175485539858222174214",
"1662440015141767661233563654881199126",
"166824342896539509120965768535975640838",
"57734864923350420662502194286268542036",
"331095503794136092944908905948337161276"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89c4e63324e208a23098f7fb15c00487cecbfed2",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.h"
},
"id": "CVE-2023-52627-1cc798e6",
"digest": {
"threshold": 0.9,
"line_hashes": [
"115513537795065487117195550417643856929",
"38946125998864765334960132254467595252",
"110552970249147608176309087422564150227",
"16629219398809330705345809794785596028"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@55aca2ce91a63740278502066beaddbd841af9c6",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.h"
},
"id": "CVE-2023-52627-1ddab8f6",
"digest": {
"threshold": 0.9,
"line_hashes": [
"115513537795065487117195550417643856929",
"38946125998864765334960132254467595252",
"110552970249147608176309087422564150227",
"16629219398809330705345809794785596028"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89c4e63324e208a23098f7fb15c00487cecbfed2",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r5.c"
},
"id": "CVE-2023-52627-2ea41cb9",
"digest": {
"threshold": 0.9,
"line_hashes": [
"201509124973423442413492007519072327630",
"165112471352434496024420308048688066114",
"150159293972401024479712110885995175966",
"154903232579311549573434695075353759504",
"300887592667377349399639293380273887378",
"73633709850482294140939909138643552388",
"103935248741345485625881990222542061472",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"73762371896577889912711328713350856096",
"191426971368043222620659272882270073938",
"182384488341113549059087111007291056265",
"64125085366781073495409206750085266970",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"329060494850148372067326800378171400217",
"141500047618640370847083362881562384698",
"57334413811747141035212947924959030428",
"88194188438449194725357578793652678116",
"157507169957859018546838636747256762065",
"38393555167715205749242963292742020872",
"80591644275284416878995890518333225192",
"271658746803588715554592341918764873302",
"185726917178154145127937119235951645354",
"90908753468471641937006882479558570637",
"308300345075242939420551367186351030770",
"137197357807486070533309864521723868457",
"296032977712369160034786750024824084757",
"181358575340510038557870434178560975094"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@49f322ce1f265935f15e5512da69a399f27a5091",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r5.c"
},
"id": "CVE-2023-52627-36c14818",
"digest": {
"threshold": 0.9,
"line_hashes": [
"201509124973423442413492007519072327630",
"165112471352434496024420308048688066114",
"150159293972401024479712110885995175966",
"154903232579311549573434695075353759504",
"300887592667377349399639293380273887378",
"73633709850482294140939909138643552388",
"103935248741345485625881990222542061472",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"73762371896577889912711328713350856096",
"191426971368043222620659272882270073938",
"182384488341113549059087111007291056265",
"64125085366781073495409206750085266970",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"329060494850148372067326800378171400217",
"141500047618640370847083362881562384698",
"57334413811747141035212947924959030428",
"88194188438449194725357578793652678116",
"157507169957859018546838636747256762065",
"38393555167715205749242963292742020872",
"80591644275284416878995890518333225192",
"271658746803588715554592341918764873302",
"185726917178154145127937119235951645354",
"90908753468471641937006882479558570637",
"308300345075242939420551367186351030770",
"137197357807486070533309864521723868457",
"296032977712369160034786750024824084757",
"181358575340510038557870434178560975094"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@49f322ce1f265935f15e5512da69a399f27a5091",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.h"
},
"id": "CVE-2023-52627-3d4d4d8d",
"digest": {
"threshold": 0.9,
"line_hashes": [
"115513537795065487117195550417643856929",
"38946125998864765334960132254467595252",
"110552970249147608176309087422564150227",
"16629219398809330705345809794785596028"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@55aca2ce91a63740278502066beaddbd841af9c6",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r5.c"
},
"id": "CVE-2023-52627-40d3bbae",
"digest": {
"threshold": 0.9,
"line_hashes": [
"201509124973423442413492007519072327630",
"165112471352434496024420308048688066114",
"150159293972401024479712110885995175966",
"154903232579311549573434695075353759504",
"300887592667377349399639293380273887378",
"73633709850482294140939909138643552388",
"103935248741345485625881990222542061472",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"73762371896577889912711328713350856096",
"191426971368043222620659272882270073938",
"182384488341113549059087111007291056265",
"64125085366781073495409206750085266970",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"329060494850148372067326800378171400217",
"141500047618640370847083362881562384698",
"57334413811747141035212947924959030428",
"88194188438449194725357578793652678116",
"157507169957859018546838636747256762065",
"38393555167715205749242963292742020872",
"80591644275284416878995890518333225192",
"271658746803588715554592341918764873302",
"185726917178154145127937119235951645354",
"90908753468471641937006882479558570637",
"308300345075242939420551367186351030770",
"137197357807486070533309864521723868457",
"296032977712369160034786750024824084757",
"181358575340510038557870434178560975094"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@020e71c7ffc25dfe29ed9be6c2d39af7bd7f661f",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r5.c"
},
"id": "CVE-2023-52627-43abb491",
"digest": {
"threshold": 0.9,
"line_hashes": [
"201509124973423442413492007519072327630",
"165112471352434496024420308048688066114",
"150159293972401024479712110885995175966",
"154903232579311549573434695075353759504",
"300887592667377349399639293380273887378",
"73633709850482294140939909138643552388",
"103935248741345485625881990222542061472",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"73762371896577889912711328713350856096",
"191426971368043222620659272882270073938",
"182384488341113549059087111007291056265",
"64125085366781073495409206750085266970",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"329060494850148372067326800378171400217",
"141500047618640370847083362881562384698",
"57334413811747141035212947924959030428",
"88194188438449194725357578793652678116",
"157507169957859018546838636747256762065",
"38393555167715205749242963292742020872",
"80591644275284416878995890518333225192",
"271658746803588715554592341918764873302",
"185726917178154145127937119235951645354",
"90908753468471641937006882479558570637",
"308300345075242939420551367186351030770",
"137197357807486070533309864521723868457",
"296032977712369160034786750024824084757",
"181358575340510038557870434178560975094"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@020e71c7ffc25dfe29ed9be6c2d39af7bd7f661f",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.h"
},
"id": "CVE-2023-52627-58bca88e",
"digest": {
"threshold": 0.9,
"line_hashes": [
"115513537795065487117195550417643856929",
"38946125998864765334960132254467595252",
"110552970249147608176309087422564150227",
"16629219398809330705345809794785596028"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1eba6f7ffa295a0eec098c107043074be7cc4ec5",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r5.c"
},
"id": "CVE-2023-52627-5ae9cc36",
"digest": {
"threshold": 0.9,
"line_hashes": [
"201509124973423442413492007519072327630",
"165112471352434496024420308048688066114",
"150159293972401024479712110885995175966",
"154903232579311549573434695075353759504",
"300887592667377349399639293380273887378",
"73633709850482294140939909138643552388",
"103935248741345485625881990222542061472",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"73762371896577889912711328713350856096",
"191426971368043222620659272882270073938",
"182384488341113549059087111007291056265",
"64125085366781073495409206750085266970",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"329060494850148372067326800378171400217",
"141500047618640370847083362881562384698",
"57334413811747141035212947924959030428",
"88194188438449194725357578793652678116",
"157507169957859018546838636747256762065",
"38393555167715205749242963292742020872",
"80591644275284416878995890518333225192",
"271658746803588715554592341918764873302",
"185726917178154145127937119235951645354",
"90908753468471641937006882479558570637",
"308300345075242939420551367186351030770",
"137197357807486070533309864521723868457",
"296032977712369160034786750024824084757",
"181358575340510038557870434178560975094"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@55aca2ce91a63740278502066beaddbd841af9c6",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.c"
},
"id": "CVE-2023-52627-5ce634d8",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248444587355281163281790012421423274037",
"23311452312414162642752444105212855531",
"194010503161077029937448814441608407481",
"133868320275745826766547481302943531434",
"81881217619802947175485539858222174214",
"1662440015141767661233563654881199126",
"166824342896539509120965768535975640838",
"57734864923350420662502194286268542036",
"331095503794136092944908905948337161276"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1eba6f7ffa295a0eec098c107043074be7cc4ec5",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.c"
},
"id": "CVE-2023-52627-804f1445",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248444587355281163281790012421423274037",
"23311452312414162642752444105212855531",
"194010503161077029937448814441608407481",
"133868320275745826766547481302943531434",
"81881217619802947175485539858222174214",
"1662440015141767661233563654881199126",
"166824342896539509120965768535975640838",
"57734864923350420662502194286268542036",
"331095503794136092944908905948337161276"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@89c4e63324e208a23098f7fb15c00487cecbfed2",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.c"
},
"id": "CVE-2023-52627-aa5c5362",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248444587355281163281790012421423274037",
"23311452312414162642752444105212855531",
"194010503161077029937448814441608407481",
"133868320275745826766547481302943531434",
"81881217619802947175485539858222174214",
"1662440015141767661233563654881199126",
"166824342896539509120965768535975640838",
"57734864923350420662502194286268542036",
"331095503794136092944908905948337161276"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1eba6f7ffa295a0eec098c107043074be7cc4ec5",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.h"
},
"id": "CVE-2023-52627-b168fd4a",
"digest": {
"threshold": 0.9,
"line_hashes": [
"115513537795065487117195550417643856929",
"38946125998864765334960132254467595252",
"110552970249147608176309087422564150227",
"16629219398809330705345809794785596028"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@020e71c7ffc25dfe29ed9be6c2d39af7bd7f661f",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.c"
},
"id": "CVE-2023-52627-bdea7105",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248444587355281163281790012421423274037",
"23311452312414162642752444105212855531",
"194010503161077029937448814441608407481",
"133868320275745826766547481302943531434",
"81881217619802947175485539858222174214",
"1662440015141767661233563654881199126",
"166824342896539509120965768535975640838",
"57734864923350420662502194286268542036",
"331095503794136092944908905948337161276"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@137568aa540a9f587c48ff7d4c51cdba08cfe9a4",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r5.c"
},
"id": "CVE-2023-52627-cc3e525b",
"digest": {
"threshold": 0.9,
"line_hashes": [
"201509124973423442413492007519072327630",
"165112471352434496024420308048688066114",
"150159293972401024479712110885995175966",
"154903232579311549573434695075353759504",
"300887592667377349399639293380273887378",
"73633709850482294140939909138643552388",
"103935248741345485625881990222542061472",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"73762371896577889912711328713350856096",
"191426971368043222620659272882270073938",
"182384488341113549059087111007291056265",
"64125085366781073495409206750085266970",
"204918924005080464783593212417895354581",
"325291074713769068212120416005790709773",
"329060494850148372067326800378171400217",
"141500047618640370847083362881562384698",
"57334413811747141035212947924959030428",
"88194188438449194725357578793652678116",
"157507169957859018546838636747256762065",
"38393555167715205749242963292742020872",
"80591644275284416878995890518333225192",
"271658746803588715554592341918764873302",
"185726917178154145127937119235951645354",
"90908753468471641937006882479558570637",
"308300345075242939420551367186351030770",
"137197357807486070533309864521723868457",
"296032977712369160034786750024824084757",
"181358575340510038557870434178560975094"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@49f322ce1f265935f15e5512da69a399f27a5091",
"signature_version": "v1",
"deprecated": false,
"target": {
"file": "drivers/iio/adc/ad7091r-base.c"
},
"id": "CVE-2023-52627-d1b4d551",
"digest": {
"threshold": 0.9,
"line_hashes": [
"248444587355281163281790012421423274037",
"23311452312414162642752444105212855531",
"194010503161077029937448814441608407481",
"133868320275745826766547481302943531434",
"81881217619802947175485539858222174214",
"1662440015141767661233563654881199126",
"166824342896539509120965768535975640838",
"57734864923350420662502194286268542036",
"331095503794136092944908905948337161276"
]
},
"signature_type": "Line"
}
]