Greg KH
2022-Feb-28 11:20 UTC
[Nouveau] [PATCH 2/6] treewide: remove using list iterator after loop body as a ptr
On Mon, Feb 28, 2022 at 12:08:18PM +0100, Jakob Koschel wrote:> If the list does not contain the expected element, the value of > list_for_each_entry() iterator will not point to a valid structure. > To avoid type confusion in such case, the list iterator > scope will be limited to list_for_each_entry() loop. > > In preparation to limiting scope of a list iterator to the list traversal > loop, use a dedicated pointer to point to the found element. > Determining if an element was found is then simply checking if > the pointer is != NULL. > > Signed-off-by: Jakob Koschel <jakobkoschel at gmail.com> > --- > arch/x86/kernel/cpu/sgx/encl.c | 6 +++-- > drivers/scsi/scsi_transport_sas.c | 17 ++++++++----- > drivers/thermal/thermal_core.c | 38 ++++++++++++++++++---------- > drivers/usb/gadget/configfs.c | 22 ++++++++++------ > drivers/usb/gadget/udc/max3420_udc.c | 11 +++++--- > drivers/usb/gadget/udc/tegra-xudc.c | 11 +++++--- > drivers/usb/mtu3/mtu3_gadget.c | 11 +++++--- > drivers/usb/musb/musb_gadget.c | 11 +++++--- > drivers/vfio/mdev/mdev_core.c | 11 +++++--- > 9 files changed, 88 insertions(+), 50 deletions(-)The drivers/usb/ portion of this patch should be in patch 1/X, right? Also, you will have to split these up per-subsystem so that the different subsystem maintainers can take these in their trees. thanks, greg k-h
Jakob Koschel
2022-Feb-28 12:06 UTC
[Nouveau] [PATCH 2/6] treewide: remove using list iterator after loop body as a ptr
> On 28. Feb 2022, at 12:20, Greg KH <gregkh at linuxfoundation.org> wrote: > > On Mon, Feb 28, 2022 at 12:08:18PM +0100, Jakob Koschel wrote: >> If the list does not contain the expected element, the value of >> list_for_each_entry() iterator will not point to a valid structure. >> To avoid type confusion in such case, the list iterator >> scope will be limited to list_for_each_entry() loop. >> >> In preparation to limiting scope of a list iterator to the list traversal >> loop, use a dedicated pointer to point to the found element. >> Determining if an element was found is then simply checking if >> the pointer is != NULL. >> >> Signed-off-by: Jakob Koschel <jakobkoschel at gmail.com> >> --- >> arch/x86/kernel/cpu/sgx/encl.c | 6 +++-- >> drivers/scsi/scsi_transport_sas.c | 17 ++++++++----- >> drivers/thermal/thermal_core.c | 38 ++++++++++++++++++---------- >> drivers/usb/gadget/configfs.c | 22 ++++++++++------ >> drivers/usb/gadget/udc/max3420_udc.c | 11 +++++--- >> drivers/usb/gadget/udc/tegra-xudc.c | 11 +++++--- >> drivers/usb/mtu3/mtu3_gadget.c | 11 +++++--- >> drivers/usb/musb/musb_gadget.c | 11 +++++--- >> drivers/vfio/mdev/mdev_core.c | 11 +++++--- >> 9 files changed, 88 insertions(+), 50 deletions(-) > > The drivers/usb/ portion of this patch should be in patch 1/X, right?I kept them separate since it's a slightly different case. Using 'ptr' instead of '&ptr->other_member'. Regardless, I'll split this commit up as you mentioned.> > Also, you will have to split these up per-subsystem so that the > different subsystem maintainers can take these in their trees.Thanks for the feedback. To clarify I understand you correctly: I should do one patch set per-subsystem with every instance/(file?) fixed as a separate commit? If I understand correctly, I'll repost accordingly.> > thanks, > > greg k-hthanks, Jakob Koschel
Greg KH
2022-Mar-01 17:37 UTC
[Nouveau] [PATCH 2/6] treewide: remove using list iterator after loop body as a ptr
On Mon, Feb 28, 2022 at 01:06:57PM +0100, Jakob Koschel wrote:> > > > On 28. Feb 2022, at 12:20, Greg KH <gregkh at linuxfoundation.org> wrote: > > > > On Mon, Feb 28, 2022 at 12:08:18PM +0100, Jakob Koschel wrote: > >> If the list does not contain the expected element, the value of > >> list_for_each_entry() iterator will not point to a valid structure. > >> To avoid type confusion in such case, the list iterator > >> scope will be limited to list_for_each_entry() loop. > >> > >> In preparation to limiting scope of a list iterator to the list traversal > >> loop, use a dedicated pointer to point to the found element. > >> Determining if an element was found is then simply checking if > >> the pointer is != NULL. > >> > >> Signed-off-by: Jakob Koschel <jakobkoschel at gmail.com> > >> --- > >> arch/x86/kernel/cpu/sgx/encl.c | 6 +++-- > >> drivers/scsi/scsi_transport_sas.c | 17 ++++++++----- > >> drivers/thermal/thermal_core.c | 38 ++++++++++++++++++---------- > >> drivers/usb/gadget/configfs.c | 22 ++++++++++------ > >> drivers/usb/gadget/udc/max3420_udc.c | 11 +++++--- > >> drivers/usb/gadget/udc/tegra-xudc.c | 11 +++++--- > >> drivers/usb/mtu3/mtu3_gadget.c | 11 +++++--- > >> drivers/usb/musb/musb_gadget.c | 11 +++++--- > >> drivers/vfio/mdev/mdev_core.c | 11 +++++--- > >> 9 files changed, 88 insertions(+), 50 deletions(-) > > > > The drivers/usb/ portion of this patch should be in patch 1/X, right? > > I kept them separate since it's a slightly different case. > Using 'ptr' instead of '&ptr->other_member'. Regardless, I'll split > this commit up as you mentioned. > > > > > Also, you will have to split these up per-subsystem so that the > > different subsystem maintainers can take these in their trees. > > Thanks for the feedback. > To clarify I understand you correctly: > I should do one patch set per-subsystem with every instance/(file?) > fixed as a separate commit?Yes, each file needs a different commit as they are usually all written or maintained by different people. As I said in my other response, if you need any help with this, just let me know, I'm glad to help. thanks, greg k-h