Messages in this thread | | | Date | Thu, 18 Dec 2008 01:45:44 +0900 | From | Tejun Heo <> | Subject | Re: [RFC] globmatch() helper function |
| |
Peter Zijlstra wrote: > On Thu, 2008-12-18 at 01:33 +0900, Tejun Heo wrote: >> Steven Rostedt wrote: >>> On Thu, 2008-12-18 at 01:22 +0900, Tejun Heo wrote: >>>> Hello, >>>> >>>> George Spelvin wrote: >>>>> Do people think that would be, on balance, better? It would be plenty >>>>> good enough for the blacklist application. >>>> Just pass a depth parameter and trigger WARN_ON() and return -EINVAL >>>> when it exceeds ten. It's a five minute change and should be enough >>>> for kernel usages. >>> If this is ever expected to be used by userspace, I would not include >>> the WARN_ON. If this is a generic function, then I'll include in in >>> ftrace as well, and that takes userspace input. The last thing I want is >>> a DoS because of printk's to the serial console because some userspace >>> app is constantly writing bad patterns to this file. >> Well, then, how about printk_ratelimit()? Having one too many >> asterisk will be a very rare occasion and when it happens it's >> something which can easily escape attention, so I think some form of >> whining is in order. > > having the write fail with -EINVAL seems suitably whiney..
Yeah, I suppose so but that makes return value handling weird. -EINVAL for error, 0 for mis-match and 1 for match. Three-way returns are usually very sucky to handle and error-prone, so I was thinking about returning -EINVAL in the internal function and printing out the caller address and pattern on ratelimit or once.
Thanks.
-- tejun
| |