diff mbox series

[net-next] ibmvnic: workaround QT Creator/libCPlusPlus segfault

Message ID 20210121220150.GA1485603@localhost.localdomain
State Superseded
Headers show
Series [net-next] ibmvnic: workaround QT Creator/libCPlusPlus segfault | expand

Commit Message

Alexey Dobriyan Jan. 21, 2021, 10:01 p.m. UTC
My name is Alexey and I've tried to use IDE for kernel development.

QT Creator segfaults while parsing ibmvnic.c which is annoying as it
will start parsing after restart only to crash again.

The workaround is to either exclude ibmvnic.c from list of project files
or to apply dummy ifdef to hide the offending code.

https://bugzilla.redhat.com/show_bug.cgi?id=1886548

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
---

 drivers/net/ethernet/ibm/ibmvnic.c |    3 +++
 1 file changed, 3 insertions(+)

Comments

Andrew Lunn Jan. 21, 2021, 10:31 p.m. UTC | #1
On Fri, Jan 22, 2021 at 01:01:50AM +0300, Alexey Dobriyan wrote:
> My name is Alexey and I've tried to use IDE for kernel development.
> 
> QT Creator segfaults while parsing ibmvnic.c which is annoying as it
> will start parsing after restart only to crash again.
> 
> The workaround is to either exclude ibmvnic.c from list of project files
> or to apply dummy ifdef to hide the offending code.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1886548

Sorry, but this is not going to be accepted.

Can you narrow it down further. In bugzilla, you say the includes are
wrong. How exactly?

       Andrew
Jakub Kicinski Jan. 22, 2021, 2:44 a.m. UTC | #2
On Fri, 22 Jan 2021 01:07:39 +0300 Alexey Dobriyan wrote:
> My name is Alexey and I've tried to use IDE for kernel development.

> 

> QT Creator segfaults while parsing ibmvnic.c which is annoying as it

> will start parsing after restart only to crash again.

> 

> The workaround is to either exclude ibmvnic.c from list of project files

> or to apply dummy ifdef to hide the offending code.

> 

> https://bugzilla.redhat.com/show_bug.cgi?id=1886548

> 

> Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>


That's a bug in QT Creator and whatever parsing it does/uses.

Sorry we can't take this patch, there is no indication that the kernel
code is actually wrong here.
Alexey Dobriyan Jan. 22, 2021, 7:25 a.m. UTC | #3
On Thu, Jan 21, 2021 at 06:44:54PM -0800, Jakub Kicinski wrote:
> On Fri, 22 Jan 2021 01:07:39 +0300 Alexey Dobriyan wrote:

> > My name is Alexey and I've tried to use IDE for kernel development.

> > 

> > QT Creator segfaults while parsing ibmvnic.c which is annoying as it

> > will start parsing after restart only to crash again.

> > 

> > The workaround is to either exclude ibmvnic.c from list of project files

> > or to apply dummy ifdef to hide the offending code.

> > 

> > https://bugzilla.redhat.com/show_bug.cgi?id=1886548

> > 

> > Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>

> 

> That's a bug in QT Creator and whatever parsing it does/uses.

> 

> Sorry we can't take this patch, there is no indication that the kernel

> code is actually wrong here.


It is QtC bug. It will take ages for distros to pick up the fix
(which doesn't even exist probably).
diff mbox series

Patch

--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -5080,6 +5080,8 @@  static void ibmvnic_tasklet(struct tasklet_struct *t)
 	unsigned long flags;
 	bool done = false;
 
+	/* workaround QT Creator/libCPlusPlus.so segfault with dummy ifdef */
+#ifdef CONFIG_IBMVNIC
 	spin_lock_irqsave(&queue->lock, flags);
 	while (!done) {
 		/* Pull all the valid messages off the CRQ */
@@ -5100,6 +5102,7 @@  static void ibmvnic_tasklet(struct tasklet_struct *t)
 	if (atomic_read(&adapter->running_cap_crqs) != 0)
 		adapter->wait_capability = true;
 	spin_unlock_irqrestore(&queue->lock, flags);
+#endif
 }
 
 static int ibmvnic_reenable_crq_queue(struct ibmvnic_adapter *adapter)