CVE-2022-49739 (GCVE-0-2022-49739)

Vulnerability from cvelistv5 – Published: 2025-03-27 16:42 – Updated: 2026-08-05 08:56
VLAI
Title
gfs2: Always check inode size of inline inodes
Summary
In the Linux kernel, the following vulnerability has been resolved: gfs2: Always check inode size of inline inodes Check if the inode size of stuffed (inline) inodes is within the allowed range when reading inodes from disk (gfs2_dinode_in()). This prevents us from on-disk corruption. The two checks in stuffed_readpage() and gfs2_unstuffer_page() that just truncate inline data to the maximum allowed size don't actually make sense, and they can be removed now as well.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b3b94faa5fe5968827ba0640ee9fba4b3e7f736e , < 45df749f827c286adbc951f2a4865b67f0442ba9 (git)
Affected: b3b94faa5fe5968827ba0640ee9fba4b3e7f736e , < 4d4cb76636134bf9a0c9c3432dae936f99954586 (git)
Affected: b3b94faa5fe5968827ba0640ee9fba4b3e7f736e , < 7c414f6f06e9a3934901b6edc3177ae5a1e07094 (git)
Affected: b3b94faa5fe5968827ba0640ee9fba4b3e7f736e , < 46c9088cabd4d0469fdb61ac2a9c5003057fe94d (git)
Affected: b3b94faa5fe5968827ba0640ee9fba4b3e7f736e , < d458a0984429c2d47e60254f5bc4119cbafe83a2 (git)
Affected: b3b94faa5fe5968827ba0640ee9fba4b3e7f736e , < 70376c7ff31221f1d21db5611d8209e677781d3a (git)
guessed Create a notification for this product.
Linux Linux Affected: 2.6.19
Unaffected: 0 , < 2.6.19 (semver)
Unaffected: 4.19.280 , ≤ 4.19.* (semver)
Unaffected: 5.4.240 , ≤ 5.4.* (semver)
Unaffected: 5.10.177 , ≤ 5.10.* (semver)
Unaffected: 5.15.93 , ≤ 5.15.* (semver)
Unaffected: 6.1.11 , ≤ 6.1.* (semver)
Unaffected: 6.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/gfs2/aops.c",
            "fs/gfs2/bmap.c",
            "fs/gfs2/glops.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "45df749f827c286adbc951f2a4865b67f0442ba9",
              "status": "affected",
              "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
              "versionType": "git"
            },
            {
              "lessThan": "4d4cb76636134bf9a0c9c3432dae936f99954586",
              "status": "affected",
              "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
              "versionType": "git"
            },
            {
              "lessThan": "7c414f6f06e9a3934901b6edc3177ae5a1e07094",
              "status": "affected",
              "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
              "versionType": "git"
            },
            {
              "lessThan": "46c9088cabd4d0469fdb61ac2a9c5003057fe94d",
              "status": "affected",
              "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
              "versionType": "git"
            },
            {
              "lessThan": "d458a0984429c2d47e60254f5bc4119cbafe83a2",
              "status": "affected",
              "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
              "versionType": "git"
            },
            {
              "lessThan": "70376c7ff31221f1d21db5611d8209e677781d3a",
              "status": "affected",
              "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/gfs2/aops.c",
            "fs/gfs2/bmap.c",
            "fs/gfs2/glops.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.19"
            },
            {
              "lessThan": "2.6.19",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.280",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.240",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.177",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.93",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.280",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.240",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.177",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.93",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.11",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.2",
                  "versionStartIncluding": "2.6.19",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngfs2: Always check inode size of inline inodes\n\nCheck if the inode size of stuffed (inline) inodes is within the allowed\nrange when reading inodes from disk (gfs2_dinode_in()).  This prevents\nus from on-disk corruption.\n\nThe two checks in stuffed_readpage() and gfs2_unstuffer_page() that just\ntruncate inline data to the maximum allowed size don\u0027t actually make\nsense, and they can be removed now as well."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The flaw is reached by mounting or using a crafted GFS2 block device/image (mount \u2192 gfs2_fill_super \u2192 inode refresh \u2192 gfs2_dinode_in / iomap or directory stuffed reads); GFS2 has no network protocol front end that parses these dinode fields.\nAC:L - The attacker fully controls on-disk di_size, di_height, and related dinode fields, so an oversized stuffed inode size deterministically bypasses the missing gfs2_dinode_in() check and drives the OOB/WARN paths with no race or other condition outside attacker control.\nPR:N - The attacker only needs to supply a malicious GFS2 volume (USB/media, disk image, or shared/SAN LUN) and needs no account on the target; CAP_SYS_ADMIN required to mount (gfs2 lacks FS_USERNS_MOUNT) belongs to the victim who mounts it.\nUI:R - Exploitation requires a privileged user or automount/storage path to mount the attacker-supplied GFS2 volume so gfs2_dinode_in()/stuffed readers run; the bug is not reachable without that mount or subsequent access of the crafted inode.\nS:U - Out-of-bounds reads and WARN/withdraw occur in the host kernel on the mounting node; there is no VM escape, IOMMU bypass, or other cross-authority boundary crossing.\nC:H - Oversized stuffed sizes make iomap_read_inline_data and especially gfs2_dir_read_stuffed() memcpy past the dinode buffer into adjacent page/kernel memory (e.g. EXHASH stuffed dirs with i_size matching BIT(i_depth)*8), which is an unbounded OOB read enabling kernel memory disclosure.\nI:N - The reachable primitive is an out-of-bounds read (and WARN/-EIO); pre-fix truncations in stuffed_readpage()/gfs2_unstuffer_page() still capped write/unstuff copies, so there is no OOB write or UAF write primitive from this defect alone.\nA:H - syzbot demonstrates WARN_ON_ONCE in iomap_read_inline_data during mount, which panics under panic_on_warn, and corrupt stuffed inodes can withdraw/fail the mount or oops on the OOB read path, fully denying availability."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:56:11.211Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/45df749f827c286adbc951f2a4865b67f0442ba9"
        },
        {
          "url": "https://git.kernel.org/stable/c/4d4cb76636134bf9a0c9c3432dae936f99954586"
        },
        {
          "url": "https://git.kernel.org/stable/c/7c414f6f06e9a3934901b6edc3177ae5a1e07094"
        },
        {
          "url": "https://git.kernel.org/stable/c/46c9088cabd4d0469fdb61ac2a9c5003057fe94d"
        },
        {
          "url": "https://git.kernel.org/stable/c/d458a0984429c2d47e60254f5bc4119cbafe83a2"
        },
        {
          "url": "https://git.kernel.org/stable/c/70376c7ff31221f1d21db5611d8209e677781d3a"
        }
      ],
      "title": "gfs2: Always check inode size of inline inodes",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49739",
    "datePublished": "2025-03-27T16:42:51.609Z",
    "dateReserved": "2025-03-27T16:39:17.986Z",
    "dateUpdated": "2026-08-05T08:56:11.211Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2022-49739",
      "date": "2026-09-25",
      "epss": "0.00198",
      "percentile": "0.08551"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/gfs2/aops.c",
                  "fs/gfs2/bmap.c",
                  "fs/gfs2/glops.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "45df749f827c286adbc951f2a4865b67f0442ba9",
                    "status": "affected",
                    "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4d4cb76636134bf9a0c9c3432dae936f99954586",
                    "status": "affected",
                    "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7c414f6f06e9a3934901b6edc3177ae5a1e07094",
                    "status": "affected",
                    "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "46c9088cabd4d0469fdb61ac2a9c5003057fe94d",
                    "status": "affected",
                    "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d458a0984429c2d47e60254f5bc4119cbafe83a2",
                    "status": "affected",
                    "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "70376c7ff31221f1d21db5611d8209e677781d3a",
                    "status": "affected",
                    "version": "b3b94faa5fe5968827ba0640ee9fba4b3e7f736e",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/gfs2/aops.c",
                  "fs/gfs2/bmap.c",
                  "fs/gfs2/glops.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "2.6.19"
                  },
                  {
                    "lessThan": "2.6.19",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "4.19.*",
                    "status": "unaffected",
                    "version": "4.19.280",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.4.*",
                    "status": "unaffected",
                    "version": "5.4.240",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.177",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.93",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "6.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "C4B4DFEC-E739-4EBC-945F-0269BB721A1A",
                    "versionEndExcluding": "4.19.280",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "2C5F51A3-AEBF-4E51-AA58-D8C8B4554A86",
                    "versionEndExcluding": "5.4.240",
                    "versionStartIncluding": "4.20",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "9FED8369-E7A1-48C6-9700-6ADEDEC371F7",
                    "versionEndExcluding": "5.10.177",
                    "versionStartIncluding": "5.5",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "98FAC10E-42A0-4372-B1A0-A49CF672890E",
                    "versionEndExcluding": "5.15.93",
                    "versionStartIncluding": "5.11",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "535D03F4-DA02-49FE-934E-668827E6407B",
                    "versionEndExcluding": "6.1.11",
                    "versionStartIncluding": "5.16",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ngfs2: Always check inode size of inline inodes\n\nCheck if the inode size of stuffed (inline) inodes is within the allowed\nrange when reading inodes from disk (gfs2_dinode_in()).  This prevents\nus from on-disk corruption.\n\nThe two checks in stuffed_readpage() and gfs2_unstuffer_page() that just\ntruncate inline data to the maximum allowed size don\u0027t actually make\nsense, and they can be removed now as well."
          },
          {
            "lang": "es",
            "value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: gfs2: Comprobar siempre el tama\u00f1o de los inodos en l\u00ednea. Se comprueba si el tama\u00f1o de los inodos rellenos (en l\u00ednea) est\u00e1 dentro del rango permitido al leer inodos del disco (gfs2_dinode_in()). Esto evita la corrupci\u00f3n en disco. Las dos comprobaciones en stuffed_readpage() y gfs2_unstuffer_page(), que simplemente truncan los datos en l\u00ednea al tama\u00f1o m\u00e1ximo permitido, no tienen sentido y tambi\u00e9n se pueden eliminar."
          }
        ],
        "id": "CVE-2022-49739",
        "lastModified": "2026-08-04T10:17:55.183",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.2,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            },
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 5.5,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "NONE",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 3.6,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ]
        },
        "published": "2025-03-27T17:15:38.460",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/45df749f827c286adbc951f2a4865b67f0442ba9"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/46c9088cabd4d0469fdb61ac2a9c5003057fe94d"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/4d4cb76636134bf9a0c9c3432dae936f99954586"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/70376c7ff31221f1d21db5611d8209e677781d3a"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/7c414f6f06e9a3934901b6edc3177ae5a1e07094"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/d458a0984429c2d47e60254f5bc4119cbafe83a2"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Modified",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-19T10:33:08+00:00",
      "cve": "CVE-2022-49739",
      "id": "CVE-2022-49739",
      "initial_release_date": "2022-01-01T00:00:00+00:00",
      "product_status:fixed": "201",
      "product_status:known_affected": "112",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: gfs2: Always check inode size of inline inodes",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2022/cve-2022-49739.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-29T02:26:03Z",
      "cve": "CVE-2022-49739",
      "id": "CVE-2022-49739",
      "initial_release_date": "2025-03-28T03:41:05Z",
      "product_status:known_affected": "442",
      "product_status:known_not_affected": "234",
      "product_status:recommended": "331",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2022-49739",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2022-49739.json",
      "version": "41"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…