In the Linux kernel, the following vulnerability has been resolved:
mtd: rawnand: atmel: fix refcount issue in atmelnandcontroller_init
The reference counting issue happens in several error handling paths on a refcounted object "nc->dmac". In these paths, the function simply returns the error code, forgetting to balance the reference count of "nc->dmac", increased earlier by dmarequestchannel(), which may cause refcount leaks.
Fix it by decrementing the refcount of specific object in those error paths.
[
{
"id": "CVE-2022-49212-062beb3e",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fe0e2ce5c87e9c0b9485ff566362030aa55972cf",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-1e135969",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0856bf27057561f42b37df111603cf5a0d040294",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-2bfd02dc",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b08d211db4c447eb1a07df65e45e0aa772e0fa6",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-2d37860c",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f1694169f3674cdf7553aed06864254635679878",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-3fd407ce",
"deprecated": false,
"digest": {
"length": 1382.0,
"function_hash": "327673126665189625144026235043096120582"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8baea2b96fa90af8d0f937caf4cf2105ee094d93",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-70ca3b0f",
"deprecated": false,
"digest": {
"length": 1382.0,
"function_hash": "327673126665189625144026235043096120582"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fecbd4a317c95d73c849648c406bcf1b6a0ec1cf",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-7e9d3704",
"deprecated": false,
"digest": {
"length": 1382.0,
"function_hash": "327673126665189625144026235043096120582"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fe0e2ce5c87e9c0b9485ff566362030aa55972cf",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-82b3fbf7",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9843c9c98f26c6ad843260b19bfdaa2598f2ae1e",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-a692bc79",
"deprecated": false,
"digest": {
"length": 1444.0,
"function_hash": "303119910386791428087853986327517361134"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9843c9c98f26c6ad843260b19bfdaa2598f2ae1e",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-adae0b15",
"deprecated": false,
"digest": {
"length": 1382.0,
"function_hash": "327673126665189625144026235043096120582"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a3587259ae553e41d1ce8c7435351a5d6b299a11",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-b25ae3e4",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fecbd4a317c95d73c849648c406bcf1b6a0ec1cf",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-b2606d9e",
"deprecated": false,
"digest": {
"length": 1382.0,
"function_hash": "327673126665189625144026235043096120582"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f1694169f3674cdf7553aed06864254635679878",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-d7319a80",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8baea2b96fa90af8d0f937caf4cf2105ee094d93",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-dfc03764",
"deprecated": false,
"digest": {
"line_hashes": [
"128691844576998792230134536780551766258",
"243674474174687391875226631075317376230",
"253978640951242760251592290679828651601",
"267607752693169478263405092982421361849",
"252499705609680820371884105424079457612",
"188735456030069475214652794451646713711",
"260484710637424635989637418934507869868",
"49177214443460043016271219176561705445",
"197508590301344760570606942556656485894",
"311049745870490586925896238280392145078",
"223289341105136991231336723226878439312",
"331964166251095219144345104151891109660",
"52679289906913760892833483748799127539",
"40871188566960555797534865343993917120",
"14933069910252523033931221770245514599"
],
"threshold": 0.9
},
"signature_version": "v1",
"target": {
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a3587259ae553e41d1ce8c7435351a5d6b299a11",
"signature_type": "Line"
},
{
"id": "CVE-2022-49212-e7fac136",
"deprecated": false,
"digest": {
"length": 1392.0,
"function_hash": "171116903595703257343217983610713127118"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0856bf27057561f42b37df111603cf5a0d040294",
"signature_type": "Function"
},
{
"id": "CVE-2022-49212-ff8550b2",
"deprecated": false,
"digest": {
"length": 1444.0,
"function_hash": "303119910386791428087853986327517361134"
},
"signature_version": "v1",
"target": {
"function": "atmel_nand_controller_init",
"file": "drivers/mtd/nand/raw/atmel/nand-controller.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b08d211db4c447eb1a07df65e45e0aa772e0fa6",
"signature_type": "Function"
}
]