Andrew Morton <akpm@linux-foundation.org> wrote:Well, Kevin Coffman has reviewed it and tested it against his NFS keys patches. For this warning: ERROR: need space after that ',' (ctx:WxV) #627: FILE: security/keys/internal.h:28: +#define kenter(FMT, ...) no_printk("==> %s("FMT")\n",__FUNCTION__ ,##__VA_ARGS__) ^ This is with good reason. Some versions of cpp get the ## resolution "wrong" if __VA_ARGS__ is empty (ie: there are no arguments to the macro that correspond to the "..."). This can be worked around by abutting the "," the "##" and the "__VA_ARGS__" with no spaces, and inserting a space before the comma. If I remember correctly, the comma won't be removed if it doesn't abut the ##__VA_ARGS__, and the comma and everthing that abuts it on its LHS can be removed if there's also no space. Without the "##", the comma isn't removed. Consider the result of doing x("a"); where x(y, ...) is #defined to each of the folowing: DEFINITION RESULT =============================== ======================= printk(y, __VA_ARGS__) print(y, ); printk(y ,__VA_ARGS__) print(y ,); printk(y,##__VA_ARGS__) print(); printk(y, ##__VA_ARGS__) print(y, ); printk(y ,##__VA_ARGS__) print(y ); I'll change the comment to: /* make sure no one's trying to change or use the key when we mark it * - we tell lockdep that we might nest because we might be revoking an * authorisation key whilst holding the sem on a key we've just * instantiated */ I could, but that potentially wastes time in two ways: firstly, there can be an error before we've finished setting up, and that can lead to us having wasted the time spent making the copy; and secondly, the call to kstrdup itself wastes a bit of time because of the extra call made. On the other hand, the code might end up a bit shorter, and isn't particularly fast path anyway. Fixed. Kevin Coffman and Trond for the NFS stuff, both of whom are CC'd. David -
| Sunil Naidu | Re: Linux 2.6.20-rc6 |
| Alan Cox | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Chris Snook | Re: init's children list is long and slows reaping children. |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
git: | |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Eric W. Biederman | Re: [PATCH 10/11] avoid kobject name conflict with different namespaces |
