stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Bhuvanesh Surachari <bhuvanesh_surachari@mentor.com>,
	Eugeniu Rosca <erosca@de.adit-jv.com>,
	Andrew Gabbasov <andrew_gabbasov@mentor.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 304/348] usb: gadget: f_fs: Fix setting of device and driver data cross-references
Date: Mon, 12 Jul 2021 08:11:28 +0200	[thread overview]
Message-ID: <20210712060744.050174751@linuxfoundation.org> (raw)
In-Reply-To: <20210712060659.886176320@linuxfoundation.org>

From: Andrew Gabbasov <andrew_gabbasov@mentor.com>

[ Upstream commit ecfbd7b9054bddb12cea07fda41bb3a79a7b0149 ]

FunctionFS device structure 'struct ffs_dev' and driver data structure
'struct ffs_data' are bound to each other with cross-reference pointers
'ffs_data->private_data' and 'ffs_dev->ffs_data'. While the first one
is supposed to be valid through the whole life of 'struct ffs_data'
(and while 'struct ffs_dev' exists non-freed), the second one is cleared
in 'ffs_closed()' (called from 'ffs_data_reset()' or the last
'ffs_data_put()'). This can be called several times, alternating in
different order with 'ffs_free_inst()', that, if possible, clears
the other cross-reference.

As a result, different cases of these calls order may leave stale
cross-reference pointers, used when the pointed structure is already
freed. Even if it occasionally doesn't cause kernel crash, this error
is reported by KASAN-enabled kernel configuration.

For example, the case [last 'ffs_data_put()' - 'ffs_free_inst()'] was
fixed by commit cdafb6d8b8da ("usb: gadget: f_fs: Fix use-after-free in
ffs_free_inst").

The other case ['ffs_data_reset()' - 'ffs_free_inst()' - 'ffs_data_put()']
now causes KASAN reported error [1], when 'ffs_data_reset()' clears
'ffs_dev->ffs_data', then 'ffs_free_inst()' frees the 'struct ffs_dev',
but can't clear 'ffs_data->private_data', which is then accessed
in 'ffs_closed()' called from 'ffs_data_put()'. This happens since
'ffs_dev->ffs_data' reference is cleared too early.

Moreover, one more use case, when 'ffs_free_inst()' is called immediately
after mounting FunctionFS device (that is before the descriptors are
written and 'ffs_ready()' is called), and then 'ffs_data_reset()'
or 'ffs_data_put()' is called from accessing "ep0" file or unmounting
the device. This causes KASAN error report like [2], since
'ffs_dev->ffs_data' is not yet set when 'ffs_free_inst()' can't properly
clear 'ffs_data->private_data', that is later accessed to freed structure.

Fix these (and may be other) cases of stale pointers access by moving
setting and clearing of the mentioned cross-references to the single
places, setting both of them when 'struct ffs_data' is created and
bound to 'struct ffs_dev', and clearing both of them when one of the
structures is destroyed. It seems convenient to make this pointer
initialization and structures binding in 'ffs_acquire_dev()' and
make pointers clearing in 'ffs_release_dev()'. This required some
changes in these functions parameters and return types.

Also, 'ffs_release_dev()' calling requires some cleanup, fixing minor
issues, like (1) 'ffs_release_dev()' is not called if 'ffs_free_inst()'
is called without unmounting the device, and "release_dev" callback
is not called at all, or (2) "release_dev" callback is called before
"ffs_closed" callback on unmounting, which seems to be not correctly
nested with "acquire_dev" and "ffs_ready" callbacks.
Make this cleanup togther with other mentioned 'ffs_release_dev()' changes.

[1]
==================================================================
root@rcar-gen3:~# mkdir /dev/cfs
root@rcar-gen3:~# mkdir /dev/ffs
root@rcar-gen3:~# modprobe libcomposite
root@rcar-gen3:~# mount -t configfs none /dev/cfs
root@rcar-gen3:~# mkdir /dev/cfs/usb_gadget/g1
root@rcar-gen3:~# mkdir /dev/cfs/usb_gadget/g1/functions/ffs.ffs
[   64.340664] file system registered
root@rcar-gen3:~# mount -t functionfs ffs /dev/ffs
root@rcar-gen3:~# cd /dev/ffs
root@rcar-gen3:/dev/ffs# /home/root/ffs-test
ffs-test: info: ep0: writing descriptors (in v2 format)
[   83.181442] read descriptors
[   83.186085] read strings
ffs-test: info: ep0: writing strings
ffs-test: dbg:  ep1: starting
ffs-test: dbg:  ep2: starting
ffs-test: info: ep1: starts
ffs-test: info: ep2: starts
ffs-test: info: ep0: starts

^C
root@rcar-gen3:/dev/ffs# cd /home/root/
root@rcar-gen3:~# rmdir /dev/cfs/usb_gadget/g1/functions/ffs.ffs
[   98.935061] unloading
root@rcar-gen3:~# umount /dev/ffs
[  102.734301] ==================================================================
[  102.742059] BUG: KASAN: use-after-free in ffs_release_dev+0x64/0xa8 [usb_f_fs]
[  102.749683] Write of size 1 at addr ffff0004d46ff549 by task umount/2997
[  102.756709]
[  102.758311] CPU: 0 PID: 2997 Comm: umount Not tainted 5.13.0-rc4+ #8
[  102.764971] Hardware name: Renesas Salvator-X board based on r8a77951 (DT)
[  102.772179] Call trace:
[  102.774779]  dump_backtrace+0x0/0x330
[  102.778653]  show_stack+0x20/0x2c
[  102.782152]  dump_stack+0x11c/0x1ac
[  102.785833]  print_address_description.constprop.0+0x30/0x274
[  102.791862]  kasan_report+0x14c/0x1c8
[  102.795719]  __asan_report_store1_noabort+0x34/0x58
[  102.800840]  ffs_release_dev+0x64/0xa8 [usb_f_fs]
[  102.805801]  ffs_fs_kill_sb+0x50/0x84 [usb_f_fs]
[  102.810663]  deactivate_locked_super+0xa0/0xf0
[  102.815339]  deactivate_super+0x98/0xac
[  102.819378]  cleanup_mnt+0xd0/0x1b0
[  102.823057]  __cleanup_mnt+0x1c/0x28
[  102.826823]  task_work_run+0x104/0x180
[  102.830774]  do_notify_resume+0x458/0x14e0
[  102.835083]  work_pending+0xc/0x5f8
[  102.838762]
[  102.840357] Allocated by task 2988:
[  102.844032]  kasan_save_stack+0x28/0x58
[  102.848071]  kasan_set_track+0x28/0x3c
[  102.852016]  ____kasan_kmalloc+0x84/0x9c
[  102.856142]  __kasan_kmalloc+0x10/0x1c
[  102.860088]  __kmalloc+0x214/0x2f8
[  102.863678]  kzalloc.constprop.0+0x14/0x20 [usb_f_fs]
[  102.868990]  ffs_alloc_inst+0x8c/0x208 [usb_f_fs]
[  102.873942]  try_get_usb_function_instance+0xf0/0x164 [libcomposite]
[  102.880629]  usb_get_function_instance+0x64/0x68 [libcomposite]
[  102.886858]  function_make+0x128/0x1ec [libcomposite]
[  102.892185]  configfs_mkdir+0x330/0x590 [configfs]
[  102.897245]  vfs_mkdir+0x12c/0x1bc
[  102.900835]  do_mkdirat+0x180/0x1d0
[  102.904513]  __arm64_sys_mkdirat+0x80/0x94
[  102.908822]  invoke_syscall+0xf8/0x25c
[  102.912772]  el0_svc_common.constprop.0+0x150/0x1a0
[  102.917891]  do_el0_svc+0xa0/0xd4
[  102.921386]  el0_svc+0x24/0x34
[  102.924613]  el0_sync_handler+0xcc/0x154
[  102.928743]  el0_sync+0x198/0x1c0
[  102.932238]
[  102.933832] Freed by task 2996:
[  102.937144]  kasan_save_stack+0x28/0x58
[  102.941181]  kasan_set_track+0x28/0x3c
[  102.945128]  kasan_set_free_info+0x28/0x4c
[  102.949435]  ____kasan_slab_free+0x104/0x118
[  102.953921]  __kasan_slab_free+0x18/0x24
[  102.958047]  slab_free_freelist_hook+0x148/0x1f0
[  102.962897]  kfree+0x318/0x440
[  102.966123]  ffs_free_inst+0x164/0x2d8 [usb_f_fs]
[  102.971075]  usb_put_function_instance+0x84/0xa4 [libcomposite]
[  102.977302]  ffs_attr_release+0x18/0x24 [usb_f_fs]
[  102.982344]  config_item_put+0x140/0x1a4 [configfs]
[  102.987486]  configfs_rmdir+0x3fc/0x518 [configfs]
[  102.992535]  vfs_rmdir+0x114/0x234
[  102.996122]  do_rmdir+0x274/0x2b0
[  102.999617]  __arm64_sys_unlinkat+0x94/0xc8
[  103.004015]  invoke_syscall+0xf8/0x25c
[  103.007961]  el0_svc_common.constprop.0+0x150/0x1a0
[  103.013080]  do_el0_svc+0xa0/0xd4
[  103.016575]  el0_svc+0x24/0x34
[  103.019801]  el0_sync_handler+0xcc/0x154
[  103.023930]  el0_sync+0x198/0x1c0
[  103.027426]
[  103.029020] The buggy address belongs to the object at ffff0004d46ff500
[  103.029020]  which belongs to the cache kmalloc-128 of size 128
[  103.042079] The buggy address is located 73 bytes inside of
[  103.042079]  128-byte region [ffff0004d46ff500, ffff0004d46ff580)
[  103.054236] The buggy address belongs to the page:
[  103.059262] page:0000000021aa849b refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff0004d46fee00 pfn:0x5146fe
[  103.070437] head:0000000021aa849b order:1 compound_mapcount:0
[  103.076456] flags: 0x8000000000010200(slab|head|zone=2)
[  103.081948] raw: 8000000000010200 fffffc0013521a80 0000000d0000000d ffff0004c0002300
[  103.090052] raw: ffff0004d46fee00 000000008020001e 00000001ffffffff 0000000000000000
[  103.098150] page dumped because: kasan: bad access detected
[  103.103985]
[  103.105578] Memory state around the buggy address:
[  103.110602]  ffff0004d46ff400: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[  103.118161]  ffff0004d46ff480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[  103.125726] >ffff0004d46ff500: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[  103.133284]                                               ^
[  103.139120]  ffff0004d46ff580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[  103.146679]  ffff0004d46ff600: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[  103.154238] ==================================================================
[  103.161792] Disabling lock debugging due to kernel taint
[  103.167319] Unable to handle kernel paging request at virtual address 0037801d6000018e
[  103.175406] Mem abort info:
[  103.178457]   ESR = 0x96000004
[  103.181609]   EC = 0x25: DABT (current EL), IL = 32 bits
[  103.187020]   SET = 0, FnV = 0
[  103.190185]   EA = 0, S1PTW = 0
[  103.193417] Data abort info:
[  103.196385]   ISV = 0, ISS = 0x00000004
[  103.200315]   CM = 0, WnR = 0
[  103.203366] [0037801d6000018e] address between user and kernel address ranges
[  103.210611] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[  103.216231] Modules linked in: usb_f_fs libcomposite configfs ath9k_htc led_class mac80211 libarc4 ath9k_common ath9k_hw ath cfg80211 aes_ce_blk sata_rc4
[  103.259233] CPU: 0 PID: 2997 Comm: umount Tainted: G    B             5.13.0-rc4+ #8
[  103.267031] Hardware name: Renesas Salvator-X board based on r8a77951 (DT)
[  103.273951] pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
[  103.280001] pc : ffs_data_clear+0x138/0x370 [usb_f_fs]
[  103.285197] lr : ffs_data_clear+0x124/0x370 [usb_f_fs]
[  103.290385] sp : ffff800014777a80
[  103.293725] x29: ffff800014777a80 x28: ffff0004d7649c80 x27: 0000000000000000
[  103.300931] x26: ffff800014777fb0 x25: ffff60009aec9394 x24: ffff0004d7649ca4
[  103.308136] x23: 1fffe0009a3d063a x22: dfff800000000000 x21: ffff0004d1e831d0
[  103.315340] x20: e1c000eb00000bb4 x19: ffff0004d1e83000 x18: 0000000000000000
[  103.322545] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[  103.329748] x14: 0720072007200720 x13: 0720072007200720 x12: 1ffff000012ef658
[  103.336952] x11: ffff7000012ef658 x10: 0720072007200720 x9 : ffff800011322648
[  103.344157] x8 : ffff800014777818 x7 : ffff80000977b2c7 x6 : 0000000000000000
[  103.351359] x5 : 0000000000000001 x4 : ffff7000012ef659 x3 : 0000000000000001
[  103.358562] x2 : 0000000000000000 x1 : 1c38001d6000018e x0 : e1c000eb00000c70
[  103.365766] Call trace:
[  103.368235]  ffs_data_clear+0x138/0x370 [usb_f_fs]
[  103.373076]  ffs_data_reset+0x20/0x304 [usb_f_fs]
[  103.377829]  ffs_data_closed+0x1ec/0x244 [usb_f_fs]
[  103.382755]  ffs_fs_kill_sb+0x70/0x84 [usb_f_fs]
[  103.387420]  deactivate_locked_super+0xa0/0xf0
[  103.391905]  deactivate_super+0x98/0xac
[  103.395776]  cleanup_mnt+0xd0/0x1b0
[  103.399299]  __cleanup_mnt+0x1c/0x28
[  103.402906]  task_work_run+0x104/0x180
[  103.406691]  do_notify_resume+0x458/0x14e0
[  103.410823]  work_pending+0xc/0x5f8
[  103.414351] Code: b4000a54 9102f280 12000802 d343fc01 (38f66821)
[  103.420490] ---[ end trace 57b43a50e8244f57 ]---
Segmentation fault
root@rcar-gen3:~#
==================================================================

[2]
==================================================================
root@rcar-gen3:~# mkdir /dev/ffs
root@rcar-gen3:~# modprobe libcomposite
root@rcar-gen3:~#
root@rcar-gen3:~# mount -t configfs none /dev/cfs
root@rcar-gen3:~# mkdir /dev/cfs/usb_gadget/g1
root@rcar-gen3:~# mkdir /dev/cfs/usb_gadget/g1/functions/ffs.ffs
[   54.766480] file system registered
root@rcar-gen3:~# mount -t functionfs ffs /dev/ffs
root@rcar-gen3:~# rmdir /dev/cfs/usb_gadget/g1/functions/ffs.ffs
[   63.197597] unloading
root@rcar-gen3:~# cat /dev/ffs/ep0
cat: read error:[   67.213506] ==================================================================
[   67.222095] BUG: KASAN: use-after-free in ffs_data_clear+0x70/0x370 [usb_f_fs]
[   67.229699] Write of size 1 at addr ffff0004c26e974a by task cat/2994
[   67.236446]
[   67.238045] CPU: 0 PID: 2994 Comm: cat Not tainted 5.13.0-rc4+ #8
[   67.244431] Hardware name: Renesas Salvator-X board based on r8a77951 (DT)
[   67.251624] Call trace:
[   67.254212]  dump_backtrace+0x0/0x330
[   67.258081]  show_stack+0x20/0x2c
[   67.261579]  dump_stack+0x11c/0x1ac
[   67.265260]  print_address_description.constprop.0+0x30/0x274
[   67.271286]  kasan_report+0x14c/0x1c8
[   67.275143]  __asan_report_store1_noabort+0x34/0x58
[   67.280265]  ffs_data_clear+0x70/0x370 [usb_f_fs]
[   67.285220]  ffs_data_reset+0x20/0x304 [usb_f_fs]
[   67.290172]  ffs_data_closed+0x240/0x244 [usb_f_fs]
[   67.295305]  ffs_ep0_release+0x40/0x54 [usb_f_fs]
[   67.300256]  __fput+0x304/0x580
[   67.303576]  ____fput+0x18/0x24
[   67.306893]  task_work_run+0x104/0x180
[   67.310846]  do_notify_resume+0x458/0x14e0
[   67.315154]  work_pending+0xc/0x5f8
[   67.318834]
[   67.320429] Allocated by task 2988:
[   67.324105]  kasan_save_stack+0x28/0x58
[   67.328144]  kasan_set_track+0x28/0x3c
[   67.332090]  ____kasan_kmalloc+0x84/0x9c
[   67.336217]  __kasan_kmalloc+0x10/0x1c
[   67.340163]  __kmalloc+0x214/0x2f8
[   67.343754]  kzalloc.constprop.0+0x14/0x20 [usb_f_fs]
[   67.349066]  ffs_alloc_inst+0x8c/0x208 [usb_f_fs]
[   67.354017]  try_get_usb_function_instance+0xf0/0x164 [libcomposite]
[   67.360705]  usb_get_function_instance+0x64/0x68 [libcomposite]
[   67.366934]  function_make+0x128/0x1ec [libcomposite]
[   67.372260]  configfs_mkdir+0x330/0x590 [configfs]
[   67.377320]  vfs_mkdir+0x12c/0x1bc
[   67.380911]  do_mkdirat+0x180/0x1d0
[   67.384589]  __arm64_sys_mkdirat+0x80/0x94
[   67.388899]  invoke_syscall+0xf8/0x25c
[   67.392850]  el0_svc_common.constprop.0+0x150/0x1a0
[   67.397969]  do_el0_svc+0xa0/0xd4
[   67.401464]  el0_svc+0x24/0x34
[   67.404691]  el0_sync_handler+0xcc/0x154
[   67.408819]  el0_sync+0x198/0x1c0
[   67.412315]
[   67.413909] Freed by task 2993:
[   67.417220]  kasan_save_stack+0x28/0x58
[   67.421257]  kasan_set_track+0x28/0x3c
[   67.425204]  kasan_set_free_info+0x28/0x4c
[   67.429513]  ____kasan_slab_free+0x104/0x118
[   67.434001]  __kasan_slab_free+0x18/0x24
[   67.438128]  slab_free_freelist_hook+0x148/0x1f0
[   67.442978]  kfree+0x318/0x440
[   67.446205]  ffs_free_inst+0x164/0x2d8 [usb_f_fs]
[   67.451156]  usb_put_function_instance+0x84/0xa4 [libcomposite]
[   67.457385]  ffs_attr_release+0x18/0x24 [usb_f_fs]
[   67.462428]  config_item_put+0x140/0x1a4 [configfs]
[   67.467570]  configfs_rmdir+0x3fc/0x518 [configfs]
[   67.472626]  vfs_rmdir+0x114/0x234
[   67.476215]  do_rmdir+0x274/0x2b0
[   67.479710]  __arm64_sys_unlinkat+0x94/0xc8
[   67.484108]  invoke_syscall+0xf8/0x25c
[   67.488055]  el0_svc_common.constprop.0+0x150/0x1a0
[   67.493175]  do_el0_svc+0xa0/0xd4
[   67.496671]  el0_svc+0x24/0x34
[   67.499896]  el0_sync_handler+0xcc/0x154
[   67.504024]  el0_sync+0x198/0x1c0
[   67.507520]
[   67.509114] The buggy address belongs to the object at ffff0004c26e9700
[   67.509114]  which belongs to the cache kmalloc-128 of size 128
[   67.522171] The buggy address is located 74 bytes inside of
[   67.522171]  128-byte region [ffff0004c26e9700, ffff0004c26e9780)
[   67.534328] The buggy address belongs to the page:
[   67.539355] page:000000003177a217 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x5026e8
[   67.549175] head:000000003177a217 order:1 compound_mapcount:0
[   67.555195] flags: 0x8000000000010200(slab|head|zone=2)
[   67.560687] raw: 8000000000010200 fffffc0013037100 0000000c00000002 ffff0004c0002300
[   67.568791] raw: 0000000000000000 0000000080200020 00000001ffffffff 0000000000000000
[   67.576890] page dumped because: kasan: bad access detected
[   67.582725]
[   67.584318] Memory state around the buggy address:
[   67.589343]  ffff0004c26e9600: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   67.596903]  ffff0004c26e9680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   67.604463] >ffff0004c26e9700: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   67.612022]                                               ^
[   67.617860]  ffff0004c26e9780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   67.625421]  ffff0004c26e9800: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   67.632981] ==================================================================
[   67.640535] Disabling lock debugging due to kernel taint
 File descriptor[   67.646100] Unable to handle kernel paging request at virtual address fabb801d4000018d
 in bad state
[   67.655456] Mem abort info:
[   67.659619]   ESR = 0x96000004
[   67.662801]   EC = 0x25: DABT (current EL), IL = 32 bits
[   67.668225]   SET = 0, FnV = 0
[   67.671375]   EA = 0, S1PTW = 0
[   67.674613] Data abort info:
[   67.677587]   ISV = 0, ISS = 0x00000004
[   67.681522]   CM = 0, WnR = 0
[   67.684588] [fabb801d4000018d] address between user and kernel address ranges
[   67.691849] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[   67.697470] Modules linked in: usb_f_fs libcomposite configfs ath9k_htc led_class mac80211 libarc4 ath9k_common ath9k_hw ath cfg80211 aes_ce_blk crypto_simd cryptd aes_ce_cipher ghash_ce gf128mul sha2_ce sha1_ce evdev sata_rcar libata xhci_plat_hcd scsi_mod xhci_hcd rene4
[   67.740467] CPU: 0 PID: 2994 Comm: cat Tainted: G    B             5.13.0-rc4+ #8
[   67.748005] Hardware name: Renesas Salvator-X board based on r8a77951 (DT)
[   67.754924] pstate: 00000005 (nzcv daif -PAN -UAO -TCO BTYPE=--)
[   67.760974] pc : ffs_data_clear+0x138/0x370 [usb_f_fs]
[   67.766178] lr : ffs_data_clear+0x124/0x370 [usb_f_fs]
[   67.771365] sp : ffff800014767ad0
[   67.774706] x29: ffff800014767ad0 x28: ffff800009cf91c0 x27: ffff0004c54861a0
[   67.781913] x26: ffff0004dc90b288 x25: 1fffe00099ec10f5 x24: 00000000000a801d
[   67.789118] x23: 1fffe00099f6953a x22: dfff800000000000 x21: ffff0004cfb4a9d0
[   67.796322] x20: d5e000ea00000bb1 x19: ffff0004cfb4a800 x18: 0000000000000000
[   67.803526] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
[   67.810730] x14: 0720072007200720 x13: 0720072007200720 x12: 1ffff000028ecefa
[   67.817934] x11: ffff7000028ecefa x10: 0720072007200720 x9 : ffff80001132c014
[   67.825137] x8 : ffff8000147677d8 x7 : ffff8000147677d7 x6 : 0000000000000000
[   67.832341] x5 : 0000000000000001 x4 : ffff7000028ecefb x3 : 0000000000000001
[   67.839544] x2 : 0000000000000005 x1 : 1abc001d4000018d x0 : d5e000ea00000c6d
[   67.846748] Call trace:
[   67.849218]  ffs_data_clear+0x138/0x370 [usb_f_fs]
[   67.854058]  ffs_data_reset+0x20/0x304 [usb_f_fs]
[   67.858810]  ffs_data_closed+0x240/0x244 [usb_f_fs]
[   67.863736]  ffs_ep0_release+0x40/0x54 [usb_f_fs]
[   67.868488]  __fput+0x304/0x580
[   67.871665]  ____fput+0x18/0x24
[   67.874837]  task_work_run+0x104/0x180
[   67.878622]  do_notify_resume+0x458/0x14e0
[   67.882754]  work_pending+0xc/0x5f8
[   67.886282] Code: b4000a54 9102f280 12000802 d343fc01 (38f66821)
[   67.892422] ---[ end trace 6d7cedf53d7abbea ]---
Segmentation fault
root@rcar-gen3:~#
==================================================================

Fixes: 4b187fceec3c ("usb: gadget: FunctionFS: add devices management code")
Fixes: 3262ad824307 ("usb: gadget: f_fs: Stop ffs_closed NULL pointer dereference")
Fixes: cdafb6d8b8da ("usb: gadget: f_fs: Fix use-after-free in ffs_free_inst")
Reported-by: Bhuvanesh Surachari <bhuvanesh_surachari@mentor.com>
Tested-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Reviewed-by: Eugeniu Rosca <erosca@de.adit-jv.com>
Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Link: https://lore.kernel.org/r/20210603171507.22514-1-andrew_gabbasov@mentor.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/usb/gadget/function/f_fs.c | 65 +++++++++++++++---------------
 1 file changed, 32 insertions(+), 33 deletions(-)

diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 3126f5b08bd4..94ccf43368df 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -250,8 +250,8 @@ EXPORT_SYMBOL_GPL(ffs_lock);
 static struct ffs_dev *_ffs_find_dev(const char *name);
 static struct ffs_dev *_ffs_alloc_dev(void);
 static void _ffs_free_dev(struct ffs_dev *dev);
-static void *ffs_acquire_dev(const char *dev_name);
-static void ffs_release_dev(struct ffs_data *ffs_data);
+static int ffs_acquire_dev(const char *dev_name, struct ffs_data *ffs_data);
+static void ffs_release_dev(struct ffs_dev *ffs_dev);
 static int ffs_ready(struct ffs_data *ffs);
 static void ffs_closed(struct ffs_data *ffs);
 
@@ -1572,8 +1572,8 @@ unmapped_value:
 static int ffs_fs_get_tree(struct fs_context *fc)
 {
 	struct ffs_sb_fill_data *ctx = fc->fs_private;
-	void *ffs_dev;
 	struct ffs_data	*ffs;
+	int ret;
 
 	ENTER();
 
@@ -1592,13 +1592,12 @@ static int ffs_fs_get_tree(struct fs_context *fc)
 		return -ENOMEM;
 	}
 
-	ffs_dev = ffs_acquire_dev(ffs->dev_name);
-	if (IS_ERR(ffs_dev)) {
+	ret = ffs_acquire_dev(ffs->dev_name, ffs);
+	if (ret) {
 		ffs_data_put(ffs);
-		return PTR_ERR(ffs_dev);
+		return ret;
 	}
 
-	ffs->private_data = ffs_dev;
 	ctx->ffs_data = ffs;
 	return get_tree_nodev(fc, ffs_sb_fill);
 }
@@ -1609,7 +1608,6 @@ static void ffs_fs_free_fc(struct fs_context *fc)
 
 	if (ctx) {
 		if (ctx->ffs_data) {
-			ffs_release_dev(ctx->ffs_data);
 			ffs_data_put(ctx->ffs_data);
 		}
 
@@ -1648,10 +1646,8 @@ ffs_fs_kill_sb(struct super_block *sb)
 	ENTER();
 
 	kill_litter_super(sb);
-	if (sb->s_fs_info) {
-		ffs_release_dev(sb->s_fs_info);
+	if (sb->s_fs_info)
 		ffs_data_closed(sb->s_fs_info);
-	}
 }
 
 static struct file_system_type ffs_fs_type = {
@@ -1721,6 +1717,7 @@ static void ffs_data_put(struct ffs_data *ffs)
 	if (unlikely(refcount_dec_and_test(&ffs->ref))) {
 		pr_info("%s(): freeing\n", __func__);
 		ffs_data_clear(ffs);
+		ffs_release_dev(ffs->private_data);
 		BUG_ON(waitqueue_active(&ffs->ev.waitq) ||
 		       waitqueue_active(&ffs->ep0req_completion.wait) ||
 		       waitqueue_active(&ffs->wait));
@@ -3050,6 +3047,7 @@ static inline struct f_fs_opts *ffs_do_functionfs_bind(struct usb_function *f,
 	struct ffs_function *func = ffs_func_from_usb(f);
 	struct f_fs_opts *ffs_opts =
 		container_of(f->fi, struct f_fs_opts, func_inst);
+	struct ffs_data *ffs_data;
 	int ret;
 
 	ENTER();
@@ -3064,12 +3062,13 @@ static inline struct f_fs_opts *ffs_do_functionfs_bind(struct usb_function *f,
 	if (!ffs_opts->no_configfs)
 		ffs_dev_lock();
 	ret = ffs_opts->dev->desc_ready ? 0 : -ENODEV;
-	func->ffs = ffs_opts->dev->ffs_data;
+	ffs_data = ffs_opts->dev->ffs_data;
 	if (!ffs_opts->no_configfs)
 		ffs_dev_unlock();
 	if (ret)
 		return ERR_PTR(ret);
 
+	func->ffs = ffs_data;
 	func->conf = c;
 	func->gadget = c->cdev->gadget;
 
@@ -3524,6 +3523,7 @@ static void ffs_free_inst(struct usb_function_instance *f)
 	struct f_fs_opts *opts;
 
 	opts = to_f_fs_opts(f);
+	ffs_release_dev(opts->dev);
 	ffs_dev_lock();
 	_ffs_free_dev(opts->dev);
 	ffs_dev_unlock();
@@ -3711,47 +3711,48 @@ static void _ffs_free_dev(struct ffs_dev *dev)
 {
 	list_del(&dev->entry);
 
-	/* Clear the private_data pointer to stop incorrect dev access */
-	if (dev->ffs_data)
-		dev->ffs_data->private_data = NULL;
-
 	kfree(dev);
 	if (list_empty(&ffs_devices))
 		functionfs_cleanup();
 }
 
-static void *ffs_acquire_dev(const char *dev_name)
+static int ffs_acquire_dev(const char *dev_name, struct ffs_data *ffs_data)
 {
+	int ret = 0;
 	struct ffs_dev *ffs_dev;
 
 	ENTER();
 	ffs_dev_lock();
 
 	ffs_dev = _ffs_find_dev(dev_name);
-	if (!ffs_dev)
-		ffs_dev = ERR_PTR(-ENOENT);
-	else if (ffs_dev->mounted)
-		ffs_dev = ERR_PTR(-EBUSY);
-	else if (ffs_dev->ffs_acquire_dev_callback &&
-	    ffs_dev->ffs_acquire_dev_callback(ffs_dev))
-		ffs_dev = ERR_PTR(-ENOENT);
-	else
+	if (!ffs_dev) {
+		ret = -ENOENT;
+	} else if (ffs_dev->mounted) {
+		ret = -EBUSY;
+	} else if (ffs_dev->ffs_acquire_dev_callback &&
+		   ffs_dev->ffs_acquire_dev_callback(ffs_dev)) {
+		ret = -ENOENT;
+	} else {
 		ffs_dev->mounted = true;
+		ffs_dev->ffs_data = ffs_data;
+		ffs_data->private_data = ffs_dev;
+	}
 
 	ffs_dev_unlock();
-	return ffs_dev;
+	return ret;
 }
 
-static void ffs_release_dev(struct ffs_data *ffs_data)
+static void ffs_release_dev(struct ffs_dev *ffs_dev)
 {
-	struct ffs_dev *ffs_dev;
-
 	ENTER();
 	ffs_dev_lock();
 
-	ffs_dev = ffs_data->private_data;
-	if (ffs_dev) {
+	if (ffs_dev && ffs_dev->mounted) {
 		ffs_dev->mounted = false;
+		if (ffs_dev->ffs_data) {
+			ffs_dev->ffs_data->private_data = NULL;
+			ffs_dev->ffs_data = NULL;
+		}
 
 		if (ffs_dev->ffs_release_dev_callback)
 			ffs_dev->ffs_release_dev_callback(ffs_dev);
@@ -3779,7 +3780,6 @@ static int ffs_ready(struct ffs_data *ffs)
 	}
 
 	ffs_obj->desc_ready = true;
-	ffs_obj->ffs_data = ffs;
 
 	if (ffs_obj->ffs_ready_callback) {
 		ret = ffs_obj->ffs_ready_callback(ffs);
@@ -3807,7 +3807,6 @@ static void ffs_closed(struct ffs_data *ffs)
 		goto done;
 
 	ffs_obj->desc_ready = false;
-	ffs_obj->ffs_data = NULL;
 
 	if (test_and_clear_bit(FFS_FL_CALL_CLOSED_CALLBACK, &ffs->flags) &&
 	    ffs_obj->ffs_closed_callback)
-- 
2.30.2




  parent reply	other threads:[~2021-07-12  6:28 UTC|newest]

Thread overview: 356+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-12  6:06 [PATCH 5.4 000/348] 5.4.132-rc1 review Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 001/348] ALSA: usb-audio: fix rate on Ozone Z90 USB headset Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 002/348] ALSA: usb-audio: Fix OOB access at proc output Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 003/348] ALSA: usb-audio: scarlett2: Fix wrong resume call Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 004/348] ALSA: intel8x0: Fix breakage at ac97 clock measurement Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 005/348] ALSA: hda/realtek: Add another ALC236 variant support Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 006/348] ALSA: hda/realtek: Improve fixup for HP Spectre x360 15-df0xxx Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 007/348] ALSA: hda/realtek: Fix bass speaker DAC mapping for Asus UM431D Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 008/348] ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 009/348] media: dvb-usb: fix wrong definition Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 010/348] Input: usbtouchscreen - fix control-request directions Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 011/348] net: can: ems_usb: fix use-after-free in ems_usb_disconnect() Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 012/348] usb: gadget: eem: fix echo command packet response issue Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 013/348] USB: cdc-acm: blacklist Heimann USB Appset device Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 014/348] usb: dwc3: Fix debugfs creation flow Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 015/348] usb: typec: Add the missed altmode_id_remove() in typec_register_altmode() Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 016/348] xhci: solve a double free problem while doing s4 Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 017/348] ntfs: fix validity check for file name attribute Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 018/348] copy_page_to_iter(): fix ITER_DISCARD case Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 019/348] [xarray] iov_iter_fault_in_readable() should do nothing in xarray case Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 020/348] Input: joydev - prevent use of not validated data in JSIOCSBTNMAP ioctl Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 021/348] arm_pmu: Fix write counter incorrect in ARMv7 big-endian mode Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 022/348] ARM: dts: at91: sama5d4: fix pinctrl muxing Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 023/348] btrfs: send: fix invalid path for unlink operations after parent orphanization Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 024/348] btrfs: clear defrag status of a root if starting transaction fails Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 025/348] ext4: cleanup in-core orphan list if ext4_truncate() failed to get a transaction handle Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 026/348] ext4: fix kernel infoleak via ext4_extent_header Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 027/348] ext4: return error code when ext4_fill_flex_info() fails Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 028/348] ext4: correct the cache_nr in tracepoint ext4_es_shrink_exit Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 029/348] ext4: remove check for zero nr_to_scan in ext4_es_scan() Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 030/348] ext4: fix avefreec in find_group_orlov Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 031/348] ext4: use ext4_grp_locked_error in mb_find_extent Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 032/348] can: bcm: delay release of struct bcm_op after synchronize_rcu() Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 033/348] can: gw: synchronize rcu operations before removing gw job entry Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 034/348] can: j1939: j1939_sk_init(): set SOCK_RCU_FREE to call sk_destruct() after RCU is done Greg Kroah-Hartman
2021-07-12  6:06 ` [PATCH 5.4 035/348] can: peak_pciefd: pucan_handle_status(): fix a potential starvation issue in TX path Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 036/348] mac80211: remove iwlwifi specific workaround that broke sta NDP tx Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 037/348] SUNRPC: Fix the batch tasks count wraparound Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 038/348] SUNRPC: Should wake up the privileged task firstly Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 039/348] perf/smmuv3: Dont trample existing events with global filter Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 040/348] KVM: PPC: Book3S HV: Workaround high stack usage with clang Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 041/348] s390/cio: dont call css_wait_for_slow_path() inside a lock Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 042/348] rtc: stm32: Fix unbalanced clk_disable_unprepare() on probe error path Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 043/348] iio: light: tcs3472: do not free unallocated IRQ Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 044/348] iio: ltr501: mark register holding upper 8 bits of ALS_DATA{0,1} and PS_DATA as volatile, too Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 045/348] iio: ltr501: ltr559: fix initialization of LTR501_ALS_CONTR Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 046/348] iio: ltr501: ltr501_read_ps(): add missing endianness conversion Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 047/348] serial: mvebu-uart: fix calculation of clock divisor Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 048/348] serial: sh-sci: Stop dmaengine transfer in sci_stop_tx() Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 049/348] serial_cs: Add Option International GSM-Ready 56K/ISDN modem Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 050/348] serial_cs: remove wrong GLOBETROTTER.cis entry Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 051/348] ath9k: Fix kernel NULL pointer dereference during ath_reset_internal() Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 052/348] ssb: sdio: Dont overwrite const buffer if block_write fails Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 053/348] rsi: Assign beacon rate settings to the correct rate_info descriptor field Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 054/348] rsi: fix AP mode with WPA failure due to encrypted EAPOL Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 055/348] tracing/histograms: Fix parsing of "sym-offset" modifier Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 056/348] tracepoint: Add tracepoint_probe_register_may_exist() for BPF tracing Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 057/348] seq_buf: Make trace_seq_putmem_hex() support data longer than 8 Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 058/348] powerpc/stacktrace: Fix spurious "stale" traces in raise_backtrace_ipi() Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 059/348] evm: Execute evm_inode_init_security() only when an HMAC key is loaded Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 060/348] evm: Refuse EVM_ALLOW_METADATA_WRITES only if " Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 061/348] fuse: ignore PG_workingset after stealing Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 062/348] fuse: check connected before queueing on fpq->io Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 063/348] fuse: reject internal errno Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 064/348] spi: Make of_register_spi_device also set the fwnode Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 065/348] media: mdk-mdp: fix pm_runtime_get_sync() usage count Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 066/348] media: s5p: " Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 067/348] media: sh_vou: " Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 068/348] media: mtk-vcodec: fix PM runtime get logic Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 069/348] media: s5p-jpeg: fix pm_runtime_get_sync() usage count Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 070/348] media: sti/bdisp: " Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 071/348] media: exynos-gsc: " Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 072/348] spi: spi-loopback-test: Fix tx_buf might be rx_buf Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 073/348] spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages() Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 074/348] spi: omap-100k: Fix the length judgment problem Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 075/348] regulator: uniphier: Add missing MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 076/348] hwrng: exynos - Fix runtime PM imbalance on error Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 077/348] crypto: nx - add missing MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 078/348] media: sti: fix obj-$(config) targets Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 079/348] media: cpia2: fix memory leak in cpia2_usb_probe Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 080/348] media: cobalt: fix race condition in setting HPD Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 081/348] media: pvrusb2: fix warning in pvr2_i2c_core_done Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 082/348] media: imx: imx7_mipi_csis: Fix logging of only error event counters Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 083/348] crypto: qat - check return code of qat_hal_rd_rel_reg() Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 084/348] crypto: qat - remove unused macro in FW loader Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 085/348] sched/fair: Fix ascii art by relpacing tabs Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 086/348] media: em28xx: Fix possible memory leak of em28xx struct Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 087/348] media: v4l2-core: Avoid the dangling pointer in v4l2_fh_release Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 088/348] media: bt8xx: Fix a missing check bug in bt878_probe Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 089/348] media: st-hva: Fix potential NULL pointer dereferences Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 090/348] Makefile: fix GDB warning with CONFIG_RELR Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 091/348] media: dvd_usb: memory leak in cinergyt2_fe_attach Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 092/348] memstick: rtsx_usb_ms: fix UAF Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 093/348] mmc: sdhci-sprd: use sdhci_sprd_writew Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 094/348] mmc: via-sdmmc: add a check against NULL pointer dereference Greg Kroah-Hartman
2021-07-12  6:07 ` [PATCH 5.4 095/348] crypto: shash - avoid comparing pointers to exported functions under CFI Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 096/348] media: dvb_net: avoid speculation from net slot Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 097/348] media: siano: fix device register error path Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 098/348] media: imx-csi: Skip first few frames from a BT.656 source Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 099/348] hwmon: (max31790) Report correct current pwm duty cycles Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 100/348] hwmon: (max31790) Fix pwmX_enable attributes Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 101/348] drivers/perf: fix the missed ida_simple_remove() in ddr_perf_probe() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 102/348] KVM: PPC: Book3S HV: Fix TLB management on SMT8 POWER9 and POWER10 processors Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 103/348] btrfs: fix error handling in __btrfs_update_delayed_inode Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 104/348] btrfs: abort transaction if we fail to update the delayed inode Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 105/348] btrfs: disable build on platforms having page size 256K Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 106/348] locking/lockdep: Fix the dep path printing for backwards BFS Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 107/348] lockding/lockdep: Avoid to find wrong lock dep path in check_irq_usage() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 108/348] KVM: s390: get rid of register asm usage Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 109/348] regulator: mt6358: Fix vdram2 .vsel_mask Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 110/348] regulator: da9052: Ensure enough delay time for .set_voltage_time_sel Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 111/348] media: Fix Media Controller API config checks Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 112/348] HID: do not use down_interruptible() when unbinding devices Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 113/348] EDAC/ti: Add missing MODULE_DEVICE_TABLE Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 114/348] ACPI: processor idle: Fix up C-state latency if not ordered Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 115/348] hv_utils: Fix passing zero to PTR_ERR warning Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 116/348] lib: vsprintf: Fix handling of number field widths in vsscanf Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 117/348] ACPI: EC: Make more Asus laptops use ECDT _GPE Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 118/348] block_dump: remove block_dump feature in mark_inode_dirty() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 119/348] fs: dlm: cancel work sync othercon Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 120/348] random32: Fix implicit truncation warning in prandom_seed_state() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 121/348] fs: dlm: fix memory leak when fenced Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 122/348] ACPICA: Fix memory leak caused by _CID repair function Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 123/348] ACPI: bus: Call kobject_put() in acpi_init() error path Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 124/348] ACPI: resources: Add checks for ACPI IRQ override Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 125/348] block: fix race between adding/removing rq qos and normal IO Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 126/348] platform/x86: toshiba_acpi: Fix missing error code in toshiba_acpi_setup_keyboard() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 127/348] nvmet-fc: do not check for invalid target port in nvmet_fc_handle_fcp_rqst() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 128/348] EDAC/Intel: Do not load EDAC driver when running as a guest Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 129/348] PCI: hv: Add check for hyperv_initialized in init_hv_pci_drv() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 130/348] clocksource: Retry clock read if long delays detected Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 131/348] ACPI: tables: Add custom DSDT file as makefile prerequisite Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 132/348] HID: wacom: Correct base usage for capacitive ExpressKey status bits Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 133/348] cifs: fix missing spinlock around update to ses->status Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 134/348] block: fix discard request merge Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 135/348] kthread_worker: fix return value when kthread_mod_delayed_work() races with kthread_cancel_delayed_work_sync() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 136/348] ia64: mca_drv: fix incorrect array size calculation Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 137/348] writeback, cgroup: increment isw_nr_in_flight before grabbing an inode Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 138/348] media: s5p_cec: decrement usage count if disabled Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 139/348] crypto: ixp4xx - dma_unmap the correct address Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 140/348] crypto: ux500 - Fix error return code in hash_hw_final() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 141/348] sata_highbank: fix deferred probing Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 142/348] pata_rb532_cf: " Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 143/348] media: I2C: change RST to "RSET" to fix multiple build errors Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 144/348] sched/uclamp: Fix wrong implementation of cpu.uclamp.min Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 145/348] sched/uclamp: Fix locking around cpu_util_update_eff() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 146/348] kbuild: run the checker after the compiler Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 147/348] kbuild: Fix objtool dependency for OBJECT_FILES_NON_STANDARD_<obj> := n Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 148/348] pata_octeon_cf: avoid WARN_ON() in ata_host_activate() Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 149/348] evm: fix writing <securityfs>/evm overflow Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 150/348] crypto: ccp - Fix a resource leak in an error handling path Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 151/348] media: rc: i2c: Fix an error message Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 152/348] pata_ep93xx: fix deferred probing Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 153/348] media: exynos4-is: Fix a use after free in isp_video_release Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 154/348] media: au0828: fix a NULL vs IS_ERR() check Greg Kroah-Hartman
2021-07-12  6:08 ` [PATCH 5.4 155/348] media: tc358743: Fix error return code in tc358743_probe_of() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 156/348] media: gspca/gl860: fix zero-length control requests Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 157/348] m68k: atari: Fix ATARI_KBD_CORE kconfig unmet dependency warning Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 158/348] media: siano: Fix out-of-bounds warnings in smscore_load_firmware_family2() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 159/348] crypto: nitrox - fix unchecked variable in nitrox_register_interrupts Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 160/348] crypto: omap-sham - Fix PM reference leak in omap sham ops Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 161/348] mmc: usdhi6rol0: fix error return code in usdhi6_probe() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 162/348] arm64: consistently use reserved_pg_dir Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 163/348] arm64/mm: Fix ttbr0 values stored in struct thread_info for software-pan Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 164/348] media: s5p-g2d: Fix a memory leak on ctx->fh.m2m_ctx Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 165/348] hwmon: (max31722) Remove non-standard ACPI device IDs Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 166/348] hwmon: (max31790) Fix fan speed reporting for fan7..12 Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 167/348] KVM: nVMX: Ensure 64-bit shift when checking VMFUNC bitmap Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 168/348] regulator: hi655x: Fix pass wrong pointer to config.driver_data Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 169/348] btrfs: clear log tree recovering status if starting transaction fails Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 170/348] sched/rt: Fix RT utilization tracking during policy change Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 171/348] sched/rt: Fix Deadline " Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 172/348] sched/uclamp: Fix uclamp_tg_restrict() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 173/348] spi: spi-sun6i: Fix chipselect/clock bug Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 174/348] crypto: nx - Fix RCU warning in nx842_OF_upd_status Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 175/348] ACPI: sysfs: Fix a buffer overrun problem with description_show() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 176/348] extcon: extcon-max8997: Fix IRQ freeing at error path Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 177/348] blk-wbt: introduce a new disable state to prevent false positive by rwb_enabled() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 178/348] blk-wbt: make sure throttle is enabled properly Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 179/348] ACPI: Use DEVICE_ATTR_<RW|RO|WO> macros Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 180/348] ACPI: bgrt: Fix CFI violation Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 181/348] cpufreq: Make cpufreq_online() call driver->offline() on errors Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 182/348] ocfs2: fix snprintf() checking Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 183/348] dax: fix ENOMEM handling in grab_mapping_entry() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 184/348] xfrm: xfrm_state_mtu should return at least 1280 for ipv6 Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 185/348] video: fbdev: imxfb: Fix an error message Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 186/348] net: mvpp2: Put fwnode in error case during ->probe() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 187/348] net: pch_gbe: Propagate error from devm_gpio_request_one() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 188/348] pinctrl: renesas: r8a7796: Add missing bias for PRESET# pin Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 189/348] pinctrl: renesas: r8a77990: JTAG pins do not have pull-down capabilities Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 190/348] clk: meson: g12a: fix gp0 and hifi ranges Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 191/348] net: ftgmac100: add missing error return code in ftgmac100_probe() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 192/348] drm/rockchip: cdn-dp-core: add missing clk_disable_unprepare() on error in cdn_dp_grf_write() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 193/348] drm/rockchip: dsi: move all lane config except LCDC mux to bind() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 194/348] ehea: fix error return code in ehea_restart_qps() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 195/348] net/sched: act_vlan: Fix modify to allow 0 Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 196/348] RDMA/core: Sanitize WQ state received from the userspace Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 197/348] RDMA/rxe: Fix failure during driver load Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 198/348] drm: qxl: ensure surf.data is ininitialized Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 199/348] tools/bpftool: Fix error return code in do_batch() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 200/348] ath10k: go to path err_unsupported when chip id is not supported Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 201/348] ath10k: add missing error return code in ath10k_pci_probe() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 202/348] wireless: carl9170: fix LEDS build errors & warnings Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 203/348] ieee802154: hwsim: Fix possible memory leak in hwsim_subscribe_all_others Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 204/348] wcn36xx: Move hal_buf allocation to devm_kmalloc in probe Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 205/348] ssb: Fix error return code in ssb_bus_scan() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 206/348] brcmfmac: fix setting of station info chains bitmask Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 207/348] brcmfmac: correctly report average RSSI in station info Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 208/348] brcmsmac: mac80211_if: Fix a resource leak in an error handling path Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 209/348] ath10k: Fix an error code in ath10k_add_interface() Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 210/348] netlabel: Fix memory leak in netlbl_mgmt_add_common Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 211/348] RDMA/mlx5: Dont add slave port to unaffiliated list Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 212/348] netfilter: nft_exthdr: check for IPv6 packet before further processing Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 213/348] netfilter: nft_osf: check for TCP " Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 214/348] netfilter: nft_tproxy: restrict support to TCP and UDP transport protocols Greg Kroah-Hartman
2021-07-12  6:09 ` [PATCH 5.4 215/348] RDMA/rxe: Fix qp reference counting for atomic ops Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 216/348] samples/bpf: Fix the error return code of xdp_redirects main() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 217/348] net: ethernet: aeroflex: fix UAF in greth_of_remove Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 218/348] net: ethernet: ezchip: fix UAF in nps_enet_remove Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 219/348] net: ethernet: ezchip: fix error handling Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 220/348] vrf: do not push non-ND strict packets with a source LLA through packet taps again Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 221/348] net: sched: add barrier to ensure correct ordering for lockless qdisc Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 222/348] tls: prevent oversized sendfile() hangs by ignoring MSG_MORE Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 223/348] pkt_sched: sch_qfq: fix qfq_change_class() error path Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 224/348] vxlan: add missing rcu_read_lock() in neigh_reduce() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 225/348] net/ipv4: swap flow ports when validating source Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 226/348] tc-testing: fix list handling Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 227/348] ieee802154: hwsim: Fix memory leak in hwsim_add_one Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 228/348] ieee802154: hwsim: avoid possible crash in hwsim_del_edge_nl() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 229/348] mac80211: remove iwlwifi specific workaround NDPs of null_response Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 230/348] net: bcmgenet: Fix attaching to PYH failed on RPi 4B Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 231/348] ipv6: exthdrs: do not blindly use init_net Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 232/348] bpf: Do not change gso_size during bpf_skb_change_proto() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 233/348] i40e: Fix error handling in i40e_vsi_open Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 234/348] i40e: Fix autoneg disabling for non-10GBaseT links Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 235/348] Revert "ibmvnic: remove duplicate napi_schedule call in open function" Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 236/348] ibmvnic: free tx_pool if tso_pool alloc fails Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 237/348] ipv6: fix out-of-bound access in ip6_parse_tlv() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 238/348] e1000e: Check the PCIm state Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 239/348] bpfilter: Specify the log level for the kmsg message Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 240/348] gve: Fix swapped vars when fetching max queues Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 241/348] Revert "be2net: disable bh with spin_lock in be_process_mcc" Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 242/348] Bluetooth: mgmt: Fix slab-out-of-bounds in tlv_data_is_valid Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 243/348] Bluetooth: Fix handling of HCI_LE_Advertising_Set_Terminated event Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 244/348] clk: actions: Fix UART clock dividers on Owl S500 SoC Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 245/348] clk: actions: Fix SD clocks factor table " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 246/348] clk: actions: Fix bisp_factor_table based clocks " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 247/348] clk: si5341: Avoid divide errors due to bogus register contents Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 248/348] clk: si5341: Update initialization magic Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 249/348] writeback: fix obtain a reference to a freeing memcg css Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 250/348] net: lwtunnel: handle MTU calculation in forwading Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 251/348] net: sched: fix warning in tcindex_alloc_perfect_hash Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 252/348] RDMA/mlx5: Dont access NULL-cleared mpi pointer Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 253/348] MIPS: Fix PKMAP with 32-bit MIPS huge page support Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 254/348] staging: fbtft: Rectify GPIO handling Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 255/348] rcu: Invoke rcu_spawn_core_kthreads() from rcu_spawn_gp_kthread() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 256/348] tty: nozomi: Fix a resource leak in an error handling function Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 257/348] mwifiex: re-fix for unaligned accesses Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 258/348] iio: adis_buffer: do not return ints in irq handlers Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 259/348] iio: adis16400: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 260/348] iio: accel: bma180: Fix buffer alignment in iio_push_to_buffers_with_timestamp() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 261/348] iio: accel: bma220: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 262/348] iio: accel: hid: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 263/348] iio: accel: kxcjk-1013: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 264/348] iio:accel:mxc4005: Drop unnecessary explicit casts in regmap_bulk_read calls Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 265/348] iio: accel: mxc4005: Fix overread of data and alignment issue Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 266/348] iio: accel: stk8312: Fix buffer alignment in iio_push_to_buffers_with_timestamp() Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 267/348] iio: accel: stk8ba50: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 268/348] iio: adc: ti-ads1015: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 269/348] iio: adc: vf610: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 270/348] iio: gyro: bmg160: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 271/348] iio: humidity: am2315: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 272/348] iio: prox: srf08: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 273/348] iio: prox: pulsed-light: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 274/348] iio: prox: as3935: " Greg Kroah-Hartman
2021-07-12  6:10 ` [PATCH 5.4 275/348] iio: magn: hmc5843: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 276/348] iio: magn: bmc150: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 277/348] iio: light: isl29125: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 278/348] iio: light: tcs3414: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 279/348] iio: light: tcs3472: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 280/348] iio: cros_ec_sensors: Fix alignment of buffer " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 281/348] iio: potentiostat: lmp91000: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 282/348] ASoC: rk3328: fix missing clk_disable_unprepare() on error in rk3328_platform_probe() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 283/348] ASoC: hisilicon: fix missing clk_disable_unprepare() on error in hi6210_i2s_startup() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 284/348] backlight: lm3630a_bl: Put fwnode in error case during ->probe() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 285/348] ASoC: rsnd: tidyup loop on rsnd_adg_clk_query() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 286/348] Input: hil_kbd - fix error return code in hil_dev_connect() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 287/348] mtd: partitions: redboot: seek fis-index-block in the right node Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 288/348] char: pcmcia: error out if num_bytes_read is greater than 4 in set_protocol() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 289/348] firmware: stratix10-svc: Fix a resource leak in an error handling path Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 290/348] tty: nozomi: Fix the error handling path of nozomi_card_init() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 291/348] leds: lm3532: select regmap I2C API Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 292/348] leds: lm36274: cosmetic: rename lm36274_data to chip Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 293/348] leds: lm3692x: Put fwnode in any case during ->probe() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 294/348] scsi: FlashPoint: Rename si_flags field Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 295/348] fsi: core: Fix return of error values on failures Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 296/348] fsi: scom: Reset the FSI2PIB engine for any error Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 297/348] fsi: occ: Dont accept response from un-initialized OCC Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 298/348] fsi/sbefifo: Clean up correct FIFO when receiving reset request from SBE Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 299/348] fsi/sbefifo: Fix reset timeout Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 300/348] visorbus: fix error return code in visorchipset_init() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 301/348] s390: appldata depends on PROC_SYSCTL Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 302/348] iommu/dma: Fix IOVA reserve dma ranges Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 303/348] ASoC: mediatek: mtk-btcvsd: Fix an error handling path in mtk_btcvsd_snd_probe() Greg Kroah-Hartman
2021-07-12  6:11 ` Greg Kroah-Hartman [this message]
2021-07-12  6:11 ` [PATCH 5.4 305/348] usb: dwc2: Dont reset the core after setting turnaround time Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 306/348] eeprom: idt_89hpesx: Put fwnode in matching case during ->probe() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 307/348] eeprom: idt_89hpesx: Restore printing the unsupported fwnode name Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 308/348] iio: at91-sama5d2_adc: remove usage of iio_priv_to_dev() helper Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 309/348] iio: adc: at91-sama5d2: Fix buffer alignment in iio_push_to_buffers_with_timestamp() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 310/348] iio: adc: hx711: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 311/348] iio: adc: mxs-lradc: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 312/348] iio: adc: ti-ads8688: Fix alignment of buffer " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 313/348] iio: magn: rm3100: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 314/348] staging: gdm724x: check for buffer overflow in gdm_lte_multi_sdu_pkt() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 315/348] staging: gdm724x: check for overflow in gdm_lte_netif_rx() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 316/348] staging: rtl8712: remove redundant check in r871xu_drv_init Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 317/348] staging: rtl8712: fix memory leak in rtl871x_load_fw_cb Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 318/348] staging: mt7621-dts: fix pci address for PCI memory range Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 319/348] serial: 8250: Actually allow UPF_MAGIC_MULTIPLIER baud rates Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 320/348] iio: light: vcnl4035: Fix buffer alignment in iio_push_to_buffers_with_timestamp() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 321/348] iio: prox: isl29501: " Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 322/348] ASoC: cs42l42: Correct definition of CS42L42_ADC_PDN_MASK Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 323/348] of: Fix truncation of memory sizes on 32-bit platforms Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 324/348] mtd: rawnand: marvell: add missing clk_disable_unprepare() on error in marvell_nfc_resume() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 325/348] scsi: mpt3sas: Fix error return value in _scsih_expander_add() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 326/348] soundwire: stream: Fix test for DP prepare complete Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 327/348] phy: uniphier-pcie: Fix updating phy parameters Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 328/348] phy: ti: dm816x: Fix the error handling path in dm816x_usb_phy_probe() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 329/348] extcon: sm5502: Drop invalid register write in sm5502_reg_data Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 330/348] extcon: max8997: Add missing modalias string Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 331/348] ASoC: atmel-i2s: Fix usage of capture and playback at the same time Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 332/348] configfs: fix memleak in configfs_release_bin_file Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 333/348] leds: as3645a: Fix error return code in as3645a_parse_node() Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 334/348] leds: ktd2692: Fix an error handling path Greg Kroah-Hartman
2021-07-12  6:11 ` [PATCH 5.4 335/348] powerpc: Offline CPU in stop_this_cpu() Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 336/348] serial: mvebu-uart: do not allow changing baudrate when uartclk is not available Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 337/348] serial: mvebu-uart: correctly calculate minimal possible baudrate Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 338/348] arm64: dts: marvell: armada-37xx: Fix reg for standard variant of UART Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 339/348] vfio/pci: Handle concurrent vma faults Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 340/348] mm/huge_memory.c: dont discard hugepage if other processes are mapping it Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 341/348] mm/z3fold: fix potential memory leak in z3fold_destroy_pool() Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 342/348] selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 343/348] perf llvm: Return -ENOMEM when asprintf() fails Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 344/348] scsi: target: cxgbit: Unmap DMA buffer before calling target_execute_cmd() Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 345/348] block: return the correct bvec when checking for gaps Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 346/348] mmc: block: Disable CMDQ on the ioctl path Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 347/348] mmc: vub3000: fix control-request direction Greg Kroah-Hartman
2021-07-12  6:12 ` [PATCH 5.4 348/348] scsi: core: Retry I/O for Notify (Enable Spinup) Required error Greg Kroah-Hartman
2021-07-12  9:18 ` [PATCH 5.4 000/348] 5.4.132-rc1 review Jon Hunter
2021-07-12 13:07 ` Naresh Kamboju
2021-07-12 18:54   ` Greg Kroah-Hartman
2021-07-12 13:13 ` Jon Hunter
2021-07-12 13:44 ` Guenter Roeck
2021-07-12 18:53   ` Greg Kroah-Hartman
2021-07-12 16:57 ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210712060744.050174751@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andrew_gabbasov@mentor.com \
    --cc=bhuvanesh_surachari@mentor.com \
    --cc=erosca@de.adit-jv.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).