In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci{ldisc,serdev}: check percpuinit_rwsem() failure
syzbot is reporting NULL pointer dereference at hciuartttyclose() [1], for rcusyncenter() is called without rcusyncinit() due to hciuartttyopen() ignoring percpuinitrwsem() failure.
While we are at it, fix that hciuartregisterdevice() ignores percpuinitrwsem() failure and hciuartunregisterdevice() does not call percpufreerwsem().
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75b2c71ea581c7bb1303860d89366a42ad0506d2",
"target": {
"function": "hci_uart_register_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-066cfe2e",
"signature_version": "v1",
"digest": {
"length": 1989.0,
"function_hash": "136222434328367620205798470893286986506"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75b2c71ea581c7bb1303860d89366a42ad0506d2",
"target": {
"function": "hci_uart_unregister_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-07935943",
"signature_version": "v1",
"digest": {
"length": 422.0,
"function_hash": "272937891329238321207324735044086862455"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75b2c71ea581c7bb1303860d89366a42ad0506d2",
"target": {
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-1bf949d0",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"264281674510274635426246556108458769053",
"302542326627553000566583139319265668316",
"313481108626034743902844110090531547384",
"273535356837641030343958334147612291202",
"213381126188745502201968844507177794103",
"250244305210734686571342697777075786634",
"174913364548898899024190338126326244777",
"171324954532203282221621968151435512930",
"253914142703882810507164038761665362967",
"311062394042818531321428500479179024285",
"64136902571819689508813474440477844888",
"215340058598212255548237897829186392030",
"114106119582489387740225398296749466437",
"38021277890530130115983280300739836458"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7cc0d51ffcbfd1caaa809fcf9cff05c46d0fb4d",
"target": {
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-23e77ef6",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"244940611219863231092103007070182369247",
"28640596170801959775950311500608459951",
"47509879099406226248203048804433958111",
"267745796105181008011403747362617241369",
"10793001575502052137626369424287415915",
"183687871775192109904430439263597689046",
"211900895135195387297633337143338526956",
"58899567992416179291220193766148817222"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3124d320c22f3f4388d9ac5c8f37eaad0cefd6b1",
"target": {
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-3d3b1c29",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"264281674510274635426246556108458769053",
"302542326627553000566583139319265668316",
"313481108626034743902844110090531547384",
"273535356837641030343958334147612291202",
"213381126188745502201968844507177794103",
"250244305210734686571342697777075786634",
"174913364548898899024190338126326244777",
"171324954532203282221621968151435512930",
"253914142703882810507164038761665362967",
"311062394042818531321428500479179024285",
"64136902571819689508813474440477844888",
"215340058598212255548237897829186392030",
"114106119582489387740225398296749466437",
"38021277890530130115983280300739836458"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7cc0d51ffcbfd1caaa809fcf9cff05c46d0fb4d",
"target": {
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-45a5248c",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"264281674510274635426246556108458769053",
"302542326627553000566583139319265668316",
"313481108626034743902844110090531547384",
"273535356837641030343958334147612291202",
"213381126188745502201968844507177794103",
"250244305210734686571342697777075786634",
"174913364548898899024190338126326244777",
"171324954532203282221621968151435512930",
"253914142703882810507164038761665362967",
"311062394042818531321428500479179024285",
"64136902571819689508813474440477844888",
"215340058598212255548237897829186392030",
"114106119582489387740225398296749466437",
"38021277890530130115983280300739836458"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8917dce2134739b39bc0a5648b18427f2cad569",
"target": {
"function": "hci_uart_unregister_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-4e4a3772",
"signature_version": "v1",
"digest": {
"length": 422.0,
"function_hash": "272937891329238321207324735044086862455"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8917dce2134739b39bc0a5648b18427f2cad569",
"target": {
"function": "hci_uart_tty_open",
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-4f772fbb",
"signature_version": "v1",
"digest": {
"length": 590.0,
"function_hash": "243589486045914509460974523315769060776"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98ce10f3f345e61fc6c83bff9cd11cda252b05ac",
"target": {
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-5b9cf4c6",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"264281674510274635426246556108458769053",
"302542326627553000566583139319265668316",
"313481108626034743902844110090531547384",
"273535356837641030343958334147612291202",
"213381126188745502201968844507177794103",
"250244305210734686571342697777075786634",
"174913364548898899024190338126326244777",
"171324954532203282221621968151435512930",
"253914142703882810507164038761665362967",
"311062394042818531321428500479179024285",
"64136902571819689508813474440477844888",
"215340058598212255548237897829186392030",
"114106119582489387740225398296749466437",
"38021277890530130115983280300739836458"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8917dce2134739b39bc0a5648b18427f2cad569",
"target": {
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-62f7af7a",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"244940611219863231092103007070182369247",
"28640596170801959775950311500608459951",
"47509879099406226248203048804433958111",
"267745796105181008011403747362617241369",
"10793001575502052137626369424287415915",
"183687871775192109904430439263597689046",
"211900895135195387297633337143338526956",
"58899567992416179291220193766148817222"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7cc0d51ffcbfd1caaa809fcf9cff05c46d0fb4d",
"target": {
"function": "hci_uart_tty_open",
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-6d8486bb",
"signature_version": "v1",
"digest": {
"length": 590.0,
"function_hash": "243589486045914509460974523315769060776"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75b2c71ea581c7bb1303860d89366a42ad0506d2",
"target": {
"function": "hci_uart_tty_open",
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-73870403",
"signature_version": "v1",
"digest": {
"length": 643.0,
"function_hash": "95085694891213493514323024933184881175"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98ce10f3f345e61fc6c83bff9cd11cda252b05ac",
"target": {
"function": "hci_uart_register_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-772f8478",
"signature_version": "v1",
"digest": {
"length": 1989.0,
"function_hash": "136222434328367620205798470893286986506"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3124d320c22f3f4388d9ac5c8f37eaad0cefd6b1",
"target": {
"function": "hci_uart_tty_open",
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-814839b3",
"signature_version": "v1",
"digest": {
"length": 643.0,
"function_hash": "95085694891213493514323024933184881175"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98ce10f3f345e61fc6c83bff9cd11cda252b05ac",
"target": {
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-84d84584",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"244940611219863231092103007070182369247",
"28640596170801959775950311500608459951",
"47509879099406226248203048804433958111",
"267745796105181008011403747362617241369",
"10793001575502052137626369424287415915",
"183687871775192109904430439263597689046",
"211900895135195387297633337143338526956",
"58899567992416179291220193766148817222"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3124d320c22f3f4388d9ac5c8f37eaad0cefd6b1",
"target": {
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-9ae09c3a",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"244940611219863231092103007070182369247",
"28640596170801959775950311500608459951",
"47509879099406226248203048804433958111",
"267745796105181008011403747362617241369",
"10793001575502052137626369424287415915",
"183687871775192109904430439263597689046",
"211900895135195387297633337143338526956",
"58899567992416179291220193766148817222"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98ce10f3f345e61fc6c83bff9cd11cda252b05ac",
"target": {
"function": "hci_uart_unregister_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-9fb052f7",
"signature_version": "v1",
"digest": {
"length": 422.0,
"function_hash": "272937891329238321207324735044086862455"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3124d320c22f3f4388d9ac5c8f37eaad0cefd6b1",
"target": {
"function": "hci_uart_register_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-a03aaac5",
"signature_version": "v1",
"digest": {
"length": 1989.0,
"function_hash": "136222434328367620205798470893286986506"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@75b2c71ea581c7bb1303860d89366a42ad0506d2",
"target": {
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-b43d344c",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"244940611219863231092103007070182369247",
"28640596170801959775950311500608459951",
"47509879099406226248203048804433958111",
"267745796105181008011403747362617241369",
"10793001575502052137626369424287415915",
"183687871775192109904430439263597689046",
"211900895135195387297633337143338526956",
"58899567992416179291220193766148817222"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3124d320c22f3f4388d9ac5c8f37eaad0cefd6b1",
"target": {
"function": "hci_uart_unregister_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-b8579d21",
"signature_version": "v1",
"digest": {
"length": 422.0,
"function_hash": "272937891329238321207324735044086862455"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@98ce10f3f345e61fc6c83bff9cd11cda252b05ac",
"target": {
"function": "hci_uart_tty_open",
"file": "drivers/bluetooth/hci_ldisc.c"
},
"deprecated": false,
"id": "CVE-2022-50374-e6abb7a2",
"signature_version": "v1",
"digest": {
"length": 643.0,
"function_hash": "95085694891213493514323024933184881175"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8917dce2134739b39bc0a5648b18427f2cad569",
"target": {
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-ed681e7f",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"264281674510274635426246556108458769053",
"302542326627553000566583139319265668316",
"313481108626034743902844110090531547384",
"273535356837641030343958334147612291202",
"213381126188745502201968844507177794103",
"250244305210734686571342697777075786634",
"174913364548898899024190338126326244777",
"171324954532203282221621968151435512930",
"253914142703882810507164038761665362967",
"311062394042818531321428500479179024285",
"64136902571819689508813474440477844888",
"215340058598212255548237897829186392030",
"114106119582489387740225398296749466437",
"38021277890530130115983280300739836458"
]
},
"signature_type": "Line"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7cc0d51ffcbfd1caaa809fcf9cff05c46d0fb4d",
"target": {
"function": "hci_uart_register_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-ef8f3fc1",
"signature_version": "v1",
"digest": {
"length": 1801.0,
"function_hash": "270615926390681311290295479684289081813"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7cc0d51ffcbfd1caaa809fcf9cff05c46d0fb4d",
"target": {
"function": "hci_uart_unregister_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-f2ef4359",
"signature_version": "v1",
"digest": {
"length": 422.0,
"function_hash": "272937891329238321207324735044086862455"
},
"signature_type": "Function"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b8917dce2134739b39bc0a5648b18427f2cad569",
"target": {
"function": "hci_uart_register_device",
"file": "drivers/bluetooth/hci_serdev.c"
},
"deprecated": false,
"id": "CVE-2022-50374-fff40ec9",
"signature_version": "v1",
"digest": {
"length": 1932.0,
"function_hash": "206126695147627299303783964027915347258"
},
"signature_type": "Function"
}
]