[PATCH] sigprocmask and invalid how parameter

Steve G (linux_4ever@yahoo.com)
Sun, 25 May 2003 06:33:58 -0700 (PDT)


This is a MIME-formatted message. If you see this text it means that your
E-mail software does not support MIME-formatted messages.

--=_courier-6728-1053870672-0001-2
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Id:
Content-Disposition: inline

Hello,

I was playing around with sigprocmask and found that if the
"how" parameter was bad, the kernel treated it just like a
SIG_SETMASK was passed in except that it returned an error.
I think that it should perform no action if "how" is
invalid.

The attached patch makes the kernel unlock the irq and
leave if how is invalid. The patch was created against a
2.4.18 kernel, but this function hasn't changed. Even the
2.5 kernels look the same for this function.

Best Regards,
-Steve Grubb

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com
--=_courier-6728-1053870672-0001-2
Content-Type: text/plain; name="inv_how.patch"; charset=iso-8859-1
Content-Transfer-Encoding: 7bit
Content-Description: inv_how.patch
Content-Disposition: inline; filename="inv_how.patch"

--- signal.c.orig 2003-05-25 07:12:46.000000000 -0400
+++ signal.c 2003-05-25 07:15:02.000000000 -0400
@@ -885,11 +885,13 @@
break;
}

+ if (error) {
+ spin_unlock_irq(&current->sigmask_lock);
+ goto out;
+ }
current->blocked = new_set;
recalc_sigpending(current);
spin_unlock_irq(&current->sigmask_lock);
- if (error)
- goto out;
if (oset)
goto set_old;
} else if (oset) {

--=_courier-6728-1053870672-0001-2--